/* ============================================================
   MERSIOVO — „Black Dungeon" theme dla MyAAC
   Ciemny metal, złoto, żar. Layout 3-kolumnowy.
   ============================================================ */

:root {
	--bg: #060607;
	--panel: #0f0f13;
	--panel2: #131318;
	--panel3: #1a1a21;
	--border: #26262e;
	--border2: #3a3a45;
	--steel-hi: #4a4a56;
	--text: #c8c8cf;
	--text-dim: #84848f;
	--gold: #c9a227;
	--gold-bright: #ecd06a;
	--gold-dim: #6e5614;
	--ember: #b3541e;
	--blood: #8a1c1c;
	--green: #39d353;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }

body {
	background:
		radial-gradient(1400px 600px at 50% -200px, rgba(30, 40, 70, .25), transparent 65%),
		radial-gradient(900px 500px at 90% 10%, rgba(90, 20, 20, .08), transparent 60%),
		repeating-linear-gradient(135deg, rgba(255,255,255,.012) 0 2px, transparent 2px 6px),
		var(--bg);
	color: var(--text);
	font-family: 'Lora', Georgia, serif;
	font-size: 14px;
	line-height: 1.6;
}

a { color: var(--gold); text-decoration: none; }
a:hover { color: var(--gold-bright); }
img { max-width: 100%; }
h1, h2, h3, h4 { font-family: 'Cinzel', serif; color: var(--gold); letter-spacing: .04em; }

.mz-page {
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 12px 40px;
}

/* ================= TOP BAR ================= */
.mz-topbar {
	display: flex;
	align-items: stretch;
	gap: 14px;
	padding: 14px 6px 0;
	position: relative;
	z-index: 20;
	min-height: 118px;
}

.mz-statusbox {
	flex: 0 0 190px;
	background: linear-gradient(180deg, #17171d 0%, #0c0c10 100%);
	border: 1px solid var(--border2);
	border-radius: 4px;
	padding: 10px 14px;
	text-align: center;
	box-shadow: 0 4px 18px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.04);
	position: relative;
}

.mz-statusbox::before, .mz-statusbox::after,
.mz-box::before, .mz-box::after {
	content: "";
	position: absolute;
	width: 7px; height: 7px;
	border-radius: 50%;
	background: radial-gradient(circle at 35% 35%, #6a6a76, #1c1c22 70%);
	box-shadow: 0 0 3px rgba(0,0,0,.8);
}
.mz-statusbox::before { top: 6px; left: 6px; }
.mz-statusbox::after  { top: 6px; right: 6px; }
.mz-box::before { bottom: 6px; left: 6px; }
.mz-box::after  { bottom: 6px; right: 6px; }

.mz-statusbox-title {
	font-family: 'Cinzel', serif;
	font-weight: 700;
	letter-spacing: .35em;
	text-transform: uppercase;
	font-size: 13px;
	color: #d7d7de;
	text-shadow: 0 1px 2px #000;
	margin-bottom: 6px;
}

.mz-status-online {
	font-family: 'Cinzel', serif;
	font-weight: 700;
	letter-spacing: .25em;
	color: var(--green);
	text-shadow: 0 0 12px rgba(57, 211, 83, .5);
	font-size: 16px;
}
.mz-status-offline {
	font-family: 'Cinzel', serif;
	font-weight: 700;
	letter-spacing: .25em;
	color: #d04a4a;
	text-shadow: 0 0 12px rgba(208, 74, 74, .4);
	font-size: 16px;
}
.mz-status-players { color: var(--text-dim); font-size: 12px; margin-top: 4px; letter-spacing: .12em; text-transform: uppercase; }
.mz-status-uptime { color: #5f5f6a; font-size: 11px; margin-top: 2px; }

.mz-topmenu {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: space-evenly;
	gap: 10px;
	background: linear-gradient(180deg, #15151b 0%, #0b0b0f 100%);
	border: 1px solid var(--border);
	border-radius: 4px;
	padding: 0 18px;
}

.mz-topmenu a {
	font-family: 'Cinzel', serif;
	font-weight: 700;
	font-size: 15px;
	letter-spacing: .28em;
	text-transform: uppercase;
	color: #b9b9c2;
	padding: 10px 6px;
	transition: color .15s, text-shadow .15s;
	white-space: nowrap;
}
.mz-topmenu a:hover {
	color: var(--gold-bright);
	text-shadow: 0 0 14px rgba(236, 208, 106, .45);
	text-decoration: none;
}

/* ================= BANNER ================= */
.mz-banner {
	position: relative;
	height: 250px;
	margin-top: 10px;
	border: 1px solid var(--border2);
	border-radius: 4px;
	overflow: hidden;
	background:
		radial-gradient(420px 200px at 22% 85%, rgba(179, 84, 30, .35), transparent 70%),
		radial-gradient(520px 240px at 78% 80%, rgba(40, 80, 120, .30), transparent 70%),
		radial-gradient(300px 160px at 50% 30%, rgba(120, 60, 160, .18), transparent 70%),
		radial-gradient(700px 300px at 50% 110%, rgba(10, 14, 26, .9), transparent 80%),
		linear-gradient(180deg, #0b0e18 0%, #07070a 60%, #040405 100%);
}

/* sylwetki "gór" i ruin */
.mz-banner::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(160deg, transparent 55%, rgba(0,0,0,.55) 56%) ,
		radial-gradient(60% 90px at 30% 100%, #05050a 99%, transparent 100%),
		radial-gradient(50% 70px at 62% 100%, #060609 99%, transparent 100%),
		radial-gradient(40% 55px at 85% 100%, #050508 99%, transparent 100%);
	opacity: .9;
}

/* gwiazdy / iskry */
.mz-banner-glow {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(2px 2px at 14% 28%, rgba(236, 208, 106, .5), transparent 100%),
		radial-gradient(1.5px 1.5px at 34% 18%, rgba(236, 208, 106, .4), transparent 100%),
		radial-gradient(2px 2px at 57% 34%, rgba(160, 200, 255, .35), transparent 100%),
		radial-gradient(1.5px 1.5px at 72% 15%, rgba(236, 208, 106, .35), transparent 100%),
		radial-gradient(2px 2px at 88% 40%, rgba(160, 200, 255, .3), transparent 100%),
		radial-gradient(1.5px 1.5px at 8% 55%, rgba(236, 208, 106, .3), transparent 100%);
}

/* zamglona podstawa */
.mz-banner-fog {
	position: absolute;
	left: 0; right: 0; bottom: 0;
	height: 45%;
	background: linear-gradient(180deg, transparent 0%, rgba(20, 24, 34, .55) 55%, rgba(4, 4, 6, .95) 100%);
}

/* ================= TABLICA Z NAZWA ================= */
.mz-plate {
	position: relative;
	z-index: 10;
	margin: -34px auto 0;
	width: fit-content;
	max-width: 90%;
	background: linear-gradient(180deg, #101014 0%, #0a0a0d 100%);
	border: 1px solid var(--border2);
	border-top: none;
	border-radius: 0 0 6px 6px;
	padding: 12px 46px 10px;
	text-align: center;
	box-shadow: 0 10px 30px rgba(0,0,0,.7);
}

.mz-plate-name {
	font-family: 'Cinzel', serif;
	font-weight: 900;
	font-size: 34px;
	letter-spacing: .3em;
	text-transform: uppercase;
	color: #e6e6ec;
	text-shadow: 0 0 18px rgba(160, 190, 255, .25), 0 2px 3px #000;
}

.mz-plate-sub {
	margin-top: 2px;
	font-size: 11px;
	letter-spacing: .42em;
	text-transform: uppercase;
	color: var(--text-dim);
}

/* ================= KOLUMNY ================= */
.mz-cols {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	margin-top: 14px;
}

.mz-left, .mz-right {
	flex: 0 0 218px;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.mz-center { flex: 1 1 auto; min-width: 0; }

/* ================= BOX (rama) ================= */
.mz-box {
	position: relative;
	background: linear-gradient(180deg, #121217 0%, #0d0d11 100%);
	border: 1px solid var(--border2);
	border-radius: 4px;
	box-shadow: 0 6px 22px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.03);
	overflow: hidden;
}

/* łańcuch na górze ramy */
.mz-box-head {
	position: relative;
	padding: 9px 12px;
	text-align: center;
	font-family: 'Cinzel', serif;
	font-weight: 700;
	font-size: 13px;
	letter-spacing: .3em;
	text-transform: uppercase;
	color: #d9d9e0;
	text-shadow: 0 1px 2px #000, 0 0 8px rgba(255,255,255,.08);
	background:
		linear-gradient(180deg, #33333c 0%, #1b1b21 45%, #101014 100%);
	border-bottom: 1px solid var(--border2);
}

/* "ogniwa" — rząd punktów na granicy */
.mz-box-head::after {
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: -4px;
	height: 7px;
	background:
		radial-gradient(circle 3.5px at 6px 50%, #3c3c46 98%, transparent 100%),
		radial-gradient(circle 3.5px at 18px 50%, #2c2c34 98%, transparent 100%),
		radial-gradient(circle 3.5px at 30px 50%, #3c3c46 98%, transparent 100%),
		radial-gradient(circle 3.5px at 42px 50%, #2c2c34 98%, transparent 100%);
	background-size: 24px 7px;
	background-repeat: repeat-x;
	opacity: .85;
	pointer-events: none;
}

.mz-box-body { padding: 10px 12px 12px; }

/* ================= MENU LEWE ================= */
.mz-menu { display: flex; flex-direction: column; padding: 4px 0 6px; }

.mz-menu a {
	display: block;
	padding: 7px 12px 7px 16px;
	color: #c3c3cc;
	font-size: 13px;
	border-bottom: 1px solid rgba(255,255,255,.035);
	position: relative;
	transition: all .13s ease;
}
.mz-menu a:last-child { border-bottom: none; }
.mz-menu a::before {
	content: "»";
	position: absolute;
	left: 4px;
	color: transparent;
	font-size: 11px;
	transition: color .13s;
}
.mz-menu a:hover {
	background: linear-gradient(90deg, rgba(201, 162, 39, .10), transparent 80%);
	color: var(--gold-bright);
	text-decoration: none;
	padding-left: 20px;
}
.mz-menu a:hover::before { color: var(--gold); }

/* ================= FORMULARZ LOGIN ================= */
.mz-loginform { display: flex; flex-direction: column; gap: 6px; }

.mz-loginform label {
	font-size: 11px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--text-dim);
	margin-top: 4px;
}

.mz-loginform input[type="text"],
.mz-loginform input[type="password"] {
	background: #08080b;
	border: 1px solid var(--border2);
	color: var(--text);
	padding: 8px 10px;
	border-radius: 3px;
	font-family: inherit;
	font-size: 13px;
	outline: none;
}
.mz-loginform input:focus { border-color: var(--gold); box-shadow: 0 0 0 2px rgba(201,162,39,.12); }

.mz-btn {
	display: inline-block;
	text-align: center;
	background: linear-gradient(180deg, #3a3a44 0%, #202027 50%, #17171d 100%);
	border: 1px solid var(--border2);
	border-top-color: #55555f;
	color: #e0e0e6;
	font-family: 'Cinzel', serif;
	font-weight: 700;
	font-size: 12px;
	letter-spacing: .22em;
	text-transform: uppercase;
	padding: 9px 14px;
	border-radius: 3px;
	cursor: pointer;
	text-shadow: 0 1px 2px #000;
	transition: all .15s ease;
	box-shadow: 0 2px 8px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.07);
}
.mz-btn:hover {
	color: var(--gold-bright);
	border-color: var(--gold-dim);
	box-shadow: 0 2px 12px rgba(201,162,39,.2), inset 0 1px 0 rgba(255,255,255,.07);
	text-decoration: none;
}
.mz-btn-alt { color: #b9b9c2; }
.mz-lost { margin-top: 8px; text-align: center; font-size: 12px; color: var(--text-dim); }
.mz-lost:hover { color: var(--gold-bright); }

.mz-loggedas { display: flex; flex-direction: column; gap: 7px; text-align: center; }
.mz-logged-hi { font-family: 'Cinzel', serif; letter-spacing: .18em; text-transform: uppercase; font-size: 12px; color: var(--green); }
.mz-logged-points { font-size: 13px; color: var(--text); }
.mz-logged-points b { color: var(--gold-bright); }

/* ================= CLIENT / SERVERINFO ================= */
.mz-centerbox { text-align: center; }
.mz-centerbox p { margin: 0 0 10px; color: var(--text-dim); font-size: 12.5px; }

.mz-serverinfo { display: flex; flex-direction: column; gap: 4px; font-size: 12.5px; color: var(--text-dim); }
.mz-serverinfo b { color: var(--text); font-weight: 600; }

/* ================= RANKING ================= */
.mz-ranking { display: flex; flex-direction: column; gap: 2px; }

.mz-rank-row {
	display: grid;
	grid-template-columns: 20px 1fr auto;
	grid-template-areas: "pos name lvl" "pos name voc";
	column-gap: 6px;
	padding: 5px 2px;
	border-bottom: 1px solid rgba(255,255,255,.04);
	font-size: 12.5px;
	align-items: center;
}
.mz-rank-row:last-of-type { border-bottom: none; }
.mz-rank-pos { grid-area: pos; color: var(--gold); font-weight: 700; }
.mz-rank-name { grid-area: name; }
.mz-rank-name a { color: #d6d6de; }
.mz-rank-name a:hover { color: var(--gold-bright); text-decoration: none; }
.mz-rank-lvl { grid-area: lvl; color: var(--text-dim); font-size: 11.5px; }
.mz-rank-voc { grid-area: voc; color: #6c6c78; font-size: 10.5px; font-style: italic; }
.mz-rank-more { margin-top: 8px; font-size: 12px; text-align: right; color: var(--text-dim); }
.mz-rank-more:hover { color: var(--gold-bright); }

/* ================= SRODEK ================= */
.mz-content {
	background: linear-gradient(180deg, #121217 0%, #0d0d11 100%);
	border: 1px solid var(--border2);
	border-radius: 4px;
	padding: 18px 22px 24px;
	box-shadow: 0 8px 28px rgba(0,0,0,.5);
	min-height: 400px;
}

.mz-content h1, .mz-content h2, .mz-content h3, .mz-content h4 {
	margin: 18px 0 10px;
	color: var(--gold);
}

.mz-content table { border-collapse: collapse; }
.mz-content td, .mz-content th { padding: 4px 7px; }

.mz-content input[type="text"],
.mz-content input[type="password"],
.mz-content input[type="email"],
.mz-content input[type="number"],
.mz-content select,
.mz-content textarea {
	background: #08080b;
	border: 1px solid var(--border2);
	color: var(--text);
	padding: 7px 10px;
	border-radius: 3px;
	font-family: inherit;
	font-size: 13px;
	outline: none;
}

.mz-content input:focus, .mz-content select:focus, .mz-content textarea:focus {
	border-color: var(--gold);
	box-shadow: 0 0 0 2px rgba(201,162,39,.12);
}

.mz-content input[type="submit"],
.mz-content input[type="button"],
.mz-content button,
.mz-content .btn {
	background: linear-gradient(180deg, #3a3a44 0%, #202027 50%, #17171d 100%);
	border: 1px solid var(--border2);
	color: #e0e0e6;
	font-family: 'Cinzel', serif;
	font-weight: 700;
	font-size: 12px;
	letter-spacing: .18em;
	text-transform: uppercase;
	padding: 9px 18px;
	border-radius: 3px;
	cursor: pointer;
	text-shadow: 0 1px 2px #000;
	transition: all .15s ease;
}

.mz-content input[type="submit"]:hover,
.mz-content input[type="button"]:hover,
.mz-content button:hover,
.mz-content .btn:hover {
	color: var(--gold-bright);
	border-color: var(--gold-dim);
	box-shadow: 0 2px 12px rgba(201,162,39,.2);
}

.mz-content hr { border: 0; border-top: 1px solid var(--border); margin: 16px 0; }

.mz-content blockquote {
	border-left: 3px solid var(--ember);
	margin: 10px 0;
	padding: 6px 14px;
	color: var(--text-dim);
	font-style: italic;
}

.mz-content .alert, .mz-content [class*="alert"] {
	border: 1px solid var(--border2);
	border-radius: 4px;
	padding: 10px 14px;
	margin: 10px 0;
	background: var(--panel3);
	color: var(--text);
}
.mz-content .alert-danger { border-color: var(--blood); color: #e08585; }
.mz-content .alert-success { border-color: #2a5c35; color: #8fd694; }
.mz-content .alert-warning { border-color: var(--gold-dim); color: var(--gold-bright); }

/* tabele danych (highscores itp.) */
.mz-content table.Table, .mz-content .TableContainer table {
	width: 100%;
}
.mz-content tr.RowOdd, .mz-content .RowOdd { background: rgba(255,255,255,.02); }
.mz-content tr.RowEven, .mz-content .RowEven { background: rgba(255,255,255,.045); }

/* ================= NEWSY ================= */
.mz-news {
	margin: 14px 0;
	border: 1px solid var(--border);
	border-radius: 4px;
	overflow: hidden;
	background: var(--panel2);
}
.mz-news:first-child { margin-top: 4px; }

.mz-news-head {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 16px;
	background: linear-gradient(90deg, rgba(179, 84, 30, .28) 0%, rgba(138, 28, 28, .10) 55%, transparent 100%);
	border-bottom: 1px solid var(--border);
}
.mz-news-icon { flex: 0 0 auto; }
.mz-news-title { margin: 0; font-size: 18px; font-weight: 700; color: var(--gold); letter-spacing: .03em; }
.mz-news-date { margin-left: auto; color: var(--text-dim); font-size: 12px; white-space: nowrap; }
.mz-news-body { padding: 14px 16px; }
.mz-news-comments { padding: 0 16px 12px; text-align: right; font-size: 12px; }

.mz-content .Ticker, .mz-content .ticker {
	border: 1px solid var(--border);
	background: var(--bg);
	border-radius: 4px;
	padding: 8px 12px;
	margin: 8px 0;
	font-size: 12px;
	color: var(--text-dim);
}

/* ================= STOPKA ================= */
.mz-footer {
	margin-top: 20px;
	padding: 18px 20px;
	border: 1px solid var(--border);
	border-radius: 4px;
	background: linear-gradient(180deg, #101014 0%, #0a0a0d 100%);
	color: var(--text-dim);
	font-size: 12.5px;
	text-align: center;
}
.mz-footer a { color: var(--gold); }
.mz-footer-small { margin-top: 4px; font-size: 11px; color: #5c5c66; }

/* ================= RESPONSYWNOŚĆ ================= */
@media (max-width: 980px) {
	.mz-cols { flex-wrap: wrap; }
	.mz-center { order: 1; flex: 1 1 100%; }
	.mz-left { order: 2; flex: 1 1 46%; }
	.mz-right { order: 3; flex: 1 1 46%; }
}

@media (max-width: 640px) {
	.mz-topbar { flex-direction: column; }
	.mz-statusbox { flex: none; }
	.mz-topmenu { flex-wrap: wrap; padding: 8px; }
	.mz-topmenu a { font-size: 12px; letter-spacing: .18em; }
	.mz-banner { height: 170px; }
	.mz-plate-name { font-size: 24px; letter-spacing: .2em; }
	.mz-left, .mz-right { flex: 1 1 100%; }
	.mz-content { padding: 14px; }
}

/* ============================================================
   MYAAC LEGACY FORMS â€” ciemny wyglad klas gesiorowych
   (create account, account manage, guilds, online, lastkills...)
   ============================================================ */

.mz-content .TableContainer,
.mz-content .Table1,
.mz-content .TableContentAndRightShadow,
.mz-content .TableContentContainer,
.mz-content .InnerTableContainer,
.mz-content .OptionContainer {
	background-image: none !important;
	background: transparent !important;
	box-shadow: none !important;
}

/* dekoracyjne cieny â€” do usuniecia */
.mz-content .TableShadowContainer,
.mz-content .TableShadowContainerRightTop,
.mz-content .TableShadowRightTop,
.mz-content .TableBottomShadow,
.mz-content .TableBottomLeftShadow,
.mz-content .TableBottomRightShadow {
	display: none !important;
}

.mz-content table.TableContent,
.mz-content table.Table1 {
	width: 100% !important;
	border: 1px solid var(--border2) !important;
	border-radius: 4px !important;
	background: var(--panel2) !important;
}

.mz-content .TableContent td,
.mz-content .Table1 td {
	color: var(--text) !important;
	border-bottom: 1px solid var(--border);
	padding: 8px 10px;
	vertical-align: middle;
}

.mz-content .LabelV {
	color: var(--text-dim) !important;
	font-size: 11px !important;
	text-transform: uppercase;
	letter-spacing: .08em;
	padding-right: 12px;
	white-space: nowrap;
}

/* pasek tytulowy okna (Caption) */
.mz-content .CaptionContainer,
.mz-content .CaptionInnerContainer {
	background-image: none !important;
	background: linear-gradient(180deg, #33333c 0%, #1b1b21 45%, #101014 100%) !important;
	border-radius: 4px 4px 0 0;
}

.mz-content .CaptionContainer .Text {
	color: var(--gold-bright) !important;
	font-family: 'Cinzel', serif !important;
	font-size: 13px !important;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	text-shadow: 0 1px 2px #000;
}

.mz-content .CaptionEdgeLeftTop,
.mz-content .CaptionEdgeRightTop,
.mz-content .CaptionBorderTop,
.mz-content .CaptionVerticalLeft,
.mz-content .CaptionVerticalRight,
.mz-content .CaptionBorderBottom,
.mz-content .CaptionEdgeLeftBottom,
.mz-content .CaptionEdgeRightBottom {
	background-image: none !important;
	width: 0 !important;
	height: 0 !important;
	font-size: 0 !important;
}

.mz-content .FormFieldError { color: #e08585 !important; font-size: 11px; }
.mz-content .red { color: #e08585 !important; }

/* checkboxy / radio */
.mz-content input[type="checkbox"],
.mz-content input[type="radio"] {
	accent-color: var(--gold);
	width: auto;
}
