/* Style stron tresci (wlasciciel: agent stron). Dolaczany przez szablon po style.css. */

/* === strony informacyjne (agent info) === */
/* Strony: rules, faq, knowledge, commands, downloads (tresc w WWW/szablon/strony/*.html). Wszystko pod .bi-page. */
.bi-page { --bi-ink: var(--ink, #23164a); --bi-ink2: var(--ink-2, #4a3d6e); --bi-muted: var(--muted, #7a6d95);
	--bi-v: var(--v-600, #5226a3); --bi-v2: var(--v-400, #8a5be6); --bi-vbg: var(--v-100, #efe7fb);
	--bi-gold: var(--gold-500, #e6b54e); --bi-gold2: var(--gold-700, #b07a23); --bi-line: rgba(207, 154, 55, .55);
	color: var(--bi-ink); font-size: 14.5px; line-height: 1.6; }
/* jezyki: pokazany tylko blok aktywnego jezyka (klasa lang-xx na body); bez klasy - angielski */
.bi-page .i18n { display: none; }
body.lang-en .bi-page .i18n[data-lang="en"], body.lang-pl .bi-page .i18n[data-lang="pl"],
body.lang-pt .bi-page .i18n[data-lang="pt"],
body:not(.lang-pl):not(.lang-pt) .bi-page .i18n[data-lang="en"] { display: block; }
.bi-page a.bi-btn .i18n, .bi-page .bi-inline .i18n { margin: 0; }
.bi-page *, .bi-page *::before, .bi-page *::after { box-sizing: border-box; }
.bi-page img { max-width: 100%; }
.bi-page p { margin: 0 0 10px; }
.bi-page code, .bi-page .bi-cmd { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 12.8px;
	background: var(--bi-vbg); color: var(--bi-v); border: 1px solid rgba(138, 91, 230, .25); border-radius: 5px;
	padding: 1px 6px; white-space: nowrap; }
.bi-page .bi-cmd { font-weight: 700; }
.bi-page .bi-hash { word-break: break-all; white-space: normal; font-size: 12px; }

/* naglowek strony */
.bi-hero { display: flex; gap: 16px; align-items: center; padding: 16px 18px; margin: 0 0 16px; border-radius: 12px;
	background: linear-gradient(135deg, #2a1258 0%, #4f22a6 60%, #6a35cf 100%); color: #fff;
	border: 1px solid var(--bi-gold); box-shadow: 0 6px 18px rgba(42, 18, 88, .25), inset 0 0 0 2px rgba(255, 255, 255, .06); }
.bi-hero-ico { flex: 0 0 auto; width: 58px; height: 58px; border-radius: 14px; display: grid; place-items: center;
	background: radial-gradient(circle at 35% 30%, #fbe7ae, #cf9a37 70%, #8a5a17); border: 2px solid #fbe7ae;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .35); }
.bi-hero-ico img { width: 30px; height: 30px; object-fit: contain; filter: drop-shadow(0 1px 1px rgba(0, 0, 0, .35)); }
.bi-hero h2 { margin: 0 0 3px; font-family: var(--font-title, Georgia, serif); font-size: 22px; color: #fbe7ae !important;
	letter-spacing: .3px; line-height: 1.25; }
.bi-hero p { margin: 0; color: #efe7fb; font-size: 14px; }
.bi-badge { display: inline-block; vertical-align: middle; margin-left: 8px; padding: 1px 9px; border-radius: 999px;
	font: 800 10.5px/1.7 var(--font-body, sans-serif); letter-spacing: .6px; text-transform: uppercase;
	background: linear-gradient(180deg, #fbe7ae, #e6b54e 50%, #b07a23); color: #3a2205; border: 1px solid #fbe7ae; }

/* spis tresci (chipsy) */
.bi-toc { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 18px; padding: 0; list-style: none; }
.bi-toc a { display: inline-block; padding: 4px 11px; border-radius: 999px; font-size: 12.5px; font-weight: 700;
	background: #fff; color: var(--bi-v) !important; border: 1px solid rgba(138, 91, 230, .35); text-decoration: none; }
.bi-toc a:hover { background: var(--bi-vbg); border-color: var(--bi-gold); }

/* sekcje */
.bi-sec { margin: 0 0 22px; scroll-margin-top: 70px; }
.bi-sec > h3, .bi-h { display: flex; align-items: center; gap: 10px; margin: 0 0 10px; padding: 0 0 7px;
	font-family: var(--font-title, Georgia, serif); font-size: 18px; color: var(--bi-ink);
	border-bottom: 2px solid transparent; border-image: linear-gradient(90deg, var(--bi-gold), rgba(230, 181, 78, 0)) 1; }
.bi-sec > h3 img, .bi-h img { width: 24px; height: 24px; object-fit: contain; }
.bi-num { display: inline-grid; place-items: center; min-width: 26px; height: 26px; border-radius: 50%; font: 800 13px/1 var(--font-body, sans-serif);
	background: linear-gradient(180deg, #7b45e0, #4f22a6); color: #fff; border: 1px solid var(--bi-gold); }
.bi-sec h4 { margin: 12px 0 6px; font-size: 15px; color: var(--bi-v); font-family: var(--font-title, Georgia, serif); }
.bi-page ul.bi-list { margin: 0 0 10px; padding: 0; list-style: none; }
.bi-page ul.bi-list > li { position: relative; padding: 3px 0 3px 22px; }
.bi-page ul.bi-list > li::before { content: ""; position: absolute; left: 4px; top: 10px; width: 8px; height: 8px;
	transform: rotate(45deg); background: linear-gradient(135deg, #f4d27c, #b07a23); border-radius: 1px; }

/* karty */
.bi-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(215px, 1fr)); gap: 12px; margin: 0 0 14px; }
.bi-grid.two { grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); }
.bi-card { position: relative; padding: 12px 14px 12px; border-radius: 10px; background: linear-gradient(180deg, #fff 0%, #f8f3fd 100%);
	border: 1px solid var(--bi-line); box-shadow: 0 2px 6px rgba(42, 18, 88, .07); }
.bi-card h4 { display: flex; align-items: center; gap: 8px; margin: 0 0 6px; font-size: 15px; color: var(--bi-ink);
	font-family: var(--font-title, Georgia, serif); }
.bi-card h4 img { width: 22px; height: 22px; object-fit: contain; }
.bi-card p { margin: 0 0 6px; font-size: 13.5px; color: var(--bi-ink2); }
.bi-card p:last-child { margin-bottom: 0; }
.bi-where { display: inline-block; margin: 0 0 6px; padding: 0 8px; border-radius: 999px; font-size: 11.5px; font-weight: 700;
	background: var(--bi-vbg); color: var(--bi-v); }
.bi-tag { display: inline-block; padding: 0 7px; border-radius: 5px; font-size: 11.5px; font-weight: 800; line-height: 1.7;
	background: #fff6e0; color: #8a5a17; border: 1px solid #f4d27c; white-space: nowrap; }
.bi-tag.v { background: var(--bi-vbg); color: var(--bi-v); border-color: rgba(138, 91, 230, .35); }
.bi-tag.r { background: #fdecec; color: #b42328; border-color: #f3b7b9; }
.bi-tag.g { background: #e7f8ee; color: #17733d; border-color: #a9e2c0; }

/* tabele */
.bi-tablewrap { overflow-x: auto; margin: 0 0 14px; border-radius: 10px; border: 1px solid var(--bi-line); background: #fff; }
.bi-page table.bi-table { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.bi-table th { background: linear-gradient(180deg, #6a35cf, #4f22a6); color: #fff; text-align: left; font-weight: 700;
	padding: 7px 10px; font-family: var(--font-title, Georgia, serif); font-size: 13px; letter-spacing: .2px; white-space: nowrap; }
.bi-table td { padding: 6px 10px; border-top: 1px solid #eee4f8; vertical-align: top; }
.bi-table tr:nth-child(even) td { background: #faf7fe; }
.bi-table td:first-child { font-weight: 700; color: var(--bi-ink); }
.bi-table td.r, .bi-table th.r { text-align: right; white-space: nowrap; }

/* callout */
.bi-callout { display: flex; gap: 12px; align-items: flex-start; margin: 0 0 16px; padding: 11px 14px; border-radius: 10px;
	background: #f6f0fd; border: 1px solid rgba(138, 91, 230, .35); border-left: 5px solid var(--bi-v2); color: var(--bi-ink); }
.bi-callout::before { content: "i"; flex: 0 0 auto; display: grid; place-items: center; width: 24px; height: 24px; margin-top: 1px;
	border-radius: 50%; background: var(--bi-v2); color: #fff; font: 800 14px/1 Georgia, serif; }
.bi-callout.warn { background: #fff8e6; border-color: #f4d27c; border-left-color: #cf9a37; }
.bi-callout.warn::before { content: "!"; background: #cf9a37; }
.bi-callout.danger { background: #fdf0f0; border-color: #f3b7b9; border-left-color: #e5484d; }
.bi-callout.danger::before { content: "!"; background: #e5484d; }
.bi-callout.ok { background: #eefaf3; border-color: #a9e2c0; border-left-color: #2fb062; }
.bi-callout.ok::before { content: "\2713"; background: #2fb062; font-family: sans-serif; }
.bi-callout > div { min-width: 0; }
.bi-callout p { margin: 0 0 6px; }
.bi-callout p:last-child { margin: 0; }

/* kroki */
.bi-page ol.bi-steps { counter-reset: bi; margin: 0 0 14px; padding: 0; list-style: none; }
.bi-page ol.bi-steps > li { counter-increment: bi; position: relative; margin: 0 0 8px; padding: 2px 0 2px 38px; min-height: 28px; }
.bi-page ol.bi-steps > li::before { content: counter(bi); position: absolute; left: 0; top: 0; width: 28px; height: 28px;
	display: grid; place-items: center; border-radius: 50%; font: 800 13px/1 var(--font-body, sans-serif); color: #3a2205;
	background: linear-gradient(180deg, #fbe7ae, #e6b54e 55%, #b07a23); border: 1px solid #fbe7ae; box-shadow: 0 1px 3px rgba(0, 0, 0, .2); }

/* FAQ (details/summary, bez JS) */
.bi-faq { margin: 0 0 8px; border-radius: 10px; border: 1px solid var(--bi-line); background: #fff; overflow: hidden; }
.bi-faq > summary { cursor: pointer; list-style: none; padding: 10px 40px 10px 14px; position: relative; font-weight: 700;
	color: var(--bi-ink); background: linear-gradient(180deg, #fff, #f6f0fd); }
.bi-faq > summary::-webkit-details-marker { display: none; }
.bi-faq > summary::after { content: "+"; position: absolute; right: 12px; top: 50%; transform: translateY(-50%);
	width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; font: 800 15px/1 sans-serif;
	background: linear-gradient(180deg, #7b45e0, #4f22a6); color: #fff; border: 1px solid var(--bi-gold); }
.bi-faq[open] > summary::after { content: "\2212"; }
.bi-faq[open] > summary { border-bottom: 1px solid #eee4f8; }
.bi-faq > div { padding: 10px 14px 4px; color: var(--bi-ink2); }

/* mapa miasta (SVG) */
.bi-map { max-width: 680px; margin: 0 auto 14px; padding: 8px; border-radius: 12px; background: #1c0b3d; border: 1px solid var(--bi-gold); }
.bi-map svg { display: block; width: 100%; height: auto; }
.bi-map figcaption { margin: 6px 4px 0; font-size: 12px; color: #d9c9f6; }

/* download */
.bi-dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 14px; margin: 0 0 18px; }
.bi-os { scroll-margin-top: 70px; display: flex; flex-direction: column; gap: 8px; padding: 16px; border-radius: 12px;
	background: linear-gradient(180deg, #fff 0%, #f6f0fd 100%); border: 1px solid var(--bi-line); box-shadow: 0 3px 10px rgba(42, 18, 88, .09); }
.bi-os-head { display: flex; align-items: center; gap: 12px; }
.bi-os-logo { flex: 0 0 auto; width: 50px; height: 50px; border-radius: 12px; display: grid; place-items: center;
	background: linear-gradient(135deg, #2a1258, #6a35cf); border: 1px solid var(--bi-gold); }
.bi-os-logo svg { width: 28px; height: 28px; fill: #fbe7ae; }
.bi-os h3 { margin: 0; font-family: var(--font-title, Georgia, serif); font-size: 19px; color: var(--bi-ink); }
.bi-os-req { font-size: 12.5px; color: var(--bi-muted); }
.bi-os dl { display: grid; grid-template-columns: auto 1fr; gap: 3px 10px; margin: 0; font-size: 13px; }
.bi-os dt { font-weight: 700; color: var(--bi-ink2); }
.bi-os dd { margin: 0; min-width: 0; }
.bi-page a.bi-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; margin-top: 4px; padding: 9px 16px;
	border-radius: 9px; font-weight: 800; font-size: 14px; text-decoration: none; color: #fff !important;
	background: linear-gradient(180deg, #7b45e0 0%, #4f22a6 55%, #351377 100%); border: 1px solid var(--bi-gold);
	box-shadow: 0 2px 6px rgba(42, 18, 88, .3); }
.bi-page a.bi-btn:hover { filter: brightness(1.12); }
.bi-page a.bi-btn.off { pointer-events: none; opacity: .55; }

@media (max-width: 640px) {
	.bi-hero { flex-direction: column; text-align: center; padding: 14px; }
	.bi-hero h2 { font-size: 19px; }
	.bi-page { font-size: 14px; }
	.bi-table th, .bi-table td { padding: 6px 7px; }
}
/* === koniec: strony informacyjne (agent info) === */

/* === strony wbudowane MyAAC (agent wbudowane) === */
/* Ranking, postacie, online, konto, gildie, domy, zgony, server info, forum, archiwum, ekipa.
   Klasy b15w-* pochodza z nadpisan w views/; reszta to stara znaczniki MyAAC (tabele z bgcolor). */

/* --- Bestiariusz: Canary trzyma potwory w Lua, MyAAC ich nie wczyta -> pozycja ukryta w menu --- */
.b15-menu li:has(> a[href$="/monsters"]), .b15-menu li:has(> a[href$="=monsters"]) { display: none; }

/* --- naglowki i tekst w tresci --- */
.b15-content { color: var(--ink); }
.b15-content > h1:first-child, .b15-content h2, .b15-content h3 { letter-spacing: .02em; }
.b15-content h2 { font-size: 20px; margin: 14px 0 8px; }
.b15-content h3 { font-size: 16px; margin: 12px 0 6px; }
.b15-content .red, .b15-content .FormFieldError { color: var(--red); }
.b15-content small { color: var(--muted); }
.b15-gold, .b15w-gold { color: var(--gold-700); }

/* --- przyciski MyAAC (buttons.*) --- */
.b15-content input.b15w-btn, .b15-content a.b15w-btn, a.b15w-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 36px; padding: 8px 20px; border-radius: 8px; cursor: pointer;
	font-family: var(--font-title); font-weight: 700; font-size: 13px; letter-spacing: .03em;
	color: #fff !important; text-decoration: none !important; background-image: var(--violet-grad);
	border: 1px solid var(--gold-500);
	box-shadow: 0 0 0 1px #24104f, inset 0 1px 0 rgba(255,255,255,.3), 0 3px 6px rgba(40,10,90,.35);
}
.b15-content a.b15w-btn:hover { filter: brightness(1.15); }
.b15-content a.b15w-btn.ghost { background: #fff; color: var(--v-600) !important; box-shadow: 0 1px 3px rgba(40,10,90,.15); }
.b15-content a.b15w-btn.ghost:hover { background: var(--v-100); }
.b15w-actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; align-items: center; margin: 16px 0 6px; }
.b15w-actions form { margin: 0; }

/* --- karta (tables.headline i wlasne widoki) --- */
.b15w-card {
	margin: 0 0 16px; background: #fff; border-radius: 10px; overflow: hidden;
	border: 1px solid var(--gold-600);
	box-shadow: inset 0 0 0 3px rgba(255,255,255,.9), 0 2px 10px rgba(60,20,120,.12);
}
.b15w-card-head {
	display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
	padding: 9px 14px; background: var(--violet-grad); border-bottom: 2px solid var(--gold-500);
	color: #fff; font-family: var(--font-title); font-weight: 700; font-size: 15px; letter-spacing: .03em;
	text-shadow: 0 1px 2px rgba(0,0,0,.45);
}
.b15w-card-head .b15w-orn { color: var(--gold-400); font-size: 13px; }
.b15w-card-head .b15w-card-sub { margin-left: auto; font-family: var(--font-body); font-weight: 600; font-size: 12px; color: var(--gold-300); }
.b15w-card-head a, .b15w-card-head b { color: var(--gold-300); }
.b15w-card-body { padding: 12px 14px; }
.b15w-card-body > table:only-child, .b15w-card-body > form > table:only-child { width: 100%; }

/* --- komunikaty --- */
.b15w-alert { display: flex; gap: 12px; align-items: flex-start; margin: 0 0 16px; padding: 12px 14px; border-radius: 10px; border: 1px solid; }
.b15w-alert-ico { flex: 0 0 28px; height: 28px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-weight: 900; color: #fff; }
.b15w-alert-body ul { margin: 6px 0 0; padding-left: 18px; }
.b15w-alert-error { background: #fff3f4; border-color: #f0a8ac; color: #7a1d22; }
.b15w-alert-error .b15w-alert-ico { background: var(--red); }
.b15w-alert-ok { background: #f0fbf4; border-color: #9fdcb4; color: #1d5a33; }
.b15w-alert-ok .b15w-alert-ico { background: #2a9d57; }
.b15w-alert-title { display: block; font-family: var(--font-title); margin-bottom: 2px; }

/* --- stare tabele MyAAC: naglowek = wiersz z bgcolor vdarkborder (#4f22a6), paski = darkborder/lightborder --- */
.b15-content table { border-collapse: separate; border-spacing: 0; }
.b15-content table[width="100%"], .b15-content table[style*="width:100%"], .b15-content table[style*="width: 100%"] { width: 100%; }
.b15-content table:has(> tbody > tr[bgcolor="#4f22a6"]:first-child),
.b15-content table:has(> thead > tr[bgcolor="#4f22a6"]),
.b15-content table:has(> tr[bgcolor="#4f22a6"]:first-child) {
	margin: 0 0 14px; background: #fff; border: 1px solid var(--gold-600); border-radius: 10px; overflow: hidden;
	box-shadow: 0 2px 8px rgba(60,20,120,.10);
}
.b15-content tr[bgcolor="#4f22a6"] > td, .b15-content tr[bgcolor="#4f22a6"] > th,
.b15-content .myaac-table > thead > tr > td, .b15-content .myaac-table > thead > tr > th,
.b15-content tr.LabelH > td, .b15-content tr.LabelH > th,
.b15-content th {
	background: var(--violet-grad) !important; color: #fff !important;
	font-family: var(--font-title); font-weight: 700; font-size: 13px; letter-spacing: .03em; text-align: left;
	padding: 9px 10px; border-bottom: 2px solid var(--gold-500); text-shadow: 0 1px 2px rgba(0,0,0,.4);
}
.b15-content tr[bgcolor="#4f22a6"] > td a, .b15-content tr.LabelH a, .b15-content th a { color: var(--gold-300); }
.b15-content tr[bgcolor="#e7dcf5"], .b15-content tr[style*="#e7dcf5"] { background: #f6f1fd !important; }
.b15-content tr[bgcolor="#f6f1fc"], .b15-content tr[style*="#f6f1fc"] { background: #fff !important; }
.b15-content tr[bgcolor="#e7dcf5"] > td, .b15-content tr[bgcolor="#f6f1fc"] > td,
.b15-content tr.Odd > td, .b15-content tr.Even > td { padding: 8px 10px; border-bottom: 1px solid #efe7f8; vertical-align: middle; }
.b15-content tr[bgcolor]:not([bgcolor="#4f22a6"]):hover > td { background: rgba(138,91,230,.07); }
.b15-content td.LabelV, .b15-content td.LabelV150, .b15-content td.LabelV175, .b15-content td.LabelV200 {
	font-weight: 700; color: var(--ink-2); white-space: nowrap; width: 1%; padding-right: 14px;
}
/* resztki ramek tibiacom (obrazki z innego szablonu - nie istnieja) */
.b15-content .TableShadowContainerRightTop, .b15-content .TableShadowContainer, .b15-content .TableBottomShadow,
.b15-content .BoxFrameHorizontal, .b15-content .BoxFrameEdgeLeftTop, .b15-content .BoxFrameEdgeRightTop,
.b15-content .BoxFrameEdgeLeftBottom, .b15-content .BoxFrameEdgeRightBottom, .b15-content .BoxFrameVerticalLeft,
.b15-content .BoxFrameVerticalRight, .b15-content .AttentionSign { display: none !important; }
.b15-content .TableContentAndRightShadow { background: none !important; }
.b15-content .TableContainer { box-shadow: 0 2px 8px rgba(60,20,120,.10); border-color: var(--gold-600); border-radius: 10px; }
.b15-content .TableContainer > table { width: 100%; }
.b15-content .CaptionContainer { border-bottom: 2px solid var(--gold-500); }
.b15-content .CaptionContainer .Text { font-size: 15px; padding: 9px 14px; text-shadow: 0 1px 2px rgba(0,0,0,.45); }
.b15-content .InnerTableContainer { padding: 10px 12px; }
.b15-content .InnerTableContainer > table td { padding: 6px 8px; }
.b15-content .SmallBox { margin: 0 0 14px; }
.b15-content .ErrorMessage { padding: 12px 14px; border-radius: 10px; background: #fff3f4; border: 1px solid #f0a8ac; color: #7a1d22; }
.b15-content .Border_2, .b15-content .Border_3, .b15-content .BoxContent { background: none !important; border: 0 !important; padding: 0 !important; }

/* wyglad postaci z outfit-images (MyAAC daje position:absolute pod inny szablon) */
.b15-content img[src*="outfit.php"], .b15-content img[src*="outfit-images"] {
	position: static !important; margin: -18px -6px -10px -14px !important; width: 64px; height: 64px; vertical-align: middle;
}
.b15w-outfit { display: inline-block; width: 64px; height: 64px; position: relative; }
.b15w-outfit img { margin: 0 !important; }
.b15w-podium .b15w-outfit, .b15w-podium .b15w-outfit img { width: 80px !important; height: 80px !important; image-rendering: pixelated; }
.b15w-outfit.sm { width: 40px; height: 40px; overflow: visible; }
.b15w-outfit.sm img { width: 56px; height: 56px; margin: -14px 0 0 -14px !important; }

/* pola formularzy */
.b15-content input[type=checkbox], .b15-content input[type=radio] { accent-color: var(--v-500); width: 16px; height: 16px; vertical-align: -3px; }
.b15-content textarea { width: 100%; min-height: 110px; }
.b15-content label { cursor: pointer; }

/* --- wspolne elementy nadpisanych widokow --- */
.b15w-hs-title { text-align: center; margin: 4px 0 12px; }
.b15w-hs-title h2 { margin: 0; font-size: 22px; }
.b15w-hs-title h2 small { font-size: 14px; color: var(--muted); }
.b15w-hs-title p { margin: 2px 0 0; color: var(--muted); font-size: 12.5px; }
.b15w-intro { margin: 2px 0 14px; color: var(--ink-2); }
.b15w-note { text-align: center; color: var(--muted); font-size: 12.5px; margin: 10px 0 0; }
.b15w-empty { padding: 26px 10px; text-align: center; color: var(--muted); font-style: italic; background: #fff; border: 1px dashed #d6c6ef; border-radius: 10px; }

.b15w-filter { display: flex; align-items: flex-start; gap: 10px; margin: 0 0 8px; }
.b15w-filter-label { flex: 0 0 92px; padding-top: 6px; font-family: var(--font-title); font-weight: 700; font-size: 12.5px; color: var(--ink-2); text-transform: uppercase; letter-spacing: .05em; }
.b15w-pills { display: flex; flex-wrap: wrap; gap: 6px; }
a.b15w-pill {
	display: inline-flex; align-items: center; gap: 5px; padding: 5px 13px; border-radius: 999px;
	font-weight: 700; font-size: 12.5px; color: var(--ink-2); text-decoration: none;
	background: linear-gradient(180deg, #fff, #efe8f8); border: 1px solid #d9c9f0; box-shadow: 0 1px 2px rgba(60,20,120,.08);
}
a.b15w-pill:hover { border-color: var(--v-400); color: var(--v-600); text-decoration: none; }
a.b15w-pill.is-active { color: #fff; background: var(--violet-grad); border-color: var(--gold-500); box-shadow: 0 0 0 1px #24104f; }
.b15w-voc-ico { font-size: 13px; line-height: 1; color: var(--v-500); font-family: 'Segoe UI Symbol', 'Apple Symbols', 'Noto Sans Symbols 2', sans-serif; }
a.b15w-pill.is-active .b15w-voc-ico { color: var(--gold-300); }

.b15w-tablewrap { overflow-x: auto; margin: 12px 0 0; border: 1px solid var(--gold-600); border-radius: 10px; background: #fff; box-shadow: 0 2px 8px rgba(60,20,120,.10); }
.b15-content table.b15w-table { width: 100%; margin: 0; border: 0; box-shadow: none; }
.b15w-table td { padding: 8px 10px; border-bottom: 1px solid #efe7f8; vertical-align: middle; }
.b15w-table tbody tr:nth-child(even) td { background: #f8f4fd; }
.b15w-table tbody tr:hover td { background: #f0e8fb; }
.b15w-table tbody tr:last-child td { border-bottom: 0; }
.b15w-table .c-num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.b15w-table .c-rank { width: 46px; text-align: center; }
.b15w-table .c-outfit { width: 44px; padding: 4px 6px; }
.b15w-rank { display: inline-flex; align-items: center; justify-content: center; min-width: 28px; height: 28px; padding: 0 6px; border-radius: 50%; font-weight: 800; font-size: 12.5px; color: var(--v-700); background: var(--v-100); border: 1px solid #d9c9f0; }
.b15w-name { font-weight: 800; color: var(--v-700); }
.b15w-sub { display: block; font-size: 11.5px; }
.b15w-dot { display: inline-block; width: 8px; height: 8px; margin-left: 5px; border-radius: 50%; background: #bbb; vertical-align: middle; }
.b15w-dot.on { background: var(--green); box-shadow: 0 0 6px var(--green); }

/* podium TOP 3 */
.b15w-podium { display: grid; grid-template-columns: 1fr 1.12fr 1fr; gap: 12px; align-items: end; margin: 14px 0 4px; }
a.b15w-podium-card {
	position: relative; display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 22px 8px 12px;
	border-radius: 12px; text-decoration: none !important; text-align: center; color: var(--ink);
	background: linear-gradient(180deg, #fff, #f3ecfb); border: 1px solid var(--gold-600);
	box-shadow: inset 0 0 0 3px rgba(255,255,255,.9), 0 4px 12px rgba(60,20,120,.15);
	transition: transform .15s;
}
a.b15w-podium-card:hover { transform: translateY(-2px); }
.b15w-place-1 { order: 2; padding-top: 30px !important; background: linear-gradient(180deg, #fff9e8, #f6e7bf) !important; border: 2px solid var(--gold-500) !important; }
.b15w-place-2 { order: 1; }
.b15w-place-3 { order: 3; }
.b15w-medal {
	position: absolute; top: -14px; left: 50%; transform: translateX(-50%);
	width: 30px; height: 30px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
	font-family: var(--font-title); font-weight: 900; color: #3a2205; background: var(--gold-grad);
	border: 2px solid #fff; box-shadow: 0 0 0 1px var(--gold-700), 0 2px 4px rgba(0,0,0,.3);
}
.b15w-place-2 .b15w-medal { background: linear-gradient(180deg, #fafafa, #bfc3cc); }
.b15w-place-3 .b15w-medal { background: linear-gradient(180deg, #f6d3b0, #b9773d); }
.b15w-podium-name { font-family: var(--font-title); font-weight: 700; font-size: 15px; color: var(--v-700); word-break: break-word; }
.b15w-podium-voc { font-size: 12px; color: var(--muted); }
.b15w-podium-val { font-size: 12.5px; color: var(--ink-2); }
.b15w-podium-val b { color: var(--gold-700); font-size: 15px; }

.b15w-pager { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin: 14px 0 0; }
.b15w-pager-info { color: var(--muted); font-size: 12.5px; }

/* --- server info --- */
.b15w-rates { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin: 0 0 16px; }
.b15w-rate {
	display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 12px 6px; border-radius: 10px; text-align: center;
	background: radial-gradient(ellipse at 50% 0%, #5a2bb5, #2a1258 80%); border: 2px solid var(--gold-500);
	box-shadow: 0 0 0 2px #1a0838, 0 4px 10px rgba(30,5,70,.3);
}
.b15w-rate .k { font-size: 11.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--v-200); }
.b15w-rate .v { font-family: var(--font-title); font-weight: 900; font-size: 26px; line-height: 1.1; color: var(--gold-400); text-shadow: 0 2px 2px rgba(0,0,0,.5); }
.b15w-rate .v a { color: var(--gold-400); font-size: 18px; }
.b15w-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; align-items: start; }
.b15w-dl { display: grid; grid-template-columns: auto 1fr; gap: 0; margin: 0; }
.b15w-dl dt, .b15w-dl dd { margin: 0; padding: 6px 4px; border-bottom: 1px solid #efe7f8; }
.b15w-dl dt { color: var(--ink-2); font-weight: 700; padding-right: 14px; }
.b15w-dl dd { text-align: right; font-weight: 700; color: var(--v-700); }
.b15w-dl dt:nth-last-child(2), .b15w-dl dd:last-child { border-bottom: 0; }
.b15w-checks { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 6px 12px; }
.b15w-checks li { position: relative; padding-left: 24px; font-weight: 700; }
.b15w-checks li::before { content: '✔'; position: absolute; left: 0; top: 0; width: 18px; height: 18px; border-radius: 50%; font-size: 11px; display: flex; align-items: center; justify-content: center; color: #fff; background: #2a9d57; }
.b15w-checks li.off { color: var(--muted); font-weight: 600; }
.b15w-checks li.off::before { content: '✕'; background: #b9b0c9; }

/* --- formularze (tworzenie postaci) --- */
.b15w-form-row { display: grid; grid-template-columns: 130px 1fr; gap: 10px 16px; align-items: center; padding: 10px 0; border-bottom: 1px solid #efe7f8; }
.b15w-form-row:last-of-type { border-bottom: 0; }
.b15w-form-row-top { align-items: start; }
.b15w-label { font-family: var(--font-title); font-weight: 700; color: var(--ink-2); }
.b15w-field input { width: min(320px, 100%); }
.b15w-field img { vertical-align: middle; margin-left: 6px; }
.b15w-hint { font-size: 12px; color: var(--muted); margin-top: 4px; }
.b15w-choice { display: flex; flex-wrap: wrap; gap: 10px; }
.b15w-choice > input[type=radio] { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.b15w-choice > label {
	display: inline-flex; align-items: center; gap: 8px; padding: 8px 16px; border-radius: 10px; font-weight: 700;
	background: linear-gradient(180deg, #fff, #f3ecfb); border: 1px solid #d9c9f0; color: var(--ink-2);
	box-shadow: 0 1px 3px rgba(60,20,120,.08); transition: border-color .15s, box-shadow .15s;
}
.b15w-choice > label:hover { border-color: var(--v-400); }
.b15w-choice > input:focus-visible + label { outline: 2px solid var(--v-500); outline-offset: 2px; }
.b15w-choice > input:checked + label { border: 2px solid var(--gold-500); color: var(--v-700); background: linear-gradient(180deg, #fffaf0, #f6ecd2); box-shadow: 0 0 0 2px rgba(106,53,207,.25), 0 3px 10px rgba(60,20,120,.18); }
.b15w-choice-ico { font-size: 16px; color: var(--v-500); }
.b15w-choice-voc { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
.b15w-choice-voc > label { flex-direction: column; text-align: center; gap: 4px; padding: 14px 10px; height: 100%; }
.b15w-voc-badge {
	width: 46px; height: 46px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 22px;
	background: radial-gradient(circle at 35% 30%, #8b5cf0, #3a1a78 70%); border: 2px solid var(--gold-500);
	box-shadow: 0 0 0 1px rgba(0,0,0,.3), inset 0 1px 2px rgba(255,255,255,.35);
	color: var(--gold-300); font-family: 'Segoe UI Symbol', 'Apple Symbols', 'Noto Sans Symbols 2', sans-serif; text-shadow: 0 1px 2px rgba(0,0,0,.5);
}
.b15w-voc-name { font-family: var(--font-title); font-weight: 700; font-size: 15px; color: var(--v-700); }
.b15w-voc-desc { font-weight: 600; font-size: 12px; line-height: 1.35; color: var(--muted); }

/* --- Bestiariusz / czary (dane tylko w grze) --- */
.b15w-ingame { text-align: center; padding: 26px 16px 18px; border-radius: 12px; background: radial-gradient(ellipse at 50% 0%, #f6efff, #fff 70%); border: 1px solid var(--gold-600); }
.b15w-ingame-ico { display: inline-flex; width: 70px; height: 70px; border-radius: 50%; align-items: center; justify-content: center; font-size: 32px; background: radial-gradient(circle at 35% 30%, #8b5cf0, #3a1a78 70%); border: 3px solid var(--gold-500); box-shadow: 0 0 0 2px #1a0838; }
.b15w-ingame h2 { margin: 12px 0 6px; }
.b15w-ingame p { max-width: 560px; margin: 0 auto 10px; color: var(--ink-2); }
.b15w-ingame-links { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; margin-top: 14px !important; }

/* --- strony bez widoku twig (tekst z PHP MyAAC): highscores-notka, rekordy, bany, etapy, odzyskiwanie --- */
body[class*="page-highscores"] .b15-content > small:first-child,
body[class*="page-highscores"] .b15-content > small:first-child + br,
body[class*="page-highscores"] .b15-content > small:first-child + br + br { display: none; }
body.page-records .b15-content, body.page-bans .b15-content, body.page-exp-stages .b15-content, body.page-account-lost .b15-content,
body.page-commands .b15-content, body.page-gallery .b15-content {
	padding: 4px 0;
}

/* --- karta postaci --- */
.b15w-char-hero {
	position: relative; display: flex; align-items: center; gap: 18px; margin: 0 0 16px; padding: 16px 18px;
	border-radius: 12px; color: #fff; border: 2px solid var(--gold-500);
	background: radial-gradient(ellipse at 15% 50%, #6b3bd0, #2a1258 70%);
	box-shadow: 0 0 0 3px #1a0838, 0 6px 16px rgba(30,5,70,.35);
}
.b15w-char-outfit { flex: 0 0 104px; height: 104px; border-radius: 50%; display: flex; align-items: center; justify-content: center; overflow: hidden;
	background: radial-gradient(circle at 50% 40%, #fff7e0, #e9d8ff 70%); border: 3px solid var(--gold-500); box-shadow: 0 0 0 3px #1a0838, inset 0 2px 6px rgba(0,0,0,.25); }
.b15-content .b15w-char-outfit img { width: 128px !important; height: 128px !important; margin: -36px 0 0 -36px !important; image-rendering: pixelated; }
.b15w-char-outfit-empty .b15w-voc-badge { width: 70px; height: 70px; font-size: 32px; }
.b15w-char-main { min-width: 0; }
.b15-content h2.b15w-char-name { margin: 0 0 6px; font-size: 26px; color: var(--gold-300); text-shadow: 0 2px 3px rgba(0,0,0,.5); word-break: break-word; }
.b15w-char-name small { font-size: 12px; color: var(--v-200); }
.b15w-char-line { display: flex; flex-wrap: wrap; gap: 6px; }
.b15w-char-guild { margin-top: 8px; font-weight: 700; color: var(--v-100); }
.b15w-char-guild a { color: var(--gold-300); }
.b15w-char-edit { position: absolute; top: 10px; right: 10px; min-height: 0 !important; padding: 4px 10px !important; font-size: 11px !important; }
.b15w-tag { display: inline-flex; align-items: center; gap: 5px; padding: 3px 10px; border-radius: 999px; font-size: 12px; font-weight: 800; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.3); color: inherit; }
.b15w-tag .b15w-dot { margin: 0; }
.b15w-tag-gold { background: var(--gold-grad); color: #3a2205; border-color: #fff3; }
.b15w-card .b15w-tag, .b15w-table .b15w-tag { background: var(--v-100); border-color: #d9c9f0; color: var(--v-700); }
.b15w-card .b15w-tag-on, .b15w-tag-on { background: #e5f8ec; border-color: #9fdcb4; color: #1d6b3c; }
.b15w-card .b15w-tag-off, .b15w-table .b15w-tag-off { background: #fdecee; border-color: #f0a8ac; color: #9b2229; }
.b15w-dl-left dd { text-align: left; }
.b15w-break { word-break: break-word; }
.b15w-skills { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
.b15w-skills li { display: flex; justify-content: space-between; padding: 6px 2px; border-bottom: 1px solid #efe7f8; }
.b15w-skills li:last-child { border-bottom: 0; }
.b15w-skills b { color: var(--v-700); }
.b15w-eq { display: flex; justify-content: center; gap: 4px; padding: 6px; }
.b15w-eq-col { display: flex; flex-direction: column; gap: 4px; }
.b15w-eq-col:nth-child(odd) { padding-top: 18px; }
.b15w-eq-col > span { width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; border-radius: 6px; background: linear-gradient(180deg, #3b2a63, #241640); border: 1px solid var(--gold-700); box-shadow: inset 0 1px 3px rgba(0,0,0,.5); }
.b15w-eq-col img { width: 32px; height: 32px; }
.b15w-eq-skull { align-self: center; }
.b15w-card-body.b15w-flush { padding: 0; }
.b15w-date { width: 1%; white-space: nowrap; color: var(--muted); font-size: 12.5px; }

/* --- wyszukiwarka postaci --- */
.b15w-search { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: 14px 0 6px; padding: 12px 14px; border-radius: 12px; background: linear-gradient(180deg, #fff, #f3ecfb); border: 1px solid var(--gold-600); box-shadow: 0 2px 8px rgba(60,20,120,.10); }
.b15w-search-ico { width: 34px; height: 34px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 18px; color: var(--gold-300); background: var(--violet-grad); border: 2px solid var(--gold-500); transform: rotate(-45deg); }
.b15w-search-label { font-family: var(--font-title); font-weight: 700; color: var(--ink-2); }
.b15-content .b15w-search input[name=name] { flex: 1 1 200px; min-width: 0; }
.b15-content .b15w-search input.b15w-btn { min-height: 36px; padding: 6px 16px; font-size: 16px; }

/* --- logowanie --- */
.b15w-auth { display: flex; justify-content: center; padding: 8px 0 4px; }
.b15-content form.b15w-auth-card { position: relative; width: min(440px, 100%); margin: 26px 0 8px; padding: 34px 26px 22px; display: flex; flex-direction: column; gap: 6px; background: linear-gradient(180deg, #fff, #f7f2fd); overflow: visible; }
.b15w-auth-emblem { position: absolute; top: -26px; left: 50%; transform: translateX(-50%); width: 52px; height: 52px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 26px; color: var(--gold-300); background: radial-gradient(circle at 35% 30%, #8b5cf0, #3a1a78 70%); border: 3px solid var(--gold-500); box-shadow: 0 0 0 2px #1a0838, 0 4px 10px rgba(30,5,70,.35); }
.b15-content h2.b15w-auth-title { margin: 0; text-align: center; font-size: 22px; }
.b15w-auth-sub { margin: 0 0 8px; text-align: center; color: var(--muted); font-size: 12.5px; }
.b15w-flabel { margin-top: 6px; font-weight: 800; font-size: 12.5px; color: var(--ink-2); }
.b15-content .b15w-auth-card input[type=text], .b15-content .b15w-auth-card input[type=password] { width: 100%; padding: 10px 12px; }
.b15w-auth-row { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; margin: 8px 0 10px; font-size: 13px; }
.b15w-check { display: inline-flex; align-items: center; gap: 6px; }
.b15-content input.b15w-btn-wide { width: 100%; min-height: 42px; font-size: 15px; }
.b15w-auth-alt { display: flex; align-items: center; justify-content: center; gap: 10px; flex-wrap: wrap; margin-top: 14px; padding-top: 14px; border-top: 1px solid #ece2f8; color: var(--ink-2); font-size: 13px; }
.b15-content a.b15w-btn.gold { background-image: var(--gold-grad); color: #3a2205 !important; }

/* --- domy --- */
.b15w-choice-sm { gap: 6px; }
.b15w-choice-sm > label { padding: 5px 13px; border-radius: 999px; font-size: 12.5px; }
.b15w-choice-sm > input:checked + label { border-width: 1px; color: #fff; background: var(--violet-grad); border-color: var(--gold-500); box-shadow: 0 0 0 1px #24104f; }
.b15w-house-filter .b15w-filter { margin: 0 0 6px; align-items: center; }
.b15w-house-filter .b15w-filter:last-child { margin: 0; }
.b15w-house-filter .b15w-filter-label { padding-top: 0; }
.b15-content input.b15w-house-go { margin-left: auto; min-height: 32px; padding: 4px 14px; }
.b15w-count { margin: 0 0 -4px; text-align: right; font-size: 12px; color: var(--muted); }

.b15-content td > img { max-width: none; }

/* --- panel konta --- */
.b15w-acc { display: grid; grid-template-columns: 200px 1fr; gap: 18px; align-items: start; }
.b15w-acc-nav { position: sticky; top: 12px; display: flex; flex-direction: column; gap: 4px; padding: 10px; border-radius: 12px;
	background: radial-gradient(ellipse at 50% 0%, #4a1f95, #1d0b40 85%); border: 2px solid var(--gold-500); box-shadow: 0 0 0 2px #1a0838, 0 6px 14px rgba(30,5,70,.3); }
.b15w-acc-nav a { display: block; padding: 8px 10px; border-radius: 8px; font-weight: 700; font-size: 13px; color: var(--v-100); text-decoration: none; border: 1px solid transparent; }
.b15w-acc-nav a:hover { background: rgba(138,91,230,.35); border-color: rgba(244,210,124,.4); color: #fff; text-decoration: none; }
.b15w-acc-nav a.is-active { color: #fff; background: linear-gradient(90deg, rgba(150,100,240,.6), rgba(90,40,180,.3)); border-color: rgba(244,210,124,.7); }
.b15w-acc-nav a.b15w-acc-logout { margin-top: 6px; border-top: 1px solid rgba(244,210,124,.3); border-radius: 0 0 8px 8px; color: var(--gold-300); }
.b15w-acc-main { min-width: 0; }
.b15w-acc-hello { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin: 0 0 14px; padding: 14px 16px; border-radius: 12px; background: linear-gradient(180deg, #fff, #f3ecfb); border: 1px solid var(--gold-600); }
.b15-content .b15w-acc-hello h2 { margin: 0; font-size: 20px; }
.b15w-acc-hello p { margin: 2px 0 0; color: var(--muted); }
.b15w-acc-hello form { margin: 0; }
.b15-content input.b15w-btn.gold, .b15-content a.b15w-btn.gold { background-image: var(--gold-grad) !important; color: #3a2205 !important; border-image: none !important; border: 1px solid var(--gold-700) !important; box-shadow: 0 0 0 1px #5a3a0a, inset 0 1px 0 rgba(255,255,255,.5), 0 3px 6px rgba(40,10,90,.3) !important; }
.b15w-alert-warn { background: #fff9ec; border-color: #ecd193; color: #6b4a0e; }
.b15w-alert-warn .b15w-alert-ico { background: var(--gold-600); font-size: 14px; }
.b15w-alert-body form { display: inline-block; margin: 8px 0 0; }
.b15w-tablewrap-flat { margin: 0; border: 0; border-radius: 0; box-shadow: none; }
.b15w-empty-flat { border: 0; border-radius: 0; }
.b15w-actions-left { justify-content: flex-start; margin: 12px 0 0; }
a.b15w-mini { display: inline-flex; width: 28px; height: 28px; align-items: center; justify-content: center; border-radius: 50%; background: var(--v-100); border: 1px solid #d9c9f0; text-decoration: none !important; }
a.b15w-mini:hover { background: var(--v-200); }

/* --- zakladanie konta --- */
.b15w-create .b15w-field input, .b15w-create .b15w-field select { width: min(340px, 100%); }
.b15w-create .FormFieldError:empty { display: none; }
.b15w-create .FormFieldError { color: var(--red); font-weight: 700; }
.b15w-rules .b15w-check { display: block; }
.b15w-rules { margin: 4px 0 0; padding: 12px 14px; border-radius: 10px; background: #fff; border: 1px solid #e3d6f3; }
.b15-content input.b15w-btn-big { min-height: 44px; padding: 10px 34px; font-size: 15px; }

/* --- telefon --- */
@media (max-width: 860px) {
	.b15w-grid2 { grid-template-columns: 1fr; }
	.b15w-acc { grid-template-columns: 1fr; }
	.b15w-acc-nav { position: static; flex-direction: row; flex-wrap: wrap; }
	.b15w-acc-nav a { flex: 1 1 auto; text-align: center; font-size: 12px; padding: 6px 8px; }
	.b15w-acc-nav a.b15w-acc-logout { margin-top: 0; border-top: 0; border-radius: 8px; }
	.b15w-rates { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 560px) {
	.b15w-char-hero { flex-direction: column; text-align: center; padding: 18px 12px 14px; }
	.b15w-char-line { justify-content: center; }
	.b15w-search-label { flex: 1 0 60%; }
	.b15w-filter { flex-direction: column; gap: 4px; }
	.b15w-filter-label { flex: none; padding: 0; }
	.b15w-pills { gap: 5px; }
	a.b15w-pill { padding: 4px 10px; font-size: 12px; }
	.b15w-podium { gap: 8px; }
	a.b15w-podium-card { padding: 18px 4px 8px; }
	.b15w-podium-name { font-size: 13px; }
	.b15w-podium-val b { font-size: 13px; }
	.b15w-table .c-exp, .b15w-table .c-hide-sm { display: none; }
	.b15w-table td, .b15-content tr[bgcolor] > td { padding: 7px 6px; }
	.b15w-rates { grid-template-columns: repeat(2, 1fr); }
	.b15w-rate:first-child { grid-column: 1 / -1; }
	.b15w-form-row { grid-template-columns: 1fr; gap: 6px; }
	.b15w-choice-voc { grid-template-columns: 1fr 1fr; }
	.b15w-checks { grid-template-columns: 1fr; }
	.b15w-dl { grid-template-columns: 1fr auto; }
	.b15-content td.LabelV, .b15-content td.LabelV150, .b15-content td.LabelV175, .b15-content td.LabelV200 { white-space: normal; }
}
/* === koniec: strony wbudowane MyAAC (agent wbudowane) === */

/* === strony gry (agent gra) === */
/* Strony: map, bestiary, missions, tasks, events, bots (zrodla WWW/szablon/strony/*.html, generator
   WWW/_narzedzia_strony/generuj_strony.py). Wszystko pod .bg-page. */
.bg-page { --bg-ink: var(--ink, #23164a); --bg-ink2: var(--ink-2, #4a3d6e); --bg-muted: var(--muted, #7a6d95);
	--bg-v: var(--v-600, #5226a3); --bg-v2: var(--v-400, #8a5be6); --bg-vbg: var(--v-100, #efe7fb);
	--bg-gold: var(--gold-500, #e6b54e); --bg-gold2: var(--gold-700, #b07a23); --bg-line: rgba(207, 154, 55, .5);
	color: var(--bg-ink); font-size: 14.5px; line-height: 1.6; }
.bg-page *, .bg-page *::before, .bg-page *::after { box-sizing: border-box; }
/* jezyki: tylko blok aktywnego jezyka (klasa lang-xx na body); bez klasy - angielski */
.bg-page .i18n { display: none; }
body.lang-en .bg-page .i18n[data-lang="en"], body.lang-pl .bg-page .i18n[data-lang="pl"],
body.lang-pt .bg-page .i18n[data-lang="pt"],
body:not(.lang-pl):not(.lang-pt) .bg-page .i18n[data-lang="en"] { display: block; }
body.lang-en .bg-page span.i18n[data-lang="en"], body.lang-pl .bg-page span.i18n[data-lang="pl"],
body.lang-pt .bg-page span.i18n[data-lang="pt"],
body:not(.lang-pl):not(.lang-pt) .bg-page span.i18n[data-lang="en"] { display: inline; }
.bg-page p { margin: 0 0 10px; }
.bg-page a { color: var(--bg-v); }
.bg-page code { padding: 1px 6px; border-radius: 6px; background: var(--bg-vbg); color: var(--bg-v);
	font: 600 12.5px/1.5 Consolas, Menlo, monospace; white-space: nowrap; }
/* naglowek */
.bg-hero { position: relative; overflow: hidden; display: flex; gap: 16px; align-items: center; padding: 18px 20px;
	margin: 0 0 16px; border-radius: 12px; color: #fff; border: 1px solid var(--bg-gold);
	background: radial-gradient(circle at 92% 10%, rgba(244, 210, 124, .28), transparent 42%),
		linear-gradient(135deg, #1c0b3d 0%, #3a1a78 55%, #6a35cf 100%);
	box-shadow: 0 6px 18px rgba(42, 18, 88, .25), inset 0 0 0 2px rgba(255, 255, 255, .06); }
.bg-hero-ico { flex: 0 0 auto; width: 58px; height: 58px; border-radius: 14px; display: grid; place-items: center;
	font-size: 28px; line-height: 1; background: radial-gradient(circle at 35% 30%, #fbe7ae, #cf9a37 70%, #8a5a17);
	border: 2px solid #fbe7ae; box-shadow: 0 2px 8px rgba(0, 0, 0, .35); }
.bg-hero h2 { margin: 0 0 4px; font-family: var(--font-title, Georgia, serif); font-size: 22px; line-height: 1.25;
	color: #fbe7ae !important; letter-spacing: .3px; }
.bg-hero p { margin: 0; color: #efe7fb; font-size: 14px; }
.bg-stats { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0 0; }
.bg-stat { padding: 3px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; color: #3a2205;
	background: linear-gradient(180deg, #fbe7ae, #e6b54e 55%, #cf9a37); border: 1px solid #fbe7ae; }
/* spis tresci */
.bg-toc { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 18px; padding: 0; list-style: none; }
.bg-toc a { display: inline-block; padding: 4px 11px; border-radius: 999px; font-size: 12.5px; font-weight: 700;
	background: #fff; color: var(--bg-v) !important; border: 1px solid rgba(138, 91, 230, .35); text-decoration: none; }
.bg-toc a:hover { background: var(--bg-vbg); border-color: var(--bg-gold); }
/* sekcje */
.bg-sec { margin: 0 0 24px; scroll-margin-top: 70px; }
.bg-sec > h3 { display: flex; align-items: center; gap: 10px; margin: 0 0 10px; padding: 0 0 7px;
	font-family: var(--font-title, Georgia, serif); font-size: 18px; color: var(--bg-ink);
	border-bottom: 2px solid transparent; border-image: linear-gradient(90deg, var(--bg-gold), rgba(230, 181, 78, 0)) 1; }
.bg-sec h4 { margin: 14px 0 6px; font-size: 15px; color: var(--bg-v); font-family: var(--font-title, Georgia, serif); }
.bg-ico { display: inline-grid; place-items: center; min-width: 28px; height: 28px; border-radius: 50%; font-size: 15px;
	background: linear-gradient(180deg, #7b45e0, #4f22a6); color: #fff; border: 1px solid var(--bg-gold); }
.bg-muted { color: var(--bg-muted); font-size: 13px; }
/* karty */
.bg-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 12px; margin: 0 0 14px; }
.bg-card { position: relative; padding: 12px 14px; border-radius: 10px; background: linear-gradient(180deg, #fff, #f7f2fd);
	border: 1px solid rgba(138, 91, 230, .25); box-shadow: 0 2px 8px rgba(42, 18, 88, .07); }
.bg-card h5 { margin: 0 0 4px; font: 700 15px/1.3 var(--font-title, Georgia, serif); color: var(--bg-ink); }
.bg-card p { margin: 0 0 6px; font-size: 13.5px; }
.bg-card ul { margin: 4px 0 0; padding-left: 0; list-style: none; font-size: 13.5px; }
.bg-card .bg-where { font-size: 12.5px; color: var(--bg-muted); margin: 0 0 6px; }
.bg-card.is-gold { border-color: var(--bg-line); background: linear-gradient(180deg, #fffdf6, #fbf3dd); }
.bg-tag { display: inline-block; margin: 0 4px 3px 0; padding: 0 8px; border-radius: 999px; font-size: 11.5px; font-weight: 800;
	line-height: 1.8; background: var(--bg-vbg); color: var(--bg-v); border: 1px solid rgba(138, 91, 230, .3); white-space: nowrap; }
.bg-tag.gold { background: #fbf0cf; color: #6b4410; border-color: var(--bg-line); }
.bg-tag.red { background: #fde8e8; color: #9b1c1f; border-color: rgba(229, 72, 77, .4); }
.bg-tag.green { background: #e3f8eb; color: #17693a; border-color: rgba(47, 211, 107, .45); }
/* uwagi */
.bg-note { margin: 0 0 14px; padding: 10px 14px 10px 44px; position: relative; border-radius: 10px; font-size: 13.5px;
	background: #fbf3dd; border: 1px solid var(--bg-line); color: #4d3410; }
.bg-note::before { content: "!"; position: absolute; left: 13px; top: 10px; width: 22px; height: 22px; border-radius: 50%;
	display: grid; place-items: center; font: 900 13px/1 var(--font-body, sans-serif); color: #3a2205;
	background: linear-gradient(180deg, #fbe7ae, #e6b54e 55%, #b07a23); }
.bg-note.info { background: var(--bg-vbg); border-color: rgba(138, 91, 230, .35); color: var(--bg-ink); }
.bg-note.info::before { content: "i"; color: #fff; background: linear-gradient(180deg, #7b45e0, #4f22a6); }
/* tabele */
.bg-tw { overflow-x: auto; margin: 0 0 14px; border-radius: 10px; border: 1px solid rgba(138, 91, 230, .25); background: #fff; }
.bg-table { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.bg-table th { position: sticky; top: 0; padding: 8px 10px; text-align: left; white-space: nowrap; font-size: 12px;
	letter-spacing: .4px; text-transform: uppercase; color: #fbe7ae; background: linear-gradient(180deg, #3a1a78, #2a1258); }
.bg-table td { padding: 7px 10px; border-top: 1px solid rgba(138, 91, 230, .14); vertical-align: top; }
.bg-table tbody tr:nth-child(even) td { background: #faf7fe; }
.bg-table tbody tr:hover td { background: #f3ecfd; }
.bg-table td.n, .bg-table th.n { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.bg-table th[data-sort] { cursor: pointer; user-select: none; }
.bg-table th[data-sort]::after { content: " \2195"; opacity: .5; }
.bg-table th.is-asc::after { content: " \2191"; opacity: 1; }
.bg-table th.is-desc::after { content: " \2193"; opacity: 1; }
.bg-table .bg-name { font-weight: 800; color: var(--bg-ink); }
.bg-table .bg-loot { font-size: 12.5px; color: var(--bg-ink2); }
.bg-table .bg-loot span { white-space: nowrap; }
.bg-table .bg-loot small { color: var(--bg-muted); }
/* mapa ze znacznikami */
.bg-map { position: relative; margin: 0 0 8px; border-radius: 10px; overflow: hidden; line-height: 0;
	border: 2px solid var(--bg-gold); box-shadow: 0 6px 18px rgba(42, 18, 88, .22); background: #12062a; }
.bg-map img { display: block; width: 100%; height: auto; image-rendering: auto; }
.bg-pin { position: absolute; transform: translate(-50%, -50%); width: 24px; height: 24px; border-radius: 50%;
	display: grid; place-items: center; font: 800 11.5px/1 var(--font-body, sans-serif); color: #fff;
	background: radial-gradient(circle at 35% 30%, #8a5be6, #4f22a6 70%); border: 2px solid #fbe7ae;
	box-shadow: 0 0 0 2px rgba(18, 6, 42, .55), 0 3px 8px rgba(0, 0, 0, .5); cursor: default; transition: transform .15s; }
.bg-pin.gold { color: #3a2205; background: radial-gradient(circle at 35% 30%, #fbe7ae, #e6b54e 60%, #b07a23); border-color: #fff; }
.bg-pin.is-on { transform: translate(-50%, -50%) scale(1.35); z-index: 2; box-shadow: 0 0 0 3px #fbe7ae, 0 0 16px 4px rgba(244, 210, 124, .9); }
.bg-cap { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px; margin: 0 0 10px; font-size: 12.5px; color: var(--bg-muted); }
.bg-legend { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 4px 14px; margin: 0 0 14px; padding: 0; list-style: none; }
.bg-legend li { display: flex; gap: 8px; align-items: flex-start; padding: 4px 6px; border-radius: 8px; font-size: 13.5px; line-height: 1.45; }
.bg-legend li.is-on { background: #fbf0cf; }
.bg-legend b.k { flex: 0 0 auto; display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; font-size: 11px;
	color: #fff; background: linear-gradient(180deg, #7b45e0, #4f22a6); border: 1px solid var(--bg-gold); }
.bg-legend b.k.gold { color: #3a2205; background: linear-gradient(180deg, #fbe7ae, #e6b54e 55%, #b07a23); }
.bg-split { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 16px; align-items: start; }
/* narzedzia bestiariusza */
.bg-tools { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0 0 10px; padding: 10px; border-radius: 10px;
	background: linear-gradient(180deg, #f7f2fd, #efe7fb); border: 1px solid rgba(138, 91, 230, .25); }
.bg-tools input[type="search"], .bg-tools select { height: 34px; padding: 0 10px; border-radius: 8px; font: 600 13.5px var(--font-body, sans-serif);
	color: var(--bg-ink); background: #fff; border: 1px solid rgba(138, 91, 230, .4); }
.bg-tools input[type="search"] { flex: 1 1 220px; min-width: 0; }
.bg-tools input:focus, .bg-tools select:focus { outline: 2px solid var(--bg-gold); outline-offset: 0; }
.bg-tools label { display: inline-flex; gap: 6px; align-items: center; font-size: 13px; font-weight: 700; color: var(--bg-ink2); }
.bg-count { margin-left: auto; font-size: 12.5px; font-weight: 700; color: var(--bg-muted); }
/* harmonogram */
.bg-time { display: inline-block; margin: 0 4px 3px 0; padding: 0 8px; border-radius: 6px; font: 800 12.5px/1.9 var(--font-body, sans-serif);
	color: #fff; background: linear-gradient(180deg, #6a35cf, #3a1a78); white-space: nowrap; }
.bg-time small { font-weight: 700; color: #fbe7ae; }
.bg-day { display: inline-block; min-width: 92px; font-weight: 800; color: var(--bg-v); }
@media (max-width: 760px) {
	.bg-split { grid-template-columns: 1fr; }
	.bg-hero { padding: 14px; gap: 12px; }
	.bg-hero-ico { width: 46px; height: 46px; font-size: 22px; }
	.bg-hero h2 { font-size: 19px; }
	.bg-pin { width: 18px; height: 18px; font-size: 9.5px; border-width: 1.5px; }
	.bg-legend { grid-template-columns: 1fr; }
	.bg-count { margin-left: 0; width: 100%; }
}
/* === koniec: strony gry (agent gra) === */
