/* Torakx template — palette from brand guide */
:root {
	--bg: #08080C;
	--card: #151016;
	--card-2: #1a1319;
	--primary: #BE141C;
	--primary-hover: #E02A34;
	--border: #5E1117;
	--border-soft: rgba(94, 17, 23, .55);
	--text: #F2EEE8;
	--text-2: #C8C2BC;
	--muted: #8f8a86;
	--ok: #399068;
	--warn: #d39a2f;
	--radius: 10px;
	--shadow: 0 10px 30px rgba(0, 0, 0, .55), 0 0 0 1px var(--border-soft);
	--font: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
	--font-display: 'Cinzel', Georgia, serif;
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	background: var(--bg);
	color: var(--text);
	font: 15px/1.55 var(--font);
	min-height: 100vh;
	position: relative;
}
a { color: var(--primary-hover); text-decoration: none; }
a:hover { color: #ff5560; text-decoration: underline; }
img { max-width: 100%; }
h1, h2, h3, h4 { font-family: var(--font-display); letter-spacing: .02em; color: var(--text); margin: 0 0 .6em; line-height: 1.2; }
h2 { font-size: 1.35rem; margin-top: 1.6em; border-bottom: 1px solid var(--border-soft); padding-bottom: .35em; }
h3 { font-size: 1.05rem; }
code { background: #000; padding: .1em .4em; border-radius: 4px; color: var(--text-2); }
hr { border: 0; border-top: 1px solid var(--border-soft); }

.tx-wrap { width: min(1280px, 100% - 32px); margin: 0 auto; }
.tx-bg {
	position: fixed; inset: 0; z-index: -2;
	background: var(--bg) center top / cover no-repeat;
	opacity: .55;
}
.tx-bg::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8, 8, 12, .25) 0%, rgba(8, 8, 12, .85) 55%, var(--bg) 100%); }

/* ---------------------------------------------------------------- header / nav */
.tx-header { position: sticky; top: 0; z-index: 50; background: rgba(8, 8, 12, .88); backdrop-filter: blur(10px); border-bottom: 1px solid var(--border-soft); }
.tx-header-inner { display: flex; align-items: center; gap: 20px; min-height: 64px; }
.tx-brand { display: flex; align-items: center; gap: 10px; color: var(--text); font-family: var(--font-display); font-weight: 700; font-size: 1.25rem; letter-spacing: .08em; text-transform: uppercase; }
.tx-brand:hover { text-decoration: none; color: var(--primary-hover); }
.tx-brand-icon { width: 40px; height: 40px; filter: drop-shadow(0 0 8px rgba(224, 42, 52, .5)); }
.tx-nav { display: flex; align-items: center; flex: 1; gap: 16px; }
.tx-nav-list { list-style: none; margin: 0; padding: 0; display: flex; gap: 2px; flex: 1; }
.tx-nav-item { position: relative; }
.tx-nav-link { background: none; border: 0; color: var(--text-2); font: 600 14px/1 var(--font); padding: 22px 14px; cursor: pointer; display: flex; align-items: center; gap: 6px; text-transform: uppercase; letter-spacing: .04em; }
.tx-nav-link:hover, .tx-nav-item.is-open > .tx-nav-link, .tx-nav-item.is-active > .tx-nav-link { color: var(--text); }
.tx-nav-item.is-active > .tx-nav-link { box-shadow: inset 0 -2px 0 var(--primary); }
.tx-caret { width: 6px; height: 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg) translateY(-2px); opacity: .7; }
.tx-dropdown {
	list-style: none; margin: 0; padding: 8px 0; position: absolute; top: 100%; left: 0; min-width: 220px;
	background: var(--card); border: 1px solid var(--border-soft); border-radius: 0 0 var(--radius) var(--radius); box-shadow: var(--shadow);
	display: none;
}
.tx-nav-item.is-open > .tx-dropdown { display: block; }
@media (hover: hover) and (min-width: 1181px) { .tx-nav-item:hover > .tx-dropdown { display: block; } }
.tx-dropdown a { display: block; padding: 8px 16px; color: var(--text-2); font-size: 14px; }
.tx-dropdown a:hover, .tx-dropdown a.is-current { background: rgba(190, 20, 28, .18); color: var(--text); text-decoration: none; }
.tx-nav-side { display: flex; align-items: center; gap: 12px; }
.tx-langs { display: flex; border: 1px solid var(--border-soft); border-radius: 6px; overflow: hidden; }
.tx-langs a { padding: 5px 9px; font-size: 12px; font-weight: 600; color: var(--text-2); }
.tx-langs a:hover { text-decoration: none; color: var(--text); background: rgba(255, 255, 255, .04); }
.tx-langs a.is-active { background: var(--primary); color: #fff; }
.tx-burger { display: none; background: none; border: 1px solid var(--border-soft); border-radius: 6px; width: 42px; height: 38px; padding: 8px; margin-left: auto; cursor: pointer; flex-direction: column; justify-content: space-between; }
.tx-burger span { display: block; height: 2px; background: var(--text); border-radius: 2px; }

/* ---------------------------------------------------------------- buttons */
.tx-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	padding: 9px 18px; border-radius: 8px; border: 1px solid var(--border);
	background: var(--card); color: var(--text); font: 600 14px/1.2 var(--font); cursor: pointer;
	transition: background .15s, box-shadow .15s, transform .1s;
}
.tx-btn:hover { text-decoration: none; color: #fff; background: var(--card-2); box-shadow: 0 0 0 1px var(--border); }
.tx-btn-primary { background: var(--primary); border-color: var(--primary); }
.tx-btn-primary:hover { background: var(--primary-hover); border-color: var(--primary-hover); box-shadow: 0 0 18px rgba(224, 42, 52, .45); }
.tx-btn-big { padding: 14px 28px; font-size: 16px; }
.tx-btn-small { padding: 7px 14px; font-size: 13px; }
.tx-btn-block { width: 100%; margin-top: 8px; }
.tx-btn-disabled { opacity: .5; cursor: not-allowed; }

/* ---------------------------------------------------------------- hero */
.tx-hero { padding: 48px 0 24px; text-align: center; }
.tx-hero-logo { width: min(520px, 90%); filter: drop-shadow(0 12px 30px rgba(0, 0, 0, .7)); }
.tx-hero-tagline { font-family: var(--font-display); font-size: clamp(1rem, 2.2vw, 1.35rem); color: var(--text-2); margin: 10px auto 22px; max-width: 720px; }
.tx-hero-actions { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
.tx-launch { font-family: var(--font-display); font-size: clamp(1.4rem, 4vw, 2.4rem); color: #fff; text-shadow: 0 0 20px rgba(224, 42, 52, .8); margin-bottom: 18px; }
.tx-stats { list-style: none; margin: 28px auto 0; padding: 0; display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.tx-stats li { background: rgba(26, 25, 33, .85); border: 1px solid var(--border-soft); border-radius: var(--radius); padding: 10px 22px; min-width: 150px; }
.tx-stats strong { display: block; font-family: var(--font-display); font-size: 1.4rem; color: #fff; }
.tx-stats strong.is-online { color: #6fd19d; }
.tx-stats strong.is-offline { color: var(--primary-hover); }
.tx-stats span { font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); }

/* ---------------------------------------------------------------- layout */
.tx-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 24px; padding: 24px 0 48px; align-items: start; }
.tx-title { font-size: 1.7rem; margin: 6px 0 14px; text-shadow: 0 2px 12px rgba(0, 0, 0, .6); }
.tx-panel { background: var(--card); border-radius: var(--radius); box-shadow: var(--shadow); padding: 22px 24px; overflow-x: auto; }
.tx-sidebar { display: flex; flex-direction: column; gap: 18px; position: sticky; top: 80px; }
.tx-box { background: var(--card); border-radius: var(--radius); box-shadow: var(--shadow); padding: 16px 18px; }
.tx-box h3 { font-size: .95rem; text-transform: uppercase; letter-spacing: .1em; color: var(--text-2); margin-bottom: 12px; padding-bottom: 8px; border-bottom: 1px solid var(--border-soft); }
.tx-box-more { display: block; margin-top: 10px; font-size: 13px; text-align: right; }
.tx-box-links { display: flex; justify-content: space-between; font-size: 13px; margin-top: 10px; }
.tx-muted, .tx-fineprint { color: var(--muted); font-size: 13px; }
.tx-intro { color: var(--text-2); font-size: 15px; margin-top: 0; }

/* login box */
.tx-login-form label { display: block; margin-bottom: 10px; font-size: 12px; color: var(--muted); }
.tx-login-form label span { display: block; margin-bottom: 4px; }
.tx-login-form input, .tx-panel input[type=text], .tx-panel input[type=password], .tx-panel input[type=email], .tx-panel input[type=number], .tx-panel select, .tx-panel textarea {
	width: 100%; padding: 9px 11px; border-radius: 7px; border: 1px solid var(--border-soft); background: #0e0d13; color: var(--text); font: 14px var(--font);
}
.tx-panel input[type=text], .tx-panel input[type=password], .tx-panel select { width: auto; max-width: 100%; }
.tx-login-form input:focus, .tx-panel input:focus, .tx-panel select:focus, .tx-panel textarea:focus { outline: none; border-color: var(--primary-hover); box-shadow: 0 0 0 2px rgba(224, 42, 52, .25); }
.tx-welcome { margin: 0 0 6px; }
.tx-coins { margin: 0 0 10px; color: var(--text-2); }

/* status box */
.tx-status { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 10px; }
.tx-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--muted); display: inline-block; flex: none; }
.tx-dot.is-online, .is-online .tx-dot { background: var(--ok); box-shadow: 0 0 10px var(--ok); }
.tx-dot.is-offline, .is-offline .tx-dot { background: var(--primary-hover); box-shadow: 0 0 10px var(--primary-hover); }
.tx-kv { display: grid; grid-template-columns: auto 1fr; gap: 4px 12px; margin: 0; font-size: 13px; }
.tx-kv dt { color: var(--muted); }
.tx-kv dd { margin: 0; color: var(--text); }

/* events mini */
.tx-event-mini { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.tx-event-mini li { font-size: 13px; }
.tx-event-mini li > a { display: flex; gap: 10px; align-items: flex-start; padding: 4px; margin: -4px; border-radius: 8px; color: inherit; }
.tx-event-mini li > a:hover { background: rgba(190, 20, 28, .12); text-decoration: none; }
.tx-event-mini li.is-live strong { color: #ff6b74; }
.tx-event-mini strong { display: block; }
.tx-event-mini small { color: var(--muted); }
.tx-event-mini em { color: var(--text-2); font-style: normal; }
.tx-event-mini-icon, .tx-event-icon { flex: none; width: 34px; height: 34px; border-radius: 8px; background: radial-gradient(circle at 30% 30%, #3a1016, #120a0c); border: 1px solid var(--border-soft); position: relative; }
.tx-event-icon { width: 54px; height: 54px; }
.tx-event-mini-icon::after, .tx-event-icon::after { content: '✦'; position: absolute; inset: 0; display: grid; place-items: center; color: var(--primary-hover); font-size: 16px; }
.tx-icon-demon::after { content: '👹'; } .tx-icon-zombie::after { content: '🧟'; } .tx-icon-dragon::after { content: '🐉'; } .tx-icon-fish::after { content: '🐟'; }
.tx-icon-knight::after { content: '⚔️'; } .tx-icon-castle::after { content: '🏰'; } .tx-icon-skull::after { content: '💀'; } .tx-icon-flag::after { content: '🚩'; }
.tx-icon-fire::after { content: '🔥'; } .tx-icon-star::after { content: '⭐'; }

/* boosted */
.tx-boosted { display: flex; flex-direction: column; gap: 10px; }
.tx-boosted-item { display: flex; align-items: center; gap: 12px; color: var(--text); padding: 8px; border-radius: 8px; background: rgba(0, 0, 0, .25); border: 1px solid var(--border-soft); }
.tx-boosted-item:hover { text-decoration: none; border-color: var(--primary-hover); }
.tx-boosted-item img { width: 48px; height: 48px; object-fit: contain; image-rendering: pixelated; }
.tx-boosted-item small { display: block; color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }
.tx-boosted-item strong { display: block; }
.tx-boosted-item em { font-style: normal; font-size: 12px; color: #ffb3b8; }

/* top players */

/* kills */
.tx-kills { list-style: none; margin: 0; padding: 0; font-size: 13px; }
.tx-kills li { padding: 6px 0; border-bottom: 1px dashed var(--border-soft); }
.tx-kills li:last-child { border: 0; }
.tx-kills time { color: var(--muted); font-size: 12px; margin-right: 4px; }

/* social */
.tx-social { display: flex; flex-wrap: wrap; gap: 8px; }
.tx-social a { padding: 6px 12px; border-radius: 6px; background: var(--card-2); border: 1px solid var(--border-soft); color: var(--text); font-size: 13px; }
.tx-social a:hover { text-decoration: none; border-color: var(--primary-hover); }

/* ---------------------------------------------------------------- footer */
.tx-footer { border-top: 1px solid var(--border-soft); background: rgba(8, 8, 12, .9); padding: 26px 0 36px; font-size: 13px; color: var(--muted); }
.tx-footer-inner { text-align: center; }
.tx-footer-links { display: flex; gap: 18px; justify-content: center; margin-bottom: 10px; }
.tx-footer-links a { color: var(--text-2); }
.tx-footer-meta a { color: var(--text-2); }

/* ---------------------------------------------------------------- generic components used by plugin pages */
.tx-notice { background: rgba(255, 255, 255, .04); border: 1px solid var(--border-soft); border-left: 4px solid var(--text-2); padding: 12px 14px; border-radius: 8px; margin: 10px 0 16px; }
.tx-notice-ok { border-left-color: var(--ok); }
.tx-notice-warn { border-left-color: var(--warn); }
.tx-notice-error { border-left-color: var(--primary-hover); }
.tx-pill { display: inline-block; padding: 2px 9px; border-radius: 999px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; background: var(--card-2); color: var(--text-2); border: 1px solid var(--border-soft); }
.tx-pill-live, .tx-pill-failed { background: var(--primary); color: #fff; border-color: var(--primary); }
.tx-pill-paid { background: var(--ok); color: #fff; border-color: var(--ok); }
.tx-pill-pending { background: var(--warn); color: #000; border-color: var(--warn); }
.tx-pill-refunded { background: #444; color: #fff; }
.tx-table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; border: 1px solid var(--border-soft); border-radius: 10px; overflow: hidden; background: rgba(0, 0, 0, .14); }
.tx-table th { text-align: left; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: #f3d9da; padding: 11px 14px; background: linear-gradient(180deg, rgba(190, 20, 28, .34), rgba(190, 20, 28, .16)); border-bottom: 1px solid var(--border); }
.tx-table td { padding: 11px 14px; border-bottom: 1px solid var(--border-soft); vertical-align: middle; }
.tx-table tbody tr:last-child td { border-bottom: 0; }
.tx-table tbody tr:nth-child(even) td { background: rgba(255, 255, 255, .018); }
.tx-table tbody tr:hover td { background: rgba(190, 20, 28, .09); }
.tx-table .tx-right { text-align: right; }
.tx-table tr.tx-top1 td:first-child { color: #e9b949; font-weight: 700; }
.tx-table tr.tx-top2 td:first-child { color: #c0c5cf; font-weight: 700; }
.tx-table tr.tx-top3 td:first-child { color: #c98a52; font-weight: 700; }
.tx-tabs { display: flex; gap: 6px; margin: 0 0 16px; flex-wrap: wrap; }
.tx-tab { padding: 7px 14px; border-radius: 999px; border: 1px solid var(--border-soft); color: var(--text-2); font-size: 13px; font-weight: 600; }
.tx-tab:hover { text-decoration: none; color: var(--text); }
.tx-tab-active { background: var(--primary); border-color: var(--primary); color: #fff; }
.tx-list { padding-left: 20px; color: var(--text-2); }
.tx-list li { margin: 6px 0; }
.tx-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.tx-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; }
.tx-card { background: var(--card-2); border: 1px solid var(--border-soft); border-radius: var(--radius); padding: 18px; position: relative; }
.tx-badge { position: absolute; top: 14px; right: 14px; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--text-2); border: 1px solid var(--border-soft); padding: 2px 8px; border-radius: 999px; }
.tx-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0; }
.tx-chip { font-size: 12px; padding: 3px 9px; border-radius: 999px; background: rgba(190, 20, 28, .18); color: #ffb3b8; }
.tx-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 12px; }
.tx-spinner { display: inline-block; width: 14px; height: 14px; border: 2px solid var(--muted); border-top-color: var(--primary-hover); border-radius: 50%; animation: tx-spin .8s linear infinite; vertical-align: -2px; margin-right: 6px; }
@keyframes tx-spin { to { transform: rotate(360deg); } }

/* events page */
.tx-event-list { display: flex; flex-direction: column; gap: 12px; }
.tx-event { display: flex; gap: 16px; background: var(--card-2); border: 1px solid var(--border-soft); border-radius: var(--radius); padding: 14px 16px; }
.tx-event-live { border-color: var(--primary-hover); box-shadow: 0 0 18px rgba(224, 42, 52, .25); }
.tx-event-body { flex: 1; min-width: 0; }
.tx-event-body h3 { margin-bottom: 4px; }
.tx-event-body p { margin: 0 0 8px; color: var(--text-2); font-size: 14px; }
.tx-event-body dl { display: grid; grid-template-columns: auto 1fr; gap: 2px 12px; margin: 0; font-size: 13px; }
.tx-event-body dt { color: var(--muted); }
.tx-event-body dd { margin: 0; }
.tx-countdown { color: #ffb3b8; margin-left: 6px; }
.tx-week { display: grid; grid-template-columns: repeat(7, 1fr); gap: 8px; }
.tx-week-day { background: var(--card-2); border: 1px solid var(--border-soft); border-radius: 8px; padding: 10px; min-height: 120px; }
.tx-week-today { border-color: var(--primary-hover); }
.tx-week-day h4 { font-size: .8rem; text-transform: uppercase; letter-spacing: .08em; color: var(--text-2); margin-bottom: 8px; }
.tx-week-item { font-size: 12px; margin: 6px 0; line-height: 1.3; }
.tx-week-time { display: inline-block; font-weight: 700; color: #ffb3b8; margin-right: 4px; }
.tx-week-daily { color: var(--muted); }

/* wars */
.tx-war { display: grid; grid-template-columns: 1fr auto 1fr; gap: 16px; align-items: center; background: var(--card-2); border: 1px solid var(--border-soft); border-radius: var(--radius); padding: 14px 16px; margin-bottom: 10px; }
.tx-war-side a { font-weight: 700; font-size: 15px; display: block; }
.tx-war-side strong { display: block; font-family: var(--font-display); font-size: 1.8rem; line-height: 1.1; }
.tx-war-right { text-align: right; }
.tx-war-mid { text-align: center; display: flex; flex-direction: column; gap: 2px; font-size: 12px; color: var(--muted); min-width: 140px; }
.tx-war-winner { color: #6fd19d; font-weight: 700; }
.tx-bar { height: 6px; background: #000; border-radius: 3px; overflow: hidden; margin-top: 6px; }
.tx-bar span { display: block; height: 100%; background: linear-gradient(90deg, var(--primary), var(--primary-hover)); }
.tx-war-right .tx-bar span { margin-left: auto; }

/* rules */
.tx-rule { margin-bottom: 18px; }
.tx-rule h2 { border: 0; margin-top: 1em; }
.tx-rule-num { display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--primary); color: #fff; font-size: 14px; margin-right: 6px; }
.tx-rule ol { list-style: none; padding: 0; margin: 0; }
.tx-rule li { padding: 8px 0 8px 48px; border-bottom: 1px dashed var(--border-soft); position: relative; color: var(--text-2); }
.tx-rule-id { position: absolute; left: 8px; color: var(--muted); font-size: 12px; font-weight: 700; }

/* shop */
.tx-balance { display: flex; align-items: baseline; gap: 8px; background: rgba(0, 0, 0, .25); border: 1px solid var(--border-soft); border-radius: 8px; padding: 10px 14px; margin-bottom: 18px; }
.tx-balance span { color: var(--muted); font-size: 13px; }
.tx-balance strong { font-family: var(--font-display); font-size: 1.4rem; color: #e9b949; }
.tx-packages { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 16px; }
.tx-package { background: var(--card-2); border: 1px solid var(--border-soft); border-radius: var(--radius); padding: 18px; display: flex; flex-direction: column; gap: 8px; position: relative; }
.tx-package-best { border-color: #e9b949; box-shadow: 0 0 22px rgba(233, 185, 73, .18); }
.tx-package-best::before { content: 'BEST VALUE'; position: absolute; top: -10px; right: 14px; background: #e9b949; color: #000; font-size: 10px; font-weight: 800; letter-spacing: .1em; padding: 2px 8px; border-radius: 999px; }
.tx-package-coins strong { font-family: var(--font-display); font-size: 1.7rem; color: #fff; }
.tx-package-bonus { color: #6fd19d; font-weight: 600; font-size: 13px; }
.tx-package-price { font-size: 1.1rem; color: var(--text-2); }
.tx-gateways { border: 0; padding: 0; margin: 6px 0 0; display: flex; flex-direction: column; gap: 6px; }
.tx-gateways legend { font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); margin-bottom: 6px; }
.tx-gateway { display: grid; grid-template-columns: auto 1fr auto; gap: 4px 8px; align-items: center; padding: 8px 10px; border: 1px solid var(--border-soft); border-radius: 8px; cursor: pointer; font-size: 13px; }
.tx-gateway:has(input:checked) { border-color: var(--primary-hover); background: rgba(190, 20, 28, .12); }
.tx-gateway input { margin: 0; accent-color: var(--primary); }
.tx-gateway-price { font-weight: 700; }
.tx-gateway small { grid-column: 2 / 4; color: var(--muted); font-size: 11px; }
.tx-package .tx-btn { margin-top: auto; }
.tx-payment-summary { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-bottom: 14px; color: var(--text-2); }
.tx-payment-summary strong { font-family: var(--font-display); font-size: 1.3rem; color: #fff; }
.tx-pix-qr { display: block; width: 240px; height: 240px; margin: 12px 0; background: #fff; padding: 8px; border-radius: 8px; }
.tx-pix-code { width: 100%; font-family: monospace; font-size: 12px; margin: 8px 0; }

/* systems pages: rankings, bazaar, market, battle pass, store, tasks */
.tx-tabs-small .tx-tab { padding: 5px 11px; font-size: 12px; }
.tx-tabs-small .tx-tab small { color: var(--muted); margin-left: 4px; }
.tx-stats-left { justify-content: flex-start; margin: 0 0 16px; }
.tx-stats-left li { min-width: 120px; padding: 8px 14px; }
.tx-stats-left strong { font-size: 1.1rem; }
.tx-item { display: inline-flex; align-items: center; gap: 6px; }
.tx-item img { width: 32px; height: 32px; image-rendering: pixelated; }
.tx-item small { color: #e9b949; font-weight: 700; }
.tx-auctions { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 14px; }
.tx-auction { display: flex; gap: 14px; background: var(--card-2); border: 1px solid var(--border-soft); border-radius: var(--radius); padding: 14px; }
.tx-auction-done { opacity: .75; }
.tx-auction-outfit { width: 64px; height: 64px; object-fit: contain; object-position: right bottom; image-rendering: pixelated; flex: none; }
.tx-auction-body { flex: 1; min-width: 0; }
.tx-auction-body h3 { margin-bottom: 4px; }
.tx-auction-body h3 small { display: block; font-family: var(--font); font-size: 12px; color: var(--muted); letter-spacing: 0; }
.tx-auction-body p { font-size: 13px; color: var(--text-2); margin: 0 0 8px; }
.tx-auction-body dl { display: grid; grid-template-columns: auto 1fr; gap: 2px 10px; margin: 0; font-size: 13px; }
.tx-auction-body dt { color: var(--muted); }
.tx-auction-body dd { margin: 0; }
.tx-bp-head { display: flex; gap: 16px; align-items: flex-start; margin-bottom: 12px; }
.tx-bp-season { border: 0; margin: 0 0 4px; font-size: 1.6rem; display: flex; align-items: center; gap: 10px; }
.tx-bp-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px; margin: 0 0 18px; }
.tx-bp-facts > div { background: var(--card-2); border: 1px solid var(--border-soft); border-radius: 8px; padding: 10px 12px; }
.tx-bp-facts dt { font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); }
.tx-bp-facts dd { margin: 2px 0 0; font-family: var(--font-display); font-size: 1.15rem; color: #fff; }
.tx-bp-facts dd small { font-family: var(--font); font-size: 11px; color: var(--muted); }
.tx-how { background: rgba(190, 20, 28, .08); border: 1px solid var(--border-soft); border-left: 4px solid var(--primary); border-radius: 8px; padding: 14px 18px; margin-bottom: 8px; }
.tx-how h2 { border: 0; margin: 0 0 8px; font-size: 1.15rem; }
.tx-how-list { margin: 0; padding-left: 22px; color: var(--text-2); }
.tx-how-list li { margin: 6px 0; }
.tx-bp-shopstep td { border-bottom: 2px solid #e9b949; }
.tx-bp-track td:first-child { width: 60px; }
.tx-deluxe-col { background: rgba(233, 185, 73, .06); }
.tx-bp-track th.tx-deluxe-col { color: #e9b949; }
.tx-bp-track img { width: 32px; height: 32px; vertical-align: middle; image-rendering: pixelated; margin-right: 4px; }
.tx-missions { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; font-size: 13px; }
.tx-missions small { color: var(--muted); }
.tx-tier-bronze .tx-pill { border-color: #8a5a2b; color: #d7a06b; }
.tx-tier-silver .tx-pill { border-color: #9ea3ad; color: #d8dbe0; }
.tx-tier-gold .tx-pill { border-color: #b8892a; color: #e9b949; }
.tx-cards-small { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
.tx-shop-item { display: flex; flex-direction: column; gap: 6px; padding-top: 26px; }
.tx-shop-item h4 { font-family: var(--font); font-size: 14px; margin: 0; }
.tx-shop-item p { font-size: 12px; color: var(--muted); margin: 0; flex: 1; }
.tx-shop-img { width: 64px; height: 64px; display: grid; place-items: center; object-fit: contain; object-position: right bottom; image-rendering: pixelated; }
.tx-shop-img img { width: 48px; height: 48px; image-rendering: pixelated; }
.tx-price { font-weight: 700; color: #e9b949; }
.tx-shop-new .tx-badge { border-color: var(--ok); color: #6fd19d; }
.tx-shop-sale .tx-badge, .tx-shop-timed .tx-badge { border-color: var(--primary-hover); color: #ff6b74; }
.tx-store-cat { margin-bottom: 8px; scroll-margin-top: 80px; }
.tx-store .tx-tabs { position: sticky; top: 64px; background: var(--card); padding: 8px 0; z-index: 2; }

/* player guides and server data pages */
.tx-page-intro { margin: 0 0 16px; padding: 12px 14px; color: var(--text-2); background: rgba(190, 20, 28, .08); border-left: 3px solid var(--primary); border-radius: 0 8px 8px 0; }
.tx-table-wrap { overflow-x: auto; }
.tx-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; align-items: center; }
.tx-filters input, .tx-filters select { flex: 1 1 160px; min-width: 0; }
.tx-monster-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px; }
.tx-monster-card { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 12px 8px; text-align: center; color: var(--text); background: var(--card-2); border: 1px solid var(--border-soft); border-radius: 8px; }
a.tx-monster-card:hover { text-decoration: none; border-color: var(--primary-hover); color: var(--text); }
.tx-monster-card.is-boss { border-color: #b8892a; }
.tx-monster-card img { width: 64px; height: 64px; object-fit: contain; image-rendering: pixelated; }
.tx-monster-card strong { font-size: 13px; }
.tx-monster-card small { color: var(--muted); font-size: 11px; }
.tx-monster-head { display: flex; gap: 16px; flex-wrap: wrap; align-items: flex-start; }
.tx-monster-head > div { flex: 1 1 280px; min-width: 0; }
.tx-monster-img { width: 96px; height: 96px; object-fit: contain; image-rendering: pixelated; background: rgba(0, 0, 0, .3); border-radius: 8px; }
.tx-monster-facts { margin-top: 10px; }
.tx-stars { color: #e9b949; margin-left: 6px; }
.tx-loot { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 8px; }
.tx-loot-item { display: flex; gap: 8px; align-items: center; padding: 6px 10px; font-size: 13px; background: var(--card-2); border-left: 3px solid var(--border); border-radius: 0 6px 6px 0; }
.tx-loot-item small { color: var(--muted); }
.tx-item-img { width: 32px; height: 32px; image-rendering: pixelated; vertical-align: middle; flex: none; }
.tx-rarity-uncommon { border-left-color: var(--ok); }
.tx-rarity-semirare { border-left-color: #4a8fd6; }
.tx-rarity-rare { border-left-color: #a35ed6; }
.tx-rarity-veryrare { border-left-color: #e9b949; }
.tx-pager { display: flex; gap: 10px; justify-content: center; align-items: center; margin-top: 16px; }
.tx-steps { list-style: none; margin: 0 0 18px; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.tx-steps li { display: flex; gap: 12px; padding: 12px 14px; background: var(--card-2); border: 1px solid var(--border-soft); border-radius: 8px; }
.tx-steps .tx-rule-num { flex: none; }
.tx-steps h3 { margin-bottom: 4px; }
.tx-steps p { margin: 0; color: var(--text-2); }
.tx-yes { color: #6fd19d; font-weight: 700; }
.tx-no { color: var(--muted); }
.tx-system { padding-top: 4px; scroll-margin-top: 80px; }
.tx-system h2 { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.tx-faq-item { padding: 10px 12px; margin-bottom: 6px; background: var(--card-2); border: 1px solid var(--border-soft); border-radius: 8px; }
.tx-faq-item summary { cursor: pointer; font-weight: 600; }
.tx-faq-answer { padding-top: 8px; color: var(--text-2); }
.tx-faq-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px; margin-bottom: 8px; }
.tx-faq-head h2 { margin: 0; border: 0; }

/* ---------------------------------------------------------------- MyAAC core pages restyle */
.tx-panel table { color: var(--text); }
.TableContainer { margin-bottom: 14px; }
.TableContainer .CaptionContainer .Text, .TableContainer .CaptionContainer .CaptionInnerContainer { background: none !important; color: var(--text) !important; font-family: var(--font-display); font-size: 15px; font-weight: 700; }
.TableContainer .CaptionContainer .CaptionEdgeLeftTop, .TableContainer .CaptionContainer .CaptionEdgeRightTop, .TableContainer .CaptionContainer .CaptionEdgeLeftBottom, .TableContainer .CaptionContainer .CaptionEdgeRightBottom,
.TableContainer .CaptionContainer .CaptionBorderTop, .TableContainer .CaptionContainer .CaptionBorderBottom, .TableContainer .CaptionContainer .CaptionVerticalLeft, .TableContainer .CaptionContainer .CaptionVerticalRight,
.TableShadowContainerRightTop, .TableShadowRightTop, .TableShadowContainer, .TableBottomShadow, .TableBottomLeftShadow, .TableBottomRightShadow { display: none !important; background: none !important; }
.TableContainer .CaptionContainer { background: none; border-bottom: 1px solid var(--border); padding: 6px 4px; }
.TableContentContainer, .TableContent, .InnerTableContainer { background: none !important; border: 0 !important; }
.TableContent td, .InnerTableContainer td { border: 0; padding: 6px 8px; font-size: 14px; }
.Odd, .TableContainer .Odd, .Content .BoxContent .Odd { background: rgba(255, 255, 255, .035) !important; }
.Even, .TableContainer .Even, .Content .BoxContent .Even { background: transparent !important; }
.LabelV, .LabelV120, .LabelV150, .LabelV200, .LabelH, .LabelH td { color: var(--text) !important; font-weight: 600; }
.InnerTableContainer table { background: none; }
.tx-panel .BigButton, .tx-panel .BigButtonOver { background: var(--primary) !important; border-radius: 7px; height: auto; width: auto; padding: 8px 14px; display: inline-block; }
.tx-panel .BigButton .ButtonText, .tx-panel .ButtonText { background: none !important; color: #fff; font-weight: 700; position: static; text-align: center; }
.tx-panel input[type=submit], .tx-panel button { padding: 9px 18px; border-radius: 8px; border: 1px solid var(--primary); background: var(--primary); color: #fff; font: 600 14px var(--font); cursor: pointer; }
.tx-panel input[type=submit]:hover, .tx-panel button:hover { background: var(--primary-hover); }
.tx-panel .tx-btn { padding: 9px 18px; }
.SmallBox .ErrorMessage, .SmallBox .Message { color: var(--text); }
.SmallBox .BoxFrameHorizontal, .SmallBox .BoxFrameVerticalRight, .SmallBox .BoxFrameVerticalLeft, .SmallBox .BoxFrameEdgeLeftTop, .SmallBox .BoxFrameEdgeLeftBottom, .SmallBox .BoxFrameEdgeRightTop, .SmallBox .BoxFrameEdgeRightBottom { display: none; }
.SmallBox .MessageContainer { background: rgba(190, 20, 28, .15); border: 1px solid var(--border); border-radius: 8px; padding: 10px; }
.SmallBox .AttentionSign { display: none; }
.FormFieldError { color: var(--primary-hover); }
/* account management side menu (core template hardcodes black text) */
.vertical-menu a { background: var(--card-2) !important; color: var(--text) !important; border-left: 3px solid transparent; border-radius: 0 6px 6px 0; margin-bottom: 4px; }
.vertical-menu a:hover { background: rgba(190, 20, 28, .18) !important; border-left-color: var(--primary); text-decoration: none; }
#account-manage td, #account-manage th { color: var(--text); }
.tx-char-main { position: relative; }
.tx-char-outfit { position: absolute; top: 44px; right: 16px; width: 90px; height: 90px; border: 2px solid var(--border); border-radius: 50%; background: rgba(0, 0, 0, .35); z-index: 1; pointer-events: none; }
.tx-char-outfit img { position: absolute; left: -51px; top: -56px; width: 128px; height: 128px; max-width: none; image-rendering: pixelated; }

/* MyAAC core tables (forum, characters, guilds...): rows from getStyle() and vdarkborder headers */
.tx-panel table { border-collapse: separate; border-spacing: 0; }
.tx-panel table:has(> * > tr[bgcolor]) { border: 1px solid var(--border-soft); border-radius: 10px; overflow: hidden; background: rgba(0, 0, 0, .14); }
.tx-panel tr[bgcolor] { background: transparent; }
.tx-panel tr[bgcolor] > td, .tx-panel tr[bgcolor] > th { padding: 11px 14px; font-size: 14px; vertical-align: middle; text-align: left; border: 0; border-bottom: 1px solid var(--border-soft); }
.tx-panel table > * > tr[bgcolor]:last-child > td { border-bottom: 0; }
.tx-panel tr[bgcolor="#221F2A" i] > td { background: rgba(255, 255, 255, .018); }
.tx-panel tr[bgcolor="#1A1921" i]:hover > td, .tx-panel tr[bgcolor="#221F2A" i]:hover > td { background: rgba(190, 20, 28, .09); }
.tx-panel tr[bgcolor="#5E1117" i] > td, .tx-panel tr[bgcolor="#5E1117" i] > th { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: #f3d9da; background: linear-gradient(180deg, rgba(190, 20, 28, .34), rgba(190, 20, 28, .16)); border-bottom: 1px solid var(--border); }
.tx-panel tr[bgcolor="#5E1117" i] span, .tx-panel tr[bgcolor="#5E1117" i] b { font-size: inherit !important; color: inherit; font-weight: inherit; }
.tx-panel tr[bgcolor] small { color: var(--muted); font-size: 12px; }
.tx-panel td.white, .tx-panel tr.white td { color: #fff; font-weight: 600; }

/* tickers (template override of news.tickers.html.twig) */
.tx-tickers { display: flex; flex-direction: column; gap: 6px; margin-bottom: 18px; }
.tx-ticker { display: flex; align-items: center; gap: 10px; padding: 7px 12px; background: rgba(255, 255, 255, .03); border-left: 3px solid var(--primary); border-radius: 0 6px 6px 0; font-size: 13px; color: var(--text-2); }
.tx-ticker-icon { width: 16px; height: 16px; flex: none; }
.tx-ticker-date { color: var(--muted); white-space: nowrap; }
.tx-ticker-text a { color: var(--primary-hover); }

/* news */
.NewsHeadline { margin: 0 0 8px; }
.NewsHeadlineBackground { background: none !important; display: flex; align-items: center; gap: 10px; padding: 10px 0 8px; border-bottom: 1px solid var(--border-soft); }
.NewsHeadlineIcon { width: 20px; height: 20px; }
.NewsHeadlineDate { color: var(--muted); font-size: 12px; }
.NewsHeadlineText { font-family: var(--font-display); font-size: 1.15rem; font-weight: 700; color: var(--text); }
.NewsHeadlineAuthor { margin-left: auto; color: var(--muted); font-size: 12px; }
#News .BoxContent, .tx-panel .BoxContent { padding: 6px 0 18px; color: var(--text-2); line-height: 1.65; }
#NewsTicker .BoxContent .Row, .Content #NewsTicker .BoxContent .Row { background: rgba(255, 255, 255, .03); border-left: 3px solid var(--primary); padding: 6px 10px; margin-bottom: 6px; border-radius: 0 6px 6px 0; font-size: 13px; }
.NewsTickerDate { color: var(--muted); margin-right: 6px; }
#FeaturedArticle .BoxContent, .Content #FeaturedArticle .BoxContent { background: var(--card-2); border-radius: 8px; padding: 12px; }
#FeaturedArticle #TeaserThumbnail, .Content #FeaturedArticle #TeaserThumbnail { border-radius: 6px; }

/* ---------------------------------------------------------------- responsive */
@media (max-width: 1100px) {
	.tx-layout { grid-template-columns: minmax(0, 1fr) 290px; }
	.tx-week { grid-template-columns: repeat(4, 1fr); }
}
/* the menu needs this width to fit next to the logo */
@media (max-width: 1180px) {
	.tx-burger { display: flex; }
	.tx-nav { display: none; position: absolute; left: 0; right: 0; top: 100%; background: var(--card); border-bottom: 1px solid var(--border-soft); flex-direction: column; align-items: stretch; padding: 10px 16px 16px; max-height: calc(100vh - 64px); overflow: auto; }
	.tx-nav.is-open { display: flex; }
	.tx-nav-list { flex-direction: column; }
	.tx-nav-link { width: 100%; justify-content: space-between; padding: 14px 6px; border-bottom: 1px solid var(--border-soft); }
	.tx-dropdown { position: static; box-shadow: none; border: 0; background: rgba(0, 0, 0, .25); border-radius: 6px; }
	.tx-nav-side { justify-content: space-between; margin-top: 12px; }
}
@media (max-width: 980px) {
	.tx-layout { grid-template-columns: 1fr; }
	.tx-sidebar { position: static; }
	.tx-cols { grid-template-columns: 1fr; }
	.tx-week { grid-template-columns: repeat(2, 1fr); }
	.tx-war { grid-template-columns: 1fr; text-align: center; }
	.tx-war-right { text-align: center; }
}
@media (max-width: 560px) {
	.tx-wrap { width: calc(100% - 24px); }
	.tx-panel { padding: 16px 14px; }
	.tx-hero { padding-top: 28px; }
	.tx-stats li { min-width: 42%; }
	.tx-week { grid-template-columns: 1fr; }
	.tx-event { flex-direction: column; }
	.tx-brand-name { display: none; }
}

/* vocations */
.tx-voc-cards { grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); }
.tx-voc-chain { color: var(--text-2); font-size: 13px; font-weight: 600; margin: -4px 0 10px; }
.tx-vocations h4 { margin: 16px 0 8px; font-size: 13px; }
.tx-vocations .tx-table th, .tx-vocations .tx-table td { padding: 9px 10px; white-space: nowrap; font-size: 13px; }

/* link from the sidebar to one event */
.tx-events [id^="event-"] { scroll-margin-top: 90px; }
.tx-events [id^="event-"]:target { outline: 2px solid var(--primary-hover); outline-offset: 2px; border-radius: 8px; }

/* forum: path */
.tx-crumbs { display: flex; align-items: center; gap: 12px; margin: 0 0 22px; padding: 13px 20px; border: 1px solid rgba(190, 20, 28, .32); border-radius: 12px; background: linear-gradient(90deg, rgba(190, 20, 28, .09), rgba(0, 0, 0, .28) 45%, rgba(190, 20, 28, .06)); box-shadow: inset 0 0 22px rgba(190, 20, 28, .07); font-size: 15px; }
.tx-crumbs svg { fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.tx-crumbs-home { width: 22px; height: 22px; color: #ff8a80; }
.tx-crumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; list-style: none; margin: 0; padding: 0; min-width: 0; }
.tx-crumbs li { display: flex; align-items: center; gap: 10px; min-width: 0; }
.tx-crumbs a { color: var(--text-2); }
.tx-crumbs a:hover { color: #fff; text-decoration: none; }
.tx-crumbs-sep { width: 15px; height: 15px; color: #ef4040; }
.tx-crumbs [aria-current] { color: #ff4a4f; font-weight: 600; overflow-wrap: anywhere; }

/* forum: lists */
.tx-forum-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin: 0 0 18px; }
.tx-forum-head h2 { margin: 0 0 4px; overflow-wrap: anywhere; }
.tx-forum-head p { margin: 0; color: var(--muted); font-size: 14px; }
.tx-forum-head .tx-btn { flex: none; }
.tx-forum-pages { margin: 0 0 18px; color: var(--muted); font-size: 14px; }
.tx-forum-pages a, .tx-forum-pages b { display: inline-block; min-width: 28px; padding: 3px 7px; margin-left: 3px; text-align: center; border: 1px solid var(--border-soft); border-radius: 7px; }
.tx-forum-pages b { color: #fff; background: rgba(190, 20, 28, .4); border-color: var(--primary); }
.tx-forum-after { margin: 8px 0 0; text-align: right; }
.tx-forum-thread { display: block; font-weight: 600; font-size: 15px; }
.tx-table td small { display: block; color: var(--muted); font-size: 12px; line-height: 1.45; }
.tx-table td > br + small { display: inline; }
.tx-forum-mod { justify-content: flex-start; margin-top: 8px; }
.tx-forum-form textarea { width: 100%; box-sizing: border-box; }
.tx-forum-form input[type=submit] { margin-top: 14px; }

/* forum: post */
.rpg-comment { position: relative; margin: 0 0 30px; padding: 20px; border: 1px solid #51202a; border-radius: 16px; background: radial-gradient(ellipse 90% 38% at 50% -7%, rgba(96, 17, 30, .29), transparent 65%), linear-gradient(120deg, #1c1016 0%, #100d11 52%, #1d0e14 100%); box-shadow: inset 0 0 0 2px rgba(127, 34, 48, .14), inset 0 0 27px rgba(144, 17, 30, .18), 0 14px 22px rgba(0, 0, 0, .55); scroll-margin-top: 90px; }
.rpg-comment:target { border-color: var(--primary-hover); }
.rpg-comment__top-divider { position: absolute; z-index: 2; top: -16px; left: 8px; right: 8px; height: 32px; background: url('images/forum/ornaments/card-top-divider.svg') center / 100% 100% no-repeat; pointer-events: none; }
.rpg-comment__grid { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 20px; align-items: stretch; }
.rpg-profile { position: relative; padding: 14px 16px 20px; border: 1px solid #a0242d; border-radius: 13px; background: linear-gradient(rgba(23, 9, 14, .11), rgba(18, 11, 16, .67)), url('images/forum/backgrounds/profile-texture.webp') center / cover no-repeat; box-shadow: inset 0 0 0 5px #0e090d, inset 0 0 0 6px #651822, 0 11px 21px rgba(0, 0, 0, .6); }
.rpg-profile__corner { position: absolute; width: 40px; height: 40px; z-index: 1; pointer-events: none; max-width: none; }
.corner-tl { top: 1px; left: 1px; } .corner-tr { top: 1px; right: 1px; } .corner-bl { bottom: 1px; left: 1px; } .corner-br { bottom: 1px; right: 1px; }
.rpg-profile__name { position: relative; z-index: 2; margin: 6px 26px 0; text-align: center; font: 24px/1.2 Georgia, 'Times New Roman', serif; letter-spacing: 0; overflow-wrap: anywhere; }
.rpg-profile__name a { color: #ff7670; text-shadow: 0 0 18px rgba(218, 41, 55, .63), 0 2px 2px #000; }
.rpg-profile__name a:hover { color: #ffa29c; text-decoration: none; }
.rpg-profile__avatar-wrap { position: relative; height: 112px; overflow: hidden; }
.rpg-profile__avatar { position: absolute; left: 50%; top: 50%; width: 128px; height: 128px; max-width: none; margin: -86px 0 0 -90px; image-rendering: pixelated; filter: drop-shadow(0 7px 6px rgba(0, 0, 0, .55)); }
.rpg-profile__guild { position: relative; z-index: 2; margin: 0 0 10px; text-align: center; font-size: 13px; color: var(--text-2); overflow-wrap: anywhere; }
.rpg-profile__stats { position: relative; z-index: 2; display: flex; flex-direction: column; gap: 5px; }
.rpg-stat { display: grid; grid-template-columns: 20px 1fr auto; align-items: center; gap: 8px; min-height: 37px; padding: 5px 10px; background: linear-gradient(105deg, rgba(10, 9, 12, .97), rgba(25, 18, 22, .9)); border: 1px solid #382a30; border-radius: 9px; box-shadow: inset 0 0 3px rgba(255, 255, 255, .07); font-size: 13px; }
.rpg-stat img { width: 18px; height: 18px; }
.rpg-stat span { color: #bfb2aa; }
.rpg-stat strong { color: #f5eee7; font-size: 14px; font-weight: 700; text-align: right; }
.rpg-profile__separator { display: block; width: 100%; height: 20px; object-fit: fill; margin: 1px 0; }
.rpg-message { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border-radius: 13px; border: 1px solid #39242b; background: linear-gradient(145deg, #171318 0%, #100f13 85%); box-shadow: 0 10px 16px rgba(0, 0, 0, .45), inset 0 0 35px rgba(93, 32, 32, .15); }
.rpg-message__header { position: relative; display: flex; align-items: center; gap: 13px; min-height: 66px; padding: 8px 22px; background: linear-gradient(90deg, rgba(22, 13, 20, .63), rgba(54, 20, 26, .21)), url('images/forum/backgrounds/comment-title.webp') center / cover no-repeat; border-bottom: 1px solid #791c26; }
.rpg-message__icon { flex: none; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 8px; background: #0c0a0e; }
.rpg-message__icon img { width: 24px; height: 24px; }
.rpg-message__header h3 { margin: 0; color: #f5e9df; font: 23px/1.2 Georgia, 'Times New Roman', serif; letter-spacing: 0; text-shadow: 0 2px 3px rgba(0, 0, 0, .6); overflow-wrap: anywhere; }
.rpg-message__body { flex: 1; padding: 22px 26px; color: #eee5dc; font: 17px/1.6 Georgia, 'Times New Roman', serif; overflow-wrap: anywhere; }
.rpg-message__body img { height: auto; }
.rpg-message__footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 14px; padding: 11px 16px 11px 26px; border-top: 1px solid #2c1d23; font-size: 12px; color: var(--muted); }
.rpg-message__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; }
.rpg-message__meta a { color: var(--muted); }
.rpg-message__badge { padding: 1px 8px; border: 1px solid #791c26; border-radius: 99px; color: #ffb4ae; font-size: 11px; }
.rpg-message__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.rpg-action-form { display: inline; margin: 0; }
.tx-panel .rpg-action, .rpg-action { display: inline-block; padding: 4px 11px; border: 1px solid #4b2028; border-radius: 7px; background: rgba(0, 0, 0, .3); color: var(--text-2); font: 600 12px/1.5 var(--font); cursor: pointer; }
.tx-panel .rpg-action:hover, .rpg-action:hover { border-color: var(--primary-hover); background: rgba(190, 20, 28, .18); color: #fff; text-decoration: none; }
.tx-panel .rpg-action--danger:hover { background: var(--primary); }
@media (max-width: 760px) {
	.rpg-comment { padding: 16px 12px; }
	.rpg-comment__grid { grid-template-columns: 1fr; gap: 14px; }
	.rpg-message__body { padding: 18px; font-size: 16px; }
	.rpg-message__footer { padding: 10px 14px; }
	.tx-forum-head { flex-direction: column; }
	.tx-crumbs { padding: 11px 14px; font-size: 14px; }
}

/* account panel: same pieces as the forum post */
.tx-account { position: relative; display: grid; grid-template-columns: 216px minmax(0, 1fr); gap: 18px; margin-top: 18px; padding: 24px 22px 22px; border: 1px solid #8d202b; border-radius: 16px; background: radial-gradient(ellipse at 48% 0, rgba(87, 14, 25, .2), transparent 65%), linear-gradient(135deg, #160e13 0%, #0b090e 47%, #170d12 100%); box-shadow: inset 0 0 0 3px #2f111a, inset 0 0 30px rgba(96, 21, 30, .33), 0 14px 26px rgba(0, 0, 0, .55); }
.tx-account .rpg-comment__top-divider { left: 6%; right: 6%; }
.tx-frame__corner { position: absolute; z-index: 1; width: 40px; height: 40px; max-width: none; pointer-events: none; }
.tx-account__nav { display: flex; flex-direction: column; gap: 7px; min-width: 0; padding: 10px 8px; border: 1px solid #482029; border-radius: 12px; background: linear-gradient(150deg, #180e14 0%, #0e0a0e 78%); box-shadow: inset 0 0 35px rgba(80, 11, 29, .16); }
.tx-account__nav a { position: relative; display: flex; align-items: center; gap: 11px; min-height: 44px; padding: 7px 12px; border: 1px solid #40262b; border-radius: 10px; background: linear-gradient(#191419, #100e12); color: #f3eae2; font: 15px/1.2 Georgia, 'Times New Roman', serif; box-shadow: inset 0 -1px 0 rgba(103, 32, 43, .27); transition: background .16s, border-color .16s; }
.tx-account__nav img { flex: none; width: 20px; height: 20px; }
.tx-account__nav a:hover { background: linear-gradient(#34131b, #1d0c12); border-color: #a82b34; text-decoration: none; color: #fff; }
.tx-account__nav a[aria-current] { border-color: #eb393f; background: linear-gradient(100deg, #5f111b, #280b10 70%, #7c111e); box-shadow: inset 0 0 16px rgba(191, 26, 43, .23), 0 0 12px rgba(252, 42, 46, .22); }
.tx-account__nav a[aria-current]::after { content: ''; position: absolute; right: -6px; top: 50%; width: 10px; height: 10px; margin-top: -5px; transform: rotate(45deg); background: #5d101a; border-top: 1px solid #ed3b40; border-right: 1px solid #ed3b40; }
.tx-account__content { min-width: 0; }
.tx-account__heading, .tx-account-card__head { display: flex; align-items: center; gap: 13px; min-height: 58px; padding: 8px 20px; background: linear-gradient(90deg, rgba(22, 13, 20, .63), rgba(54, 20, 26, .21)), url('images/forum/backgrounds/comment-title.webp') center / cover no-repeat; border-bottom: 1px solid #791c26; }
.tx-account__heading { border: 1px solid #5b222a; border-bottom-color: #c72c35; border-radius: 10px 10px 0 0; }
.tx-account__heading .rpg-message__icon, .tx-account-card__head .rpg-message__icon { width: 34px; height: 34px; }
.tx-account__heading h2, .tx-account-card__head h3 { margin: 0; padding: 0; border: 0; color: #f5e9df; font: 700 21px/1.15 Georgia, 'Times New Roman', serif; letter-spacing: 0; text-transform: uppercase; text-shadow: 0 2px 3px rgba(0, 0, 0, .6); overflow-wrap: anywhere; }
.tx-account__heading h2::after, .tx-account-card__head h3::after { display: none; }
.tx-account-card__head h3 { font-size: 17px; }
.tx-table-wrap, .tx-account__body, .tx-account-logs { scrollbar-color: #5b222a #120d11; scrollbar-width: thin; }
.tx-account__body { padding: 18px; border: 1px solid #3b1b20; border-top: 0; border-radius: 0 0 10px 10px; background: linear-gradient(#110d12, #0e0c10); overflow-x: auto; }
.tx-account-welcome { display: grid; grid-template-columns: 124px minmax(0, 1fr); gap: 20px; align-items: center; padding: 18px 20px; border: 1px solid #3b1b20; border-top: 0; background: radial-gradient(ellipse at 14% 47%, rgba(88, 17, 28, .24), transparent 41%), linear-gradient(#110d12, #0e0c10); }
.tx-account-welcome__seal { display: grid; place-items: center; align-self: stretch; padding-right: 18px; border-right: 1px solid #481924; }
.tx-account-welcome__seal img { width: 88px; height: 112px; object-fit: contain; filter: drop-shadow(0 0 15px rgba(214, 31, 45, .4)); }
.tx-account-welcome p { margin: 0; color: #f3eae2; font: 17px/1.4 Georgia, 'Times New Roman', serif; overflow-wrap: anywhere; }
.tx-account-welcome strong { color: #fff6ed; }
.tx-account-welcome .tx-account-welcome__hint { margin: 10px 0 12px; color: #e5d9ce; font: 14px/1.5 var(--font); }
.tx-account-welcome__alert { margin-bottom: 8px !important; color: #ff6b6b !important; font-weight: 700; }
.tx-account__rule { display: block; width: 100%; height: 24px; margin: 3px 0; object-fit: contain; }
.fantasy-btn { display: inline-grid; place-items: center; min-width: 190px; min-height: 44px; padding: 6px 24px; color: #fff5eb; font: 700 16px/1.1 Georgia, 'Times New Roman', serif; text-align: center; text-shadow: 0 1px 2px #000; background: url('images/forum/ornaments/button-frame.svg') center / 100% 100% no-repeat; filter: drop-shadow(0 4px 7px rgba(181, 0, 0, .18)); transition: filter .18s, transform .18s; }
.fantasy-btn:hover { color: #fff; text-decoration: none; filter: brightness(1.25) drop-shadow(0 0 8px rgba(240, 43, 54, .3)); transform: translateY(-1px); }
.fantasy-btn--small { min-width: 116px; min-height: 32px; padding: 4px 14px; font-size: 13px; }
.tx-account-card { margin: 0 0 16px; overflow: hidden; border: 1px solid #3d1d24; border-radius: 11px; background: #110d12; }
.tx-account-card__body { padding: 12px; }
.tx-account-card__foot { padding: 0 12px 12px; text-align: right; }
.tx-account-card > :last-child { margin-bottom: 0; }
.tx-account-rows { margin: 0; overflow: hidden; border: 1px solid #32232b; border-radius: 10px; }
.tx-account-row { display: grid; grid-template-columns: minmax(150px, 34%) minmax(0, 1fr); align-items: center; min-height: 42px; padding: 5px 13px; background: #121015; border-bottom: 1px solid #34252a; font: 14px/1.3 Georgia, 'Times New Roman', serif; }
.tx-account-row:nth-child(even) { background: #20191f; }
.tx-account-row:last-child { border-bottom: 0; }
.tx-account-row dt { display: flex; align-items: center; gap: 11px; color: #eee4da; font-weight: 400; }
.tx-account-row dt img { flex: none; width: 18px; height: 18px; }
.tx-account-row dd { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 10px; min-width: 0; margin: 0; color: #f3eae2; overflow-wrap: anywhere; }
.tx-account-row dd small { flex-basis: 100%; color: var(--muted); font: 12px/1.4 var(--font); }
.tx-account-good { color: #7dde41; font-weight: 700; }
.tx-account-bad { color: #ff4141; font-weight: 700; }
.tx-account-note { margin: 0 0 16px; padding: 12px 14px; border: 1px solid #791c26; border-radius: 10px; background: rgba(190, 20, 28, .1); color: var(--text-2); font-size: 14px; }
.tx-account-note form { margin: 8px 0 0; }
.tx-account-logs { max-height: 268px; overflow-y: auto; border-radius: 10px; }
.tx-account-card .tx-table { font-size: 13px; }
.tx-account-card .tx-table th, .tx-account-card .tx-table td { padding: 9px 11px; }
.tx-account-char { display: flex; align-items: center; gap: 8px; }
.tx-account__body table { max-width: 100%; }
.tx-account__body input[type=text], .tx-account__body input[type=password], .tx-account__body input[type=email], .tx-account__body textarea, .tx-account__body select { max-width: 100%; }
.tx-account__body td.LabelV { white-space: nowrap; }
@media (max-width: 760px) {
	.tx-account { grid-template-columns: minmax(0, 1fr); gap: 0; padding: 14px 12px 18px; }
	.tx-account__nav { flex-direction: row; gap: 6px; margin-bottom: 14px; scrollbar-color: #5b222a #120d11; scrollbar-width: thin; padding: 7px; overflow-x: auto; }
	.tx-account__nav a { flex: none; min-height: 40px; padding: 5px 11px; gap: 7px; font-size: 13px; white-space: nowrap; }
	.tx-account__nav a[aria-current]::after { display: none; }
	.tx-account-welcome { grid-template-columns: minmax(0, 1fr); justify-items: center; text-align: center; padding: 14px; }
	.tx-account-welcome__seal { width: 100%; padding: 0 0 10px; border-right: 0; border-bottom: 1px solid #481924; }
	.tx-account-row { grid-template-columns: minmax(0, 1fr); gap: 3px; padding: 9px 11px; }
	.tx-account-row dt { color: var(--muted); font: 12px/1.3 var(--font); }
}

/* account forms: no box inside the panel, only labels and fields */
.tx-account__body .CaptionContainer { display: none; }
.tx-account__body .TableContainer, .tx-account__body .InnerTableContainer { margin: 0; }
.tx-account__body .Table3, .tx-account__body .Table3 > tbody > tr > td, .tx-account__body .InnerTableContainer > table > tbody > tr > td { display: block; width: auto; padding: 0; }
.tx-account__body .Table3 > tbody, .tx-account__body .Table3 > tbody > tr { display: block; }
.tx-account__body .Odd, .tx-account__body .Even { background: none !important; }
.tx-account__body .LabelV, .tx-account__body .LabelH td { color: #eee4da !important; font: 14px/1.3 Georgia, 'Times New Roman', serif !important; vertical-align: middle; }
.tx-account-form { margin: 18px 0 6px; }
.tx-account-form > table td, .tx-account__body .TableContent td { padding: 7px 10px 7px 0; border: 0; font-size: 14px; }
.tx-account-form input[type=text], .tx-account-form input[type=password], .tx-account-form input[type=email], .tx-account-form select, .tx-account__body .TableContent input[type=text], .tx-account__body .TableContent select, .tx-account__body .TableContent textarea { width: 100%; box-sizing: border-box; }
.tx-account__body input[type=submit] { min-width: 150px; min-height: 42px; padding: 6px 24px; border: 0; border-radius: 0; background: url('images/forum/ornaments/button-frame.svg') center / 100% 100% no-repeat; color: #fff5eb; font: 700 15px/1.1 Georgia, 'Times New Roman', serif; text-shadow: 0 1px 2px #000; transition: filter .18s; }
.tx-account__body input[type=submit]:hover { background: url('images/forum/ornaments/button-frame.svg') center / 100% 100% no-repeat; filter: brightness(1.25); }
.tx-account__body input[name=Back] { min-height: 38px; border: 1px solid #4b2028; border-radius: 8px; background: rgba(0, 0, 0, .3); color: var(--text-2); font-weight: 400; text-shadow: none; }
.tx-account__body input[name=Back]:hover { border-color: var(--primary-hover); background: rgba(190, 20, 28, .18); color: #fff; filter: none; }

/* ---------------------------------------------------------------- common look, taken from the forum and the account panel */
h2, h3, h4 { font-family: Georgia, 'Times New Roman', serif; }
.tx-frame { position: relative; border: 1px solid #8d202b; border-radius: 16px; background: radial-gradient(ellipse at 48% 0, rgba(87, 14, 25, .2), transparent 65%), linear-gradient(135deg, #160e13 0%, #0b090e 47%, #170d12 100%); box-shadow: inset 0 0 0 3px #2f111a, inset 0 0 30px rgba(96, 21, 30, .33), 0 14px 26px rgba(0, 0, 0, .55); }
.tx-frame > .rpg-comment__top-divider { left: 6%; right: 6%; }
.tx-panel { padding: 26px 26px 24px; background: none; border-radius: 16px; box-shadow: none; }
.tx-account { margin: 0; padding: 0; border: 0; background: none; box-shadow: none; }

/* section titles */
.tx-page h2 { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; min-height: 50px; margin: 26px 0 14px; padding: 8px 18px; color: #f5e9df; font: 700 17px/1.2 Georgia, 'Times New Roman', serif; letter-spacing: 0; text-transform: uppercase; text-shadow: 0 2px 3px rgba(0, 0, 0, .6); background: linear-gradient(90deg, rgba(22, 13, 20, .63), rgba(54, 20, 26, .21)), url('images/forum/backgrounds/comment-title.webp') center / cover no-repeat; border: 1px solid #5b222a; border-bottom-color: #c72c35; border-radius: 10px 10px 0 0; overflow-wrap: anywhere; }
.tx-page > h2:first-child { margin-top: 0; }
.tx-page h2 small { color: #bfb2aa; font: 400 12px var(--font); text-transform: none; text-shadow: none; }
.tx-page h2 a { color: inherit; }
.tx-forum-head h2, .tx-faq-head h2, .tx-featured h2, .tx-account__heading h2, .rpg-message__header h2 { display: block; min-height: 0; margin: 0; padding: 0; background: none; border: 0; border-radius: 0; }
.tx-forum-head h2 { color: var(--text); font-size: 1.25rem; text-transform: none; }
.tx-panel h3 { color: #f5e9df; letter-spacing: 0; }
.tx-panel .TableContainer .CaptionContainer { padding: 8px 14px; background: linear-gradient(90deg, rgba(22, 13, 20, .63), rgba(54, 20, 26, .21)), url('images/forum/backgrounds/comment-title.webp') center / cover no-repeat; border: 1px solid #5b222a; border-bottom-color: #c72c35; border-radius: 10px 10px 0 0; }
.tx-panel .TableContainer .CaptionContainer .Text { color: #f5e9df !important; font: 700 15px/1.2 Georgia, 'Times New Roman', serif !important; letter-spacing: 0; text-transform: uppercase; }

/* surfaces */
.tx-card, .tx-event, .tx-week-day, .tx-war, .tx-package, .tx-auction, .tx-bp-facts > div, .tx-monster-card, .tx-steps li, .tx-faq-item, .tx-loot-item, .tx-rule { background: linear-gradient(145deg, #171318 0%, #100f13 85%); border: 1px solid #39242b; border-radius: 12px; box-shadow: inset 0 0 28px rgba(93, 32, 32, .1); }
.tx-rule { padding: 0 0 8px; overflow: hidden; }
.tx-rule h2 { margin: 0 0 6px; border-width: 0 0 1px; border-radius: 0; }
.tx-rule li { padding-right: 14px; border-bottom-color: #2c1d23; }
.tx-rule li:last-child { border-bottom: 0; }
a.tx-monster-card:hover, .tx-card:hover, .tx-package:hover, .tx-auction:hover { border-color: #a82b34; }
.tx-card h3, .tx-card h4 { font-family: Georgia, 'Times New Roman', serif; }
.tx-monster-card.is-boss { border-color: #b8892a; }
.tx-notice { background: linear-gradient(145deg, #171318, #100f13); border: 1px solid #39242b; border-left: 3px solid #7a5a5e; border-radius: 10px; }
.tx-notice-ok { border-left-color: var(--ok); }
.tx-notice-warn { border-left-color: var(--warn); }
.tx-notice-error { border-left-color: var(--primary-hover); }
.tx-page-intro { border: 1px solid #39242b; border-left: 3px solid var(--primary); border-radius: 10px; background: linear-gradient(90deg, rgba(190, 20, 28, .12), rgba(0, 0, 0, .18)); }
.tx-faq-item { padding: 12px 16px; }
.tx-faq-item[open] { border-color: #791c26; }
.tx-faq-item summary { color: #f3eae2; font: 15px/1.35 Georgia, 'Times New Roman', serif; }
.tx-faq-item summary:hover { color: #ff7670; }
.tx-steps .tx-rule-num, .tx-rule-num { background: linear-gradient(#9a121c, #60090f); box-shadow: 0 0 0 1px #f03740; }
.tx-store .tx-tabs { background: #120d11; }

/* buttons: the frame of the account panel for the main action, a quiet one for the rest */
.tx-btn { border-color: #4b2028; border-radius: 8px; background: rgba(0, 0, 0, .3); color: var(--text-2); }
.tx-btn:hover { border-color: var(--primary-hover); background: rgba(190, 20, 28, .18); box-shadow: none; }
.tx-btn-primary, .tx-btn-primary:hover, .tx-panel input[type=submit], .tx-panel input[type=submit]:hover, .tx-panel button:not(.rpg-action), .tx-panel button:not(.rpg-action):hover, .tx-login-form button, .tx-login-form button:hover, .tx-login-form input[type=submit], .tx-login-form input[type=submit]:hover { min-height: 40px; padding: 7px 24px; border: 0; border-radius: 0; background: url('images/forum/ornaments/button-frame.svg') center / 100% 100% no-repeat; box-shadow: none; color: #fff5eb; font: 700 15px/1.1 Georgia, 'Times New Roman', serif; text-shadow: 0 1px 2px #000; cursor: pointer; transition: filter .18s; }
.tx-btn-primary:hover, .tx-panel input[type=submit]:hover, .tx-panel button:not(.rpg-action):hover, .tx-login-form button:hover, .tx-login-form input[type=submit]:hover { filter: brightness(1.25) drop-shadow(0 0 7px rgba(240, 43, 54, .3)); color: #fff; }
.tx-btn-small.tx-btn-primary { min-height: 34px; padding: 5px 18px; font-size: 13px; }
.tx-login-form input.tx-btn { width: 100%; }

/* fields: also the ones MyAAC leaves without a type */
.tx-panel input:not([type=checkbox], [type=radio], [type=submit], [type=image], [type=hidden], [type=button], [type=file]) { padding: 9px 11px; border: 1px solid #4b2028; border-radius: 7px; background: #0e0a0e !important; color: var(--text) !important; font: 14px var(--font); }
.tx-panel select, .tx-panel textarea, .tx-login-form input { border-color: #4b2028; background: #0e0a0e; }
.tx-panel input[type=checkbox], .tx-panel input[type=radio] { accent-color: var(--primary); }

/* tabs, same as the account menu */
.tx-tab { padding: 7px 13px; border: 1px solid #40262b; border-radius: 9px; background: linear-gradient(#191419, #100e12); color: #f3eae2; }
.tx-tab:hover { border-color: #a82b34; background: linear-gradient(#34131b, #1d0c12); }
.tx-tab-active, .tx-tab-active:hover { border-color: #eb393f; background: linear-gradient(100deg, #5f111b, #280b10 70%, #7c111e); box-shadow: inset 0 0 12px rgba(191, 26, 43, .23); color: #fff; }

/* sidebar boxes */
.tx-box { padding: 0 16px 16px; overflow: hidden; background: linear-gradient(145deg, #171318 0%, #100f13 85%); border: 1px solid #51202a; border-radius: 13px; box-shadow: inset 0 0 26px rgba(144, 17, 30, .1), 0 10px 18px rgba(0, 0, 0, .5); }
.tx-box h3 { margin: 0 -16px 13px; padding: 12px 16px; color: #f5e9df; font: 700 14px/1.2 Georgia, 'Times New Roman', serif; letter-spacing: .02em; text-shadow: 0 2px 3px rgba(0, 0, 0, .6); background: linear-gradient(90deg, rgba(22, 13, 20, .63), rgba(54, 20, 26, .21)), url('images/forum/backgrounds/comment-title.webp') center / cover no-repeat; border-bottom: 1px solid #791c26; }
.tx-boosted-item { background: rgba(0, 0, 0, .25); border: 1px solid #32232b; border-radius: 10px; }

/* home */
.tx-stats li { background: linear-gradient(105deg, rgba(10, 9, 12, .97), rgba(25, 18, 22, .9)); border: 1px solid #51202a; border-radius: 12px; box-shadow: inset 0 0 18px rgba(144, 17, 30, .12); }
.tx-stats strong { font-family: Georgia, 'Times New Roman', serif; }

/* news */
.tx-tickers { gap: 0; margin-bottom: 26px; overflow: hidden; border: 1px solid #32232b; border-radius: 10px; }
.tx-ticker { padding: 10px 14px; background: #121015; border: 0; border-bottom: 1px solid #34252a; border-radius: 0; color: #eee4da; font-size: 14px; }
.tx-ticker:nth-child(even) { background: #20191f; }
.tx-ticker:last-child { border-bottom: 0; }
.tx-ticker-icon { width: 18px; height: 18px; }
.tx-featured { margin-bottom: 26px; padding: 18px; background: linear-gradient(145deg, #171318, #100f13); border: 1px solid #39242b; border-radius: 12px; }
.tx-featured h2 { margin-bottom: 8px; font-size: 20px; text-transform: none; }
.tx-news.rpg-comment { padding: 14px; }
.tx-news .rpg-message__header h2 { color: #f5e9df; font: 23px/1.2 Georgia, 'Times New Roman', serif; letter-spacing: 0; text-shadow: 0 2px 3px rgba(0, 0, 0, .6); overflow-wrap: anywhere; }
.tx-news-body h2, .tx-news-body h3, .tx-news-body h4 { margin: 1.2em 0 .5em; color: #f5e9df; font-family: Georgia, 'Times New Roman', serif; letter-spacing: 0; }
.tx-news-body > :first-child { margin-top: 0; }
.tx-news-body > :last-child { margin-bottom: 0; }

@media (max-width: 760px) {
	.tx-panel { padding: 18px 12px 14px; }
	.tx-page h2 { min-height: 44px; padding: 8px 12px; font-size: 15px; }
	.tx-frame__corner { width: 30px; height: 30px; }
	.tx-news.rpg-comment { padding: 10px 8px; }
}

/* adjustments of the common look */
.tx-btn-block, .tx-login-form button { width: 100%; }
.tx-btn-big.tx-btn-primary, .tx-btn-big.tx-btn-primary:hover { min-height: 50px; padding: 12px 34px; font-size: 17px; }
.tx-news.rpg-comment { padding: 0; border: 0; background: none; box-shadow: none; }
.tx-news > .rpg-comment__top-divider { display: none; }
.tx-shop-item h4 { padding-right: 46px; }
.tx-tabs-small .tx-tab { padding: 5px 11px; font-size: 12px; }
.tx-highscores td small { display: block; color: var(--muted); font-size: 12px; }
.tx-highscores-outfit { width: 58px; padding-top: 2px !important; padding-bottom: 2px !important; }
.tx-highscores-pages { justify-content: flex-end; }

/* create account and create character */
.tx-create__card { margin-bottom: 18px; background: linear-gradient(145deg, #171318, #100f13); border-color: #5b222a; }
.tx-create__card .tx-account-card__head { min-height: 50px; padding: 7px 18px; }
.tx-create__card .tx-account-card__body { padding: 16px 18px 18px; }
.tx-create__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 22px; }
.tx-create__basic { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); gap: 16px 24px; }
.tx-create__basic > .tx-account-card, .tx-create__card .tx-create__card { grid-column: 1 / -1; }
.tx-field { min-width: 0; }
.tx-field--last { order: 1; }
.tx-field label, .tx-create__group legend { display: block; margin: 0 0 7px; padding: 0; color: #f5e9df; font: 700 15px/1.2 Georgia, 'Times New Roman', serif; }
.tx-field__row { display: flex; align-items: center; gap: 8px; }
.tx-panel .tx-create input[type=text], .tx-panel .tx-create input[type=password], .tx-panel .tx-create input[type=email], .tx-panel .tx-create select { width: 100%; min-width: 0; min-height: 40px; }
.tx-panel .tx-create input[type=text]:focus, .tx-panel .tx-create input[type=password]:focus, .tx-panel .tx-create input[type=email]:focus { border-color: #eb393f; }
.tx-field__state { flex: none; max-width: 22px; max-height: 18px; }
.tx-create .FormFieldError { display: block; margin-top: 5px; color: #ff6b6b; font-size: 12px; }
.tx-create .FormFieldError:empty { display: none; }
.tx-create .red { color: #ff6b6b; }
.tx-create__hint { display: block; margin: 0 0 12px; color: #d9cdc4; font-size: 14px; }
small.tx-create__hint { margin: 6px 0 0; color: var(--muted); font-size: 12px; }
.tx-create__intro { margin: 0; color: #e5d9ce; font-size: 15px; line-height: 1.55; }
.tx-create__group { min-width: 0; margin: 0; padding: 0; border: 0; }
.tx-create__basic > .tx-create__group { padding-left: 24px; border-left: 1px solid #3b1b20; }
.tx-choices { display: grid; gap: 10px; }
.tx-create__card[hidden], .tx-create__hint[hidden] { display: none; }
.tx-choices--sex { grid-template-columns: repeat(auto-fit, minmax(112px, 1fr)); }
.tx-choices--voc { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tx-choices--voc .tx-choice:last-child:nth-child(odd) { grid-column: 1 / -1; }
.tx-choice { position: relative; display: flex; align-items: center; gap: 13px; min-height: 66px; padding: 10px 14px; border: 1px solid #40262b; border-radius: 10px; background: linear-gradient(#191419, #100e12); box-shadow: inset 0 -1px 0 rgba(103, 32, 43, .27); cursor: pointer; transition: background .16s, border-color .16s, box-shadow .16s; }
.tx-choice:hover { border-color: #a82b34; background: linear-gradient(#34131b, #1d0c12); }
.tx-choice:has(input:checked) { border-color: #eb393f; background: linear-gradient(100deg, #5f111b, #280b10 70%, #7c111e); box-shadow: inset 0 0 16px rgba(191, 26, 43, .23), 0 0 12px rgba(252, 42, 46, .22); }
.tx-choice:has(input:focus-visible) { outline: 2px solid #ffb987; outline-offset: 2px; }
.tx-panel .tx-choice input { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; }
.tx-choice__icon { flex: none; display: grid; place-items: center; width: 40px; height: 40px; }
.tx-choice__icon img { width: 34px; height: 34px; }
.tx-choice__text { flex: 1; min-width: 0; }
.tx-choice__text strong { display: block; color: #f5e9df; font: 700 15px/1.2 Georgia, 'Times New Roman', serif; letter-spacing: .02em; text-transform: uppercase; }
.tx-choice__text small { display: block; margin-top: 3px; color: #d9cdc4; font: 13px/1.3 Georgia, 'Times New Roman', serif; }
.tx-choice__ring { flex: none; position: relative; width: 20px; height: 20px; border: 2px solid #8d7f7a; border-radius: 50%; }
.tx-choice input:checked ~ .tx-choice__ring { border-color: #ff5a5f; }
.tx-choice input:checked ~ .tx-choice__ring::after { content: ''; position: absolute; inset: 3px; border-radius: 50%; background: #ff3b40; box-shadow: 0 0 6px rgba(255, 59, 64, .8); }
.tx-choice--small { min-height: 44px; padding: 7px 12px; gap: 10px; }
.tx-choice--small .tx-choice__text strong { font-size: 14px; font-weight: 400; text-transform: none; }
.tx-create__rules { margin: 0 0 18px; padding: 12px 16px; border: 1px solid #39242b; border-radius: 10px; background: rgba(0, 0, 0, .22); }
.tx-create__check { display: flex; align-items: center; gap: 10px; color: var(--text-2); font-size: 14px; cursor: pointer; }
.tx-create__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 16px; margin-top: 4px; }
.tx-panel .tx-create__actions input[type=submit] { min-width: 240px; min-height: 52px; padding: 10px 34px; font-size: 16px; letter-spacing: .03em; text-transform: uppercase; }
.tx-create__actions .tx-btn { min-width: 150px; min-height: 44px; font: 700 15px/1.1 Georgia, 'Times New Roman', serif; text-transform: uppercase; }
@media (max-width: 760px) {
	.tx-create__grid, .tx-create__basic, .tx-choices--voc { grid-template-columns: minmax(0, 1fr); }
	.tx-create__basic > .tx-create__group { padding-left: 0; border-left: 0; }
	.tx-panel .tx-create__actions input[type=submit] { width: 100%; }
}

/* the title goes above both columns, so the sidebar starts level with the page panel */
.tx-title { grid-column: 1 / -1; margin: 6px 0 -8px; }

/* outfits: the picture is a 64px canvas with the character in its lower right part. It grows 1.5 times and moves up and left, so what is seen is the character and not the empty canvas. */
.tx-account-char img, .tx-highscores-outfit img, .tx-outfit-mini, .tx-panel td > img[alt="player outfit"] { position: static !important; flex: none; display: block; width: 96px; height: 96px; max-width: none; margin: -48px 0 0 -48px !important; object-fit: fill; image-rendering: pixelated; pointer-events: none; }
.tx-account-char > span { position: relative; z-index: 1; }
.tx-highscores-outfit { width: 64px; }
.tx-account-char { gap: 10px; }
.tx-account-char small { display: block; color: var(--muted); font-size: 12px; }
.tx-auction-outfit { width: 128px; height: 128px; max-width: none; margin: -64px 0 0 -64px; object-fit: fill; }
img.tx-shop-img { flex: none; width: 96px; height: 96px; max-width: none; margin: -24px 0 0 -24px; object-fit: fill; }
.tx-monster-card:has(img[src*="outfit"]), .tx-monster-card:has(img[src*="images/mounts/"]) { padding-top: 26px; }
.tx-monster-card img[src*="outfit"], .tx-monster-card img[src*="images/mounts/"] { width: 96px; height: 96px; max-width: none; margin: -24px 0 0 -24px; object-fit: fill; }
.tx-boosted-item img { flex: none; width: 72px; height: 72px; object-fit: contain; }
.tx-boosted-item { align-items: center; min-height: 84px; }

/* login and account popup: the frame of the pages, with the title on its own instead of a red bar */
.tx-dialog { position: fixed; width: min(420px, calc(100vw - 32px)); max-height: calc(100vh - 32px); margin: auto; padding: 28px 30px 26px; overflow-y: auto; color: var(--text); border: 1px solid #8d202b; border-radius: 16px; background: radial-gradient(ellipse at 50% 0, rgba(110, 18, 30, .34), transparent 62%), linear-gradient(135deg, #160e13 0%, #0b090e 52%, #170d12 100%); box-shadow: inset 0 0 0 3px #2f111a, inset 0 0 30px rgba(96, 21, 30, .33), 0 24px 60px rgba(0, 0, 0, .8), 0 0 40px rgba(190, 20, 28, .18); }
.tx-dialog[open] { animation: tx-dialog-in .24s cubic-bezier(.2, .8, .3, 1.15); }
.tx-dialog::backdrop { background: rgba(4, 3, 6, .72); backdrop-filter: blur(3px); }
.tx-dialog[open]::backdrop { animation: tx-backdrop-in .24s ease-out; }
.tx-dialog.is-closing { animation: tx-dialog-out .18s ease-in forwards; }
.tx-dialog.is-closing::backdrop { animation: tx-backdrop-out .18s ease-in forwards; }
@keyframes tx-dialog-in { from { opacity: 0; transform: translateY(-16px) scale(.93); } to { opacity: 1; transform: none; } }
@keyframes tx-dialog-out { to { opacity: 0; transform: translateY(-10px) scale(.96); } }
@keyframes tx-backdrop-in { from { opacity: 0; } }
@keyframes tx-backdrop-out { to { opacity: 0; } }
.tx-dialog__close { position: absolute; z-index: 2; top: 14px; right: 16px; width: 32px; height: 32px; padding: 0; border: 1px solid #4b2028; border-radius: 8px; background: rgba(0, 0, 0, .35); color: var(--text-2); font: 22px/1 Georgia, serif; cursor: pointer; transition: background .15s, border-color .15s, color .15s; }
.tx-dialog__close:hover { border-color: var(--primary-hover); background: rgba(190, 20, 28, .25); color: #fff; }
.tx-dialog__head { display: flex; flex-direction: column; align-items: center; margin-bottom: 16px; text-align: center; }
.tx-dialog__head > img:first-child { width: 58px; height: 58px; filter: drop-shadow(0 0 12px rgba(224, 42, 52, .45)); }
.tx-dialog__head h2 { margin: 6px 0 2px; padding: 0; border: 0; color: #f5e9df; font: 700 24px/1.2 Georgia, 'Times New Roman', serif; letter-spacing: .01em; text-shadow: 0 2px 4px rgba(0, 0, 0, .7); }
.tx-dialog__rule { width: 72%; height: 22px; object-fit: contain; }
.tx-dialog .tx-login-form label span { color: #bfb2aa; font-size: 13px; }
.tx-dialog .tx-login-form input { min-height: 42px; }
.tx-dialog .tx-login-form button { min-height: 46px; margin-top: 12px; font-size: 16px; }
.tx-dialog .tx-box-links { flex-wrap: wrap; gap: 6px 14px; margin-top: 14px; }
.tx-dialog .tx-welcome, .tx-dialog .tx-coins { text-align: center; }
.tx-header-account { display: none; }
@media (max-width: 1180px) {
	.tx-header-account { display: inline-flex; margin-left: auto; margin-right: 10px; }
	.tx-nav-side [data-account-dialog] { display: none; }
}
@media (prefers-reduced-motion: reduce) {
	.tx-dialog[open], .tx-dialog[open]::backdrop, .tx-dialog.is-closing, .tx-dialog.is-closing::backdrop { animation: none; }
}

/* top players on the home page: every position is a share of the picture, so it all grows with it */
/* it sits on the first box of the sidebar and takes no space, so nothing around it moves */
.tx-sidebar:has(.tx-topstage) { position: relative; top: auto; }
.tx-topstage { position: absolute; z-index: 3; right: 0; left: 0; bottom: calc(100% - 8px); width: 190px; margin: 0 auto; container-type: inline-size; }
.tx-topstage__art { position: relative; aspect-ratio: 1351 / 1164; background: url('images/top-pedestal.webp') center / 100% 100% no-repeat; filter: drop-shadow(0 16px 24px rgba(0, 0, 0, .7)); }
.tx-topstage__slide { position: absolute; inset: 0; display: block; color: inherit; opacity: 0; visibility: hidden; transition: opacity .55s ease, visibility .55s; }
.tx-topstage__slide.is-active { opacity: 1; visibility: visible; }
.tx-topstage__slide:hover { text-decoration: none; }
.tx-topstage__slide:focus-visible { outline: 2px solid #ffb987; outline-offset: 2px; }
.tx-topstage__name { position: absolute; left: 47.5%; bottom: calc(100% + 21px); max-width: 92%; color: #2fd44a; font: 700 13px/1.2 var(--font); text-shadow: 0 0 2px #000, 1px 1px 1px #000, -1px -1px 1px #000, 1px -1px 1px #000, -1px 1px 1px #000; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transform: translateX(-50%); }
.tx-topstage__slide:hover .tx-topstage__name { color: #7dff91; }
.tx-topstage__life { position: absolute; left: 48%; bottom: calc(100% + 14px); width: 38px; height: 5px; background: #16c02a; border: 1px solid #000; transform: translateX(-50%); z-index: 1; }
.tx-topstage__outfit { position: absolute; left: calc(49% - 84px); top: calc(8% - 72px); width: 96px; height: 96px; max-width: none; image-rendering: pixelated; filter: drop-shadow(0 4px 3px rgba(0, 0, 0, .6)); pointer-events: none; }
.tx-topstage__banner { position: absolute; left: 42.6%; top: 29%; width: 15.4%; height: 17.5%; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #3a0a05; font-family: 'Palatino Linotype', 'Book Antiqua', 'Times New Roman', serif; text-align: center; text-shadow: 0 1px 0 rgba(255, 228, 150, .65); }
.tx-topstage__banner strong { margin-top: .4cqw; font-size: 10cqw; font-weight: 700; line-height: .95; letter-spacing: -.02em; text-shadow: 2px 2px 10px red; }
.tx-topstage__plate { position: absolute; left: 15.5%; right: 15.5%; top: 67.4%; height: 17.8%; display: flex; flex-direction: column; align-items: center; justify-content: center; font-family: 'Palatino Linotype', 'Book Antiqua', 'Times New Roman', serif; text-align: center; }
.tx-topstage__plate strong { font-size: 8.4cqw; font-weight: 700; line-height: 1.05; background: linear-gradient(#ffe6a0, #e0a436 55%, #b87a1e); -webkit-background-clip: text; background-clip: text; color: transparent; filter: drop-shadow(0 1px 1px rgba(0, 0, 0, .8)); }
/* without room above the sidebar it stays at the start of the sidebar */
@media (max-width: 1280px) {
	.tx-topstage { position: relative; bottom: auto; width: 230px; margin: 62px auto -14px; }
}
@media (prefers-reduced-motion: reduce) {
	.tx-topstage__slide { transition: none; }
}

/* recover account */
.tx-lost-error { margin-bottom: 16px; }
.tx-lost-rule { padding: 0 18px 16px; }
.tx-create .tx-choices--voc + .tx-create__hint { margin-top: 12px; }
