/* Tenebris — layout and typography, revision 5.
   Custom responsive theme for MyAAC. All rules stay scoped to the theme. */
:root {
  color-scheme: dark;
  --tn-bg: #070c15;
  --tn-surface: #101827;
  --tn-surface-deep: #0b1320;
  --tn-surface-raised: #182235;
  --tn-stroke: #303b50;
  --tn-stroke-soft: #253145;
  --tn-text: #dce0e9;
  --tn-muted: #a7b0c0;
  --tn-gold: #d5a94f;
  --tn-gold-light: #f0ce80;
  --tn-gold-soft: #aa884a;
}
/* Layout refresh: separated navigation panels and fantasy painting (v7). */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.tanebris {
  margin: 0;
  min-width: 320px;
  overflow-x: hidden;
  background: #050a12;
  color: var(--tn-text);
  font: 15px/1.65 system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
}
/* Atmospheric painted backdrop: depth and a faint cloth-like grain, not a busy illustration. */
body.tanebris::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  background:
    /* The old backdrop contains a baked-in Tenebris wordmark.
       Conceal the header portion while retaining the lower fantasy painting. */
    linear-gradient(180deg, #050a12 0px, #050a12 330px, rgba(5, 10, 18, .98) 420px, rgba(5, 10, 18, .74) 650px, rgba(3, 7, 13, .90) 100%),
    url("images/backgrounds/tanebris-fantasy.webp") center top / cover no-repeat;
}
body.tanebris::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: .75;
  background:
    radial-gradient(ellipse 82% 88% at 50% 36%, transparent 49%, rgba(0, 0, 0, .44) 100%),
    repeating-linear-gradient(0deg, rgba(216, 225, 242, .012) 0 1px, transparent 1px 5px),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, .009) 0 1px, transparent 1px 7px);
}
.tn-site {
  isolation: isolate;
  position: relative;
  width: min(1440px, calc(100% - 64px));
  margin: 0 auto;
  min-height: 100vh;
}
.tn-site::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 210px;
  z-index: -1;
  pointer-events: none;
  opacity: .14;
  background-image: radial-gradient(circle at 18% 17%, #b6c6dc 0 1px, transparent 1.5px),
                    radial-gradient(circle at 74% 20%, #d0cbb8 0 1px, transparent 1.5px);
  background-size: 347px 173px, 443px 211px;
  mask-image: linear-gradient(#000, transparent);
}
.tn-site a { color: inherit; text-decoration: none; }
.tn-site a:hover { color: var(--tn-gold-light); }
.tn-site a:focus-visible,
.tn-site button:focus-visible,
.tn-site input:focus-visible,
.tn-site select:focus-visible,
.tn-site summary:focus-visible,
.tn-back-to-top:focus-visible {
  outline: 2px solid var(--tn-gold-light);
  outline-offset: 3px;
}
.tn-site img { max-width: 100%; height: auto; }
.tn-skip {
  position: absolute;
  z-index: 100;
  top: -120px;
  left: 12px;
  padding: 9px 14px;
  background: var(--tn-surface);
  border: 1px solid var(--tn-stroke);
}
.tn-skip:focus { top: 9px; }

/* Brand and primary navigation */
.tn-masthead {
  position: relative;
  min-height: 165px;
  padding: 27px 0 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  text-align: center;
}
.tn-masthead::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: min(600px, 100%);
  height: 165px;
  transform: translateX(-50%);
  pointer-events: none;
  background: radial-gradient(ellipse at 50% 43%, rgba(186, 146, 76, .13), rgba(186, 146, 76, .045) 38%, transparent 72%);
}
.tn-masthead > * { position: relative; z-index: 1; }
.tn-brand-decoration {
  display: flex;
  align-items: center;
  gap: 13px;
  margin: 0 0 9px;
  opacity: .8;
}
.tn-brand-decoration span {
  display: block;
  width: 48px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--tn-gold-soft));
}
.tn-brand-decoration span:last-child { transform: rotate(180deg); }
.tn-brand-decoration i {
  display: block;
  width: 5px;
  height: 5px;
  transform: rotate(45deg);
  background: var(--tn-gold);
}
.tn-wordmark {
  color: var(--tn-gold-light) !important;
  font: 400 clamp(42px, 4.2vw, 61px)/1.1 Georgia, "Times New Roman", serif;
  letter-spacing: .15em;
  text-indent: .15em;
  text-shadow: 0 2px 16px #0009;
}
.tn-wordmark:hover { color: #ffe0a1 !important; }
.tn-tagline {
  margin: 11px 0 0;
  color: var(--tn-muted);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .18em;
  line-height: 1.5;
}
.tn-topnav {
  position: relative;
  z-index: 30;
  display: flex;
  align-items: stretch;
  justify-content: center;
  flex-wrap: wrap;
  min-height: 57px;
  padding: 0 20px;
  overflow: visible;
  border: 1px solid #3a4a64;
  border-radius: 7px;
  background: #121c2d;
  box-shadow: 0 8px 25px #0004;
}
.tn-nav-group {
  position: relative;
  min-width: 0;
  margin: 0;
}
.tn-nav-group + .tn-nav-group::before {
  content: "";
  position: absolute;
  top: 20px;
  left: 0;
  width: 1px;
  height: 17px;
  background: #3b485e;
}
.tn-nav-group > summary {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 0 26px;
  color: #dbe0e9;
  font-size: 13px;
  font-weight: 650;
  text-transform: uppercase;
  letter-spacing: .055em;
  white-space: nowrap;
  cursor: pointer;
  list-style: none;
  user-select: none;
  transition: color .15s, background-color .15s;
}
.tn-nav-group > summary::-webkit-details-marker { display: none; }
.tn-nav-group > summary::marker { content: ""; }
.tn-nav-group > summary:hover,
.tn-nav-group[open] > summary {
  background: linear-gradient(180deg, #1c2c42, #1b2a3e);
  color: #f0ce80;
}
.tn-nav-group[data-current-group="true"] > summary { color: #f0ce80; }
.tn-nav-group[data-current-group="true"] > summary::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 25%;
  right: 25%;
  height: 2px;
  background: var(--tn-gold);
}
.tn-nav-dropdown {
  position: absolute;
  z-index: 40;
  top: calc(100% + 7px);
  left: 0;
  width: max-content;
  min-width: 234px;
  max-width: min(320px, 90vw);
  padding: 9px;
  border: 1px solid #50617e;
  border-top: 2px solid #b99556;
  border-radius: 4px;
  background: linear-gradient(165deg, #17253a, #101b2b);
  box-shadow: 0 18px 38px #000b, inset 0 1px #ffffff0c;
}
.tn-nav-group:nth-last-child(-n+2) > .tn-nav-dropdown {
  left: auto;
  right: 0;
}
.tn-nav-dropdown a {
  display: block;
  padding: 12px 16px;
  border-radius: 2px;
  color: #e0e5ed;
  font-size: 14px;
  line-height: 1.45;
  text-decoration: none;
  white-space: normal;
}
.tn-nav-dropdown a + a { border-top: 1px solid #ffffff10; }
.tn-nav-dropdown a:hover,
.tn-nav-dropdown a:focus-visible,
.tn-nav-dropdown a[aria-current="page"] {
  background: #243650;
  color: #ffde9d;
}
.tn-nav-dropdown a[aria-current="page"] { box-shadow: inset 2px 0 #c39a55; }
.tn-nav-group[open] { z-index: 35; }
/* Three balanced columns, with the article area as the visual priority */
.tn-layout {
  display: grid;
  grid-template-columns: 244px minmax(0, 1fr) 252px;
  align-items: start;
  gap: 22px;
  margin-top: 23px;
}
.tn-sidebar {
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-width: 0;
}
.tn-panel,
.tn-main {
  min-width: 0;
  border: 1px solid #344358;
  border-radius: 7px;
  background: linear-gradient(158deg, rgba(19, 31, 48, .96), rgba(12, 20, 33, .98));
  box-shadow: 0 10px 30px #0004, inset 0 1px rgba(245, 220, 160, .035);
}
.tn-panel { overflow: hidden; }
.tn-panel-heading {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0;
  min-height: 49px;
  padding: 12px 21px;
  border-bottom: 1px solid var(--tn-stroke-soft);
  background: linear-gradient(180deg, #192437, #131d2d);
  color: var(--tn-gold-light);
  font: 600 15px/1.35 Georgia, "Times New Roman", serif;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.tn-panel-heading::before {
  content: "";
  display: block;
  width: 17px;
  height: 1px;
  flex: 0 0 17px;
  background: var(--tn-gold-soft);
}
/* Account / Community / Library are independent, spaced panels. */
.tn-directory-panel {
  display: flex;
  flex-direction: column;
  gap: 17px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}
.tn-directory-section {
  overflow: hidden;
  border: 1px solid #344358;
  border-radius: 7px;
  background: linear-gradient(158deg, rgba(19, 31, 48, .96), rgba(12, 20, 33, .98));
  box-shadow: 0 8px 26px #0004, inset 0 1px #ffffff08;
}
.tn-directory-section + .tn-directory-section {
  margin-top: 0;
}
.tn-directory-section + .tn-directory-section .tn-panel-heading {
  background: linear-gradient(180deg, #192437, #131d2d);
}
.tn-side-menu { padding: 8px 12px 12px; }
.tn-side-menu a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 43px;
  padding: 9px 15px 9px 18px;
  border-radius: 3px;
  color: #d5dce8;
  font-size: 14px;
  line-height: 1.45;
  overflow-wrap: anywhere;
  transition: color .16s, background-color .16s;
}
.tn-side-menu a + a { border-top: 1px solid #ffffff0d; }
.tn-side-menu a:hover,
.tn-side-menu a[aria-current="page"] { background: #1e2e44; color: var(--tn-gold-light); }
.tn-side-menu a[aria-current="page"] { box-shadow: inset 3px 0 var(--tn-gold); }
.tn-menu-arrow {
  flex: 0 0 auto;
  color: var(--tn-gold-soft);
  font-size: 19px;
  line-height: 1;
}

/* Forms and controls. Keep the same styles for actual MyAAC subpages. */
.tn-compact-form,
.tn-login-form {
  display: flex;
  flex-direction: column;
  gap: 9px;
  padding: 18px;
}
.tn-compact-form label,
.tn-login-form label {
  display: block;
  color: var(--tn-muted);
  font-size: 13px;
}
.tn-site input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):not([type="image"]),
.tn-site select,
.tn-site textarea {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 42px;
  padding: 10px 12px;
  border: 1px solid #43526a;
  border-radius: 4px;
  background: #0a1220;
  color: #edf0f5;
  font: 14px/1.45 system-ui, "Segoe UI", Arial, sans-serif;
}
.tn-site input:focus,
.tn-site select:focus,
.tn-site textarea:focus { border-color: var(--tn-gold-soft); }
.tn-site input[type="checkbox"],
.tn-site input[type="radio"] { accent-color: var(--tn-gold); }
.tn-site button,
.tn-site input[type="submit"],
.tn-site .tn-button {
  cursor: pointer;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  min-height: 41px;
  padding: 10px 13px;
  border: 1px solid var(--tn-gold-soft);
  border-radius: 4px;
  background: #1b2331;
  color: var(--tn-gold-light);
  font: 650 12px/1.35 system-ui, "Segoe UI", Arial, sans-serif;
  letter-spacing: .04em;
  text-transform: uppercase;
  text-align: center;
  transition: background-color .16s, border-color .16s, color .16s;
}
.tn-site button:hover,
.tn-site input[type="submit"]:hover,
.tn-site .tn-button:hover { background: #293248; border-color: var(--tn-gold); color: #ffdf99; }
.tn-site .tn-button-gold {
  color: #151820;
  background: linear-gradient(#e2b966, #bc8e3e);
  border-color: #ecc677;
}
.tn-site .tn-button-gold:hover { color: #10141c; background: #f0c779; }
.tn-compact-form button { width: 100%; margin-top: 4px; text-transform: none; letter-spacing: 0; }

/* Article and inner-page typography */
.tn-main { min-height: 430px; overflow: hidden; }
.tn-main-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  padding: 29px 31px 20px;
}
.tn-main-heading h1 {
  margin: 5px 0 0;
  color: #edd19b;
  font: 400 clamp(27px, 2.8vw, 36px)/1.25 Georgia, "Times New Roman", serif;
  letter-spacing: .005em;
}
.tn-kicker {
  margin: 0;
  color: #b9c3d3;
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.tn-archive-link {
  color: var(--tn-gold-light) !important;
  font-size: 13px;
  white-space: nowrap;
  margin-bottom: 5px;
}
.tn-main-rule {
  height: 1px;
  margin: 0 31px;
  background: linear-gradient(90deg, var(--tn-gold) 0 55px, var(--tn-stroke-soft) 55px);
}
.tn-page-content {
  min-width: 0;
  padding: 26px 31px 34px;
  font-size: 15px;
  line-height: 1.75;
  overflow-wrap: anywhere;
}
.tn-page-content > :first-child { margin-top: 0; }
.tn-page-content > :last-child { margin-bottom: 0; }
.tn-page-content img { max-width: 100%; height: auto; }
.tn-page-content a:not(.tn-button) { color: var(--tn-gold-light); }
.tn-page-content a:hover { text-decoration: underline; }
.tn-news-article,
.tn-news-feed .news-article {
  margin: 0 0 20px;
  overflow: hidden;
  border: 1px solid var(--tn-stroke-soft);
  border-radius: 5px;
  background: #121d2e;
}
.tn-news-header,
.tn-news-feed .news-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px 18px;
  padding: 17px 20px;
  border-bottom: 1px solid var(--tn-stroke-soft);
  background: #1a283c;
}
.tn-news-header h2,
.tn-news-feed .news-header h2 {
  margin: 0;
  color: #edd09a;
  font: 400 22px/1.3 Georgia, "Times New Roman", serif;
}
.tn-news-header time,
.tn-news-feed .news-header time { color: var(--tn-muted); font-size: 12px; white-space: nowrap; }
.tn-news-body,
.tn-news-feed .news-body { padding: 21px 22px; color: var(--tn-text); font-size: 15px; line-height: 1.8; }
.tn-news-body p:last-child,
.tn-news-feed .news-body p:last-child { margin-bottom: 0; }
.tn-news-footer,
.tn-news-feed .news-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0 22px 18px;
  color: var(--tn-muted);
  font-size: 13px;
}
.tn-ticker-list {
  overflow: hidden;
  margin-bottom: 20px;
  border: 1px solid var(--tn-stroke-soft);
  border-radius: 5px;
  background: #121f31;
}
.tn-ticker-heading {
  margin: 0;
  padding: 10px 17px;
  background: #213249;
  color: #d5dfef;
  font: 650 12px/1.5 system-ui, "Segoe UI", Arial, sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.tn-ticker-entry {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  gap: 15px;
  padding: 12px 17px;
  border-top: 1px solid #ffffff11;
}
.tn-ticker-entry time { color: var(--tn-muted); font-size: 13px; white-space: nowrap; }
.tn-ticker-message { min-width: 0; color: #e0e6ee; font-size: 14px; }
.tn-ticker-message p { margin: 0; }

/* Stock MyAAC tables and account pages */
.tn-inner-content h2,
.tn-inner-content h3,
.tn-page-content .CaptionContainer .Text { color: #efce8f; }
.tn-page-content table { width: 100%; max-width: 100%; border-collapse: collapse; font-size: 14px; }
.tn-page-content td,
.tn-page-content th { padding: 11px 12px; vertical-align: middle; border-bottom: 1px solid var(--tn-stroke-soft); }
.tn-page-content th,
.tn-page-content .LabelH { background: #1b2a40; color: #f0d292; }
.tn-page-content .TableContainer { max-width: 100%; margin: 15px 0 24px; }
.tn-page-content .InnerTableContainer,
.tn-page-content .TableContentContainer { max-width: 100%; overflow-x: auto; border: 0 !important; }
.tn-page-content .CaptionContainer {
  padding: 11px 13px;
  border: 1px solid var(--tn-stroke);
  background: #1b2a40;
}
.tn-page-content .CaptionEdgeLeftTop,
.tn-page-content .CaptionEdgeRightTop,
.tn-page-content .CaptionBorderTop,
.tn-page-content .CaptionVerticalLeft,
.tn-page-content .CaptionVerticalRight,
.tn-page-content .CaptionBorderBottom,
.tn-page-content .CaptionEdgeLeftBottom,
.tn-page-content .CaptionEdgeRightBottom { display: none !important; }
.tn-page-content .myaac-table { border-spacing: 0; }
.tn-page-content .myaac-table tr:nth-child(even) { background: #18263a; }
.tn-page-content .myaac-table tr:nth-child(odd) { background: #132033; }
.tn-page-content .red { color: #ff9b9b; }

/* Right rail */
.tn-panel-body { padding: 18px; }
.tn-account-greeting { margin: 0 0 13px; color: #c8ced9; font-size: 14px; }
.tn-panel-body .tn-button { width: 100%; }
.tn-text-link { display: inline-flex; margin-top: 12px; color: var(--tn-muted) !important; font-size: 13px; }
.tn-login-form .tn-button { width: 100%; margin-top: 7px; }
.tn-login-links { display: flex; gap: 7px 12px; justify-content: space-between; flex-wrap: wrap; margin-top: 5px; }
.tn-login-links a { color: var(--tn-muted); font-size: 12px; }
.tn-ranking { list-style: none; counter-reset: tn-rank; margin: 0; padding: 8px 13px; }
.tn-ranking li {
  counter-increment: tn-rank;
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 46px;
  border-bottom: 1px solid #ffffff10;
  font-size: 14px;
}
.tn-ranking li:last-child { border-bottom: 0; }
.tn-ranking li::before { content: counter(tn-rank) "."; min-width: 19px; flex: 0 0 19px; color: var(--tn-gold); font: 14px Georgia, serif; }
.tn-ranking li a { min-width: 0; flex: 1; overflow-wrap: anywhere; }
.tn-ranking .tn-player-level {
  flex: 0 0 auto;
  padding: 2px 9px;
  color: #f1d596;
  font-size: 12px;
  border: 1px solid #ffffff1b;
  border-radius: 20px;
  background: #293043;
}
.tn-ranking .tn-empty { counter-increment: none; padding: 12px 0; color: var(--tn-muted); }
.tn-ranking .tn-empty::before { content: none; }
.tn-panel-footer-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 18px;
  border-top: 1px solid var(--tn-stroke);
  color: var(--tn-gold-light) !important;
  font-size: 12px;
  font-weight: 650;
  text-transform: uppercase;
}
.tn-panel-footer-link:hover { background: #1c2a3d; }
.tn-world-status,
.tn-rashid-feature,
.tn-boosted-feature { display: flex; align-items: center; gap: 13px; padding: 17px; }
.tn-world-status strong,
.tn-rashid-feature strong,
.tn-boosted-feature strong { display: block; color: #f1d99f; font-size: 14px; font-weight: 650; }
.tn-world-status small,
.tn-rashid-feature small,
.tn-boosted-feature small { display: block; color: var(--tn-muted); font-size: 12px; }
.tn-status-dot {
  display: block;
  width: 10px;
  height: 10px;
  flex: 0 0 10px;
  border-radius: 50%;
  background: #be7675;
  box-shadow: 0 0 0 4px #be76751b;
}
.tn-status-dot.is-online { background: #67ca98; box-shadow: 0 0 0 4px #67ca981b; }
.tn-rashid-feature { padding: 12px 16px; }
.tn-rashid-feature img,
.tn-boosted-feature img { width: 66px; height: 66px; flex: 0 0 66px; object-fit: contain; image-rendering: pixelated; }
.tn-rashid-schedule { border-top: 1px solid var(--tn-stroke-soft); }
.tn-rashid-schedule summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 17px;
  cursor: pointer;
  color: #c4ccda;
  font-size: 13px;
  list-style: none;
}
.tn-rashid-schedule summary::-webkit-details-marker { display: none; }
.tn-rashid-schedule summary:hover { color: var(--tn-gold-light); }
.tn-rashid-schedule[open] summary span { transform: rotate(180deg); }
.tn-rashid-schedule dl { margin: 0; padding: 0 16px 14px; }
.tn-rashid-schedule dl div { display: flex; justify-content: space-between; gap: 10px; padding: 7px 0; border-top: 1px solid #ffffff10; font-size: 12px; }
.tn-rashid-schedule dt { color: var(--tn-muted); }
.tn-rashid-schedule dd { margin: 0; color: #f0d497; }

/* Tenebris identity: small heraldic crest above the name. */
.tn-masthead { min-height: 224px; padding: 20px 0 23px; gap: 1px; }
.tn-emblem-link { display: inline-flex; align-items: center; justify-content: center; width: 64px; height: 71px; margin-bottom: 1px; }
.tn-emblem { display: block; width: 56px; height: 64px; object-fit: contain; filter: drop-shadow(0 3px 5px #0009); }
.tn-masthead .tn-wordmark { font-size: clamp(43px, 4.1vw, 62px); letter-spacing: .13em; text-shadow: 0 2px 4px #0009; }
.tn-masthead .tn-tagline { margin-top: 5px; }
.tn-brand-decoration { display: none; }

/* World news should read like articles, not widgets nested in widgets. */
.tn-news-header { gap: 8px 20px; padding: 17px 21px 14px; }
.tn-news-byline { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.tn-news-label { font: 700 11px/1.2 "Segoe UI", Arial, sans-serif; color: #d4ac61; letter-spacing: .11em; text-transform: uppercase; }
.tn-news-byline time { color: #b5bdcb; font-size: 12px; }
.tn-news-header h2 { flex-basis: 100%; color: #f1d9a8; font-size: 24px; }
.tn-news-body { padding: 21px 23px; font-size: 15px; line-height: 1.9; }
.tn-news-footer { border-top: 1px solid #ffffff10; margin: 0 23px; padding: 14px 0 17px; font-size: 12px; }
.tn-news-feed .tn-news-article:last-child { margin-bottom: 0; }
.tn-ticker-list { border-left: 2px solid #a9854b; }
.tn-ticker-heading { font-size: 12px; color: #d8b976; letter-spacing: .07em; }
.tn-ticker-message { overflow-wrap: anywhere; }

/* Genuine player outfits sourced from getTopPlayers() and MyAAC outfit_url. */
.tn-ranking { padding: 5px 11px 9px; }
.tn-ranking li { gap: 8px; padding: 7px 0; min-height: 62px; }
.tn-ranking li::before { flex: 0 0 17px; min-width: 17px; font-size: 13px; }
.tn-ranking-outfit { position: relative; flex: 0 0 51px; width: 51px; height: 51px; display: grid; place-items: center; background: #0b1421; border: 1px solid #34435a; border-radius: 4px; overflow: hidden; }
.tn-ranking-outfit img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; image-rendering: pixelated; }
.tn-ranking-outfit img[hidden] { display: none; }
.tn-ranking-name { font-size: 13px; line-height: 1.4; }
.tn-ranking .tn-player-level { padding: 2px 6px; font-size: 11px; }
.tn-ranking .tn-empty { min-height: 52px; }

/* A useful end-of-news action, without inventing announcements. */
.tn-welcome-footnote { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 0 13px; margin: 23px 29px 28px; padding-top: 19px; border-top: 1px solid #37465d; }
.tn-welcome-ornament { grid-row: 1 / 3; color: #cba567; font-size: 20px; margin-top: -3px; }
.tn-welcome-footnote strong { display: block; color: #e6c98e; font: 400 18px/1.3 Georgia, serif; }
.tn-welcome-footnote p { margin: 5px 0 9px; color: #abb6c6; font-size: 13px; }
.tn-welcome-actions { grid-column: 2; display: flex; flex-wrap: wrap; gap: 11px 20px; }
.tn-welcome-actions a { color: #e4c48d; font-size: 12px; font-weight: 650; text-decoration: underline; text-underline-offset: 4px; }

/* MyAAC subpages: preserve forms, improve field/table readability and stability. */
.tn-inner-content { line-height: 1.75; }
.tn-inner-content h2, .tn-inner-content h3 { font-family: Georgia, "Times New Roman", serif; font-weight: 400; letter-spacing: .01em; }
.tn-inner-content h2 { margin: 21px 0 10px; font-size: 23px; }
.tn-inner-content h3 { font-size: 19px; }
.tn-inner-content p { max-width: 72ch; }
.tn-inner-content form { max-width: 100%; }
.tn-inner-content .TableContainer { width: 100%; border: 1px solid #34425a; background: #0f1929; border-radius: 4px; padding: 12px; }
.tn-inner-content .CaptionContainer { margin-bottom: 9px; }
.tn-inner-content .TableContentContainer { overflow-x: auto; }
.tn-inner-content table { width: 100%; }
.tn-inner-content td, .tn-inner-content th { line-height: 1.5; overflow-wrap: anywhere; }
.tn-inner-content .LabelV, .tn-inner-content .LabelH { font-size: 13px; color: #e5c991; font-weight: 600; }
.tn-inner-content .FormFieldError { display: block; margin: 5px 0; color: #f1a9a9; font-size: 12px; }
.tn-inner-content .Button input[type=image], .tn-inner-content input[type=image] { width: auto; max-width: 100%; height: auto; }
.tn-inner-content .vertical-menu { display: flex; flex-direction: column; gap: 2px; }
.tn-inner-content #account-manage { display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: 23px; width: 100%; padding: 0; }
.tn-inner-content #account-manage #one { float: none; width: auto; }
.tn-inner-content #account-manage #two { margin: 0; padding: 0; min-width: 0; }
.tn-inner-content #account-manage .vertical-menu a { display: block; padding: 10px 12px; background: #19273b; color: #d8deea; border-left: 2px solid transparent; font-size: 13px; }
.tn-inner-content #account-manage .vertical-menu a:hover { background: #23354c; color: #f1d59b; border-left-color: #c49c5d; }
.tn-inner-content #account-manage #two > h1 { font: 400 28px/1.2 Georgia, serif; color: #f0d6a2; margin: 0 0 16px; }
.tn-inner-content #account-manage #two table { margin: 12px 0; }
.tn-inner-content a:not(.tn-button) { text-underline-offset: 3px; }
.tn-inner-content select { background-color: #0d1625; }

/* Character pages may contain older MyAAC absolute-positioned outfit badges. */
.tn-inner-content img[alt="player outfit"] { image-rendering: pixelated; }
.tn-inner-content .TableContent tr:hover > td { background-color: #ffffff04; }

/* Hide technical MyAAC statistics behind a disclosure in the footer. */
.tn-footer-meta { justify-self: end; max-width: 240px; text-align: right; font-size: 11px; }
.tn-footer-meta summary { list-style: none; color: #9ba6b7; cursor: pointer; }
.tn-footer-meta summary::-webkit-details-marker { display: none; }
.tn-footer-meta summary::after { content: "  ▾"; color: #b9975f; }
.tn-footer-meta[open] summary::after { content: "  ▴"; }
.tn-footer-meta .tn-footer-credits { padding-top: 9px; }
.tn-footer-meta a { color: #d6b977; }

/* Footer and floating back-to-top control */
.tn-footer {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 25px;
  align-items: start;
  margin: 48px 0 0;
  padding: 25px 3px 38px;
  border-top: 1px solid var(--tn-stroke);
  color: var(--tn-muted);
  font-size: 12px;
}
.tn-footer-brand { display: block; margin-bottom: 4px; color: var(--tn-gold); font: 400 22px Georgia, "Times New Roman", serif; letter-spacing: .08em; }
.tn-footer small { display: block; font-size: 12px; }
.tn-footer-links { display: flex; flex-wrap: wrap; gap: 17px; padding-top: 7px; }
.tn-footer-links a { color: #d1d6df; }
.tn-footer-credits { max-width: 260px; text-align: right; font-size: 11px; }
.tn-back-to-top {
  position: fixed;
  z-index: 50;
  right: 22px;
  bottom: 22px;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 1px solid var(--tn-gold-soft);
  border-radius: 5px;
  background: #152136;
  color: var(--tn-gold-light);
  font: 22px Arial, sans-serif;
  cursor: pointer;
}
.tn-back-to-top[hidden] { display: none !important; }
#ma-admin-bar { min-width: 0; }

/* Tablet: the main column stays prominent. */
@media (max-width: 1190px) {
  .tn-site { width: calc(100% - 44px); }
  .tn-layout { grid-template-columns: 216px minmax(0, 1fr) 224px; gap: 16px; }
  .tn-nav-group > summary { padding: 0 18px; }
  .tn-main-heading { padding: 24px 22px 16px; }
  .tn-main-rule { margin: 0 22px; }
  .tn-page-content { padding: 22px; }
}
@media (max-width: 950px) {
  .tn-layout { grid-template-columns: minmax(0, 1fr) 245px; gap: 16px; }
  .tn-main { grid-column: 1; grid-row: 1; }
  .tn-sidebar-right { grid-column: 2; grid-row: 1; }
  .tn-sidebar-left { grid-column: 1 / -1; grid-row: 2; display: grid; grid-template-columns: minmax(0, 1fr) 245px; align-items: start; }
  .tn-directory-panel { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
  .tn-directory-section + .tn-directory-section { border-top: 0; border-left: 1px solid var(--tn-stroke); }
  .tn-topnav { overflow: visible; justify-content: center; flex-wrap: wrap; }
  .tn-nav-group > summary { padding: 0 18px; }
  .tn-footer { grid-template-columns: 1fr 1fr; }
  .tn-footer-credits { grid-column: 1 / -1; text-align: left; max-width: none; }
}
@media (max-width: 730px) {
  .tn-site { width: calc(100% - 28px); }
  .tn-masthead { min-height: 143px; padding: 23px 0 18px; }
  .tn-topnav { min-height: 52px; padding: 0 6px; overflow: visible; }
  .tn-nav-group > summary { padding: 0 13px; min-height: 52px; font-size: 12px; }
  .tn-layout { display: flex; flex-direction: column; gap: 15px; margin-top: 16px; }
  .tn-main { order: 0; width: 100%; min-height: 0; }
  .tn-sidebar-right { order: 1; display: grid; width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
  .tn-sidebar-left { order: 2; display: grid; width: 100%; grid-template-columns: 1fr; }
  .tn-directory-panel { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tn-directory-section + .tn-directory-section { border-left: 0; }
  .tn-directory-section:nth-child(even) { border-left: 1px solid var(--tn-stroke); }
  .tn-directory-section:nth-child(n + 3) { border-top: 1px solid var(--tn-stroke); }
  .tn-main-heading { padding: 23px 20px 15px; }
  .tn-main-rule { margin: 0 20px; }
  .tn-page-content { padding: 20px; }
  .tn-footer { grid-template-columns: 1fr; gap: 14px; }
  .tn-footer-credits { grid-column: auto; }
}
@media (max-width: 480px) {
  .tn-site { width: calc(100% - 20px); }
  .tn-wordmark { font-size: 37px; letter-spacing: .11em; text-indent: .11em; }
  .tn-tagline { font-size: 9px; letter-spacing: .09em; }
  .tn-main-heading { flex-wrap: wrap; align-items: start; padding: 20px 16px 13px; }
  .tn-main-heading h1 { font-size: 28px; }
  .tn-main-rule { margin: 0 16px; }
  .tn-page-content { padding: 16px; }
  .tn-ticker-entry { grid-template-columns: 1fr; gap: 2px; padding: 12px 14px; }
  .tn-sidebar-right { grid-template-columns: 1fr; }
  .tn-directory-panel { grid-template-columns: 1fr; }
  .tn-directory-section:nth-child(even) { border-left: 0; }
  .tn-directory-section + .tn-directory-section { border-top: 1px solid var(--tn-stroke); }
  .tn-news-header, .tn-news-feed .news-header { padding: 15px; }
  .tn-news-body, .tn-news-feed .news-body { padding: 16px; }
  .tn-news-footer, .tn-news-feed .news-footer { padding: 0 16px 15px; }
  .tn-footer { margin-top: 30px; padding-bottom: 25px; }
  .tn-page-content table { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .tn-site * { transition: none !important; }
}

/* Align legacy player-outfit decorations and highscores sprites with the theme. */
.tn-inner-content div[style*="margin-left:376px"][style*="position:absolute"] {
  position: relative !important;
  inset: auto !important;
  margin: 14px 0 18px auto !important;
  width: 88px !important;
  height: 88px !important;
  padding: 10px !important;
  border: 1px solid #a88b55 !important;
  border-radius: 50% !important;
  background: #0e1b2c;
}
.tn-inner-content div[style*="margin-left:376px"] img[alt="player outfit"] {
  display: block;
  position: static !important;
  margin: 0 !important;
  width: 66px !important;
  height: 66px !important;
  object-fit: contain;
  image-rendering: pixelated;
}
.tn-inner-content td img[style*="position:absolute"][style*="margin-top:-50px"] {
  display: block;
  position: static !important;
  margin: 0 !important;
  width: 52px;
  height: 52px;
  object-fit: contain;
  image-rendering: pixelated;
}
.tn-inner-content .TableContent input[type="text"],
.tn-inner-content .TableContent input[type="password"] { max-width: 100%; }

/* Responsive refinements for new identity, rankings and account pages. */
@media (max-width: 1190px) {
  .tn-ranking-outfit { width: 45px; height: 45px; flex-basis: 45px; }
  .tn-ranking li { gap: 6px; }
}
@media (max-width: 950px) {
  .tn-inner-content #account-manage { grid-template-columns: minmax(0, 1fr); gap: 17px; }
  .tn-inner-content #account-manage .vertical-menu { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 730px) {
  .tn-masthead { min-height: 193px; }
  .tn-emblem-link { height: 57px; }
  .tn-emblem { height: 54px; width: 48px; }
  .tn-welcome-footnote { margin: 20px; }
  .tn-footer-meta { justify-self: start; text-align: left; max-width: none; }
  .tn-ranking-outfit { width: 49px; height: 49px; flex-basis: 49px; }
}
@media (max-width: 480px) {
  .tn-masthead { min-height: 186px; }
  .tn-masthead .tn-wordmark { font-size: 38px; letter-spacing: .09em; }
  .tn-welcome-footnote { margin: 15px; }
  .tn-news-header h2 { font-size: 22px; }
  .tn-news-body { padding: 16px; }
  .tn-inner-content #account-manage .vertical-menu { grid-template-columns: minmax(0, 1fr); }
  .tn-inner-content .TableContainer { padding: 5px; }
  .tn-inner-content td, .tn-inner-content th { padding: 7px; }
}

/* Small touchscreens: opened menus expand inside the bar, not over the page. */
@media (max-width: 640px) {
  .tn-topnav { align-items: stretch; justify-content: flex-start; padding: 4px; gap: 0; }
  .tn-nav-group { flex: 1 1 50%; }
  .tn-nav-group + .tn-nav-group::before { display: none; }
  .tn-nav-group > summary { padding: 0 8px; min-height: 45px; font-size: 12px; letter-spacing: .025em; }
  .tn-nav-group[open] { flex-basis: 100%; background: #15253a; }
  .tn-nav-group > .tn-nav-dropdown,
  .tn-nav-group:nth-last-child(-n+2) > .tn-nav-dropdown {
    position: static;
    width: 100%;
    max-width: none;
    min-width: 0;
    padding: 5px 8px 9px;
    margin: 0;
    box-shadow: none;
    border-left: 0;
    border-right: 0;
    border-bottom: 0;
    border-radius: 0;
  }
  .tn-nav-dropdown a { padding: 13px 13px; font-size: 14px; }
  .tn-nav-group[data-current-group="true"] > summary::after { left: 35%; right: 35%; }
}

/* Fine details: readable text, subtle gold edge, clearly actionable links. */
.tn-main { border-top-color: #53627b; }
.tn-news-article, .tn-ticker-list { box-shadow: inset 0 1px rgba(255, 255, 255, .025); }
.tn-news-header h2 { letter-spacing: .005em; }
.tn-side-menu a[aria-current="page"] { box-shadow: inset 3px 0 #d1a456; }
.tn-panel-heading span { text-shadow: 0 1px #0007; }
.tn-nav-group > summary:focus-visible { outline: 2px solid #f0ce80; outline-offset: -4px; }
.tn-nav-group:not([open]) > summary:focus-visible { background: #1b2b42; }
.tn-nav-dropdown a:focus-visible { outline-offset: -2px; }
@media (hover: hover) {
  .tn-nav-dropdown a:hover { box-shadow: inset 2px 0 #d4ad65; }
  .tn-ranking li:hover { background: #21304740; }
}
@media (max-width: 640px) {
  .tn-nav-group[open] > summary { border-bottom: 1px solid #394b63; }
}


/* Ranking and Rashid precision pass (v11): stable columns in the narrow right rail. */
.tn-sidebar-right,
.tn-sidebar-right .tn-panel,
.tn-sidebar-right .tn-panel-body,
.tn-sidebar-right .tn-rashid-feature,
.tn-sidebar-right .tn-world-status { min-width: 0; }

.tn-ranking-panel .tn-ranking {
  display: block;
  padding: 8px 12px 10px;
  margin: 0;
  list-style: none;
  counter-reset: none;
}
.tn-ranking-panel .tn-ranking > li {
  display: grid;
  grid-template-columns: 15px 42px minmax(0, 1fr) max-content;
  align-items: center;
  gap: 7px;
  min-width: 0;
  min-height: 60px;
  padding: 8px 0;
  margin: 0;
  border-bottom: 1px solid #ffffff14;
}
.tn-ranking-panel .tn-ranking > li::before { content: none; display: none; }
.tn-ranking-panel .tn-ranking-position {
  justify-self: center;
  color: #d1ae70;
  font: 13px/1 Georgia, "Times New Roman", serif;
  white-space: nowrap;
}
.tn-ranking-panel .tn-ranking-outfit {
  position: relative;
  display: grid;
  flex: none;
  place-items: center;
  width: 42px;
  height: 42px;
  min-width: 0;
  max-width: 100%;
  border: 1px solid #39495f;
  border-radius: 3px;
  background: #0a1320;
  overflow: hidden;
}
.tn-ranking-panel .tn-ranking-outfit img {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  image-rendering: pixelated;
}
.tn-ranking-panel .tn-ranking-outfit img[hidden] { display: none; }
.tn-ranking-panel .tn-ranking-name {
  display: block;
  width: 100%;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
  line-height: 1.35;
}
.tn-ranking-panel .tn-ranking .tn-player-level {
  display: block;
  flex: none;
  min-width: 30px;
  padding: 3px 5px;
  border: 1px solid #414a5e;
  border-radius: 4px;
  color: #edcf93;
  background: #222d40;
  font-size: 11px;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.tn-ranking-panel .tn-ranking > li.tn-empty {
  display: block;
  min-height: auto;
  padding: 14px 4px;
}
.tn-ranking-panel .tn-ranking > li.tn-empty::before { content: none; }

/* The city and sprite should remain on one compact row without stretching the card. */
.tn-rashid-panel .tn-rashid-feature {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding: 11px 14px;
}
.tn-rashid-panel .tn-rashid-feature img {
  display: block;
  width: 48px;
  height: 48px;
  min-width: 0;
  max-width: 100%;
  object-fit: contain;
  image-rendering: pixelated;
}
.tn-rashid-panel .tn-rashid-feature > div { min-width: 0; }
.tn-rashid-panel .tn-rashid-feature strong {
  display: block;
  font-size: 13px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.tn-rashid-panel .tn-rashid-feature small {
  font-size: 11px;
  line-height: 1.3;
}
.tn-rashid-panel .tn-rashid-schedule summary { padding: 10px 14px; }
.tn-rashid-panel .tn-rashid-schedule dl { padding: 0 12px 12px; }
.tn-rashid-panel .tn-rashid-schedule dl div { min-width: 0; gap: 6px; }
.tn-rashid-panel .tn-rashid-schedule dd { overflow-wrap: anywhere; text-align: right; }

@media (max-width: 1190px) {
  .tn-ranking-panel .tn-ranking { padding-inline: 9px; }
  .tn-ranking-panel .tn-ranking > li {
    grid-template-columns: 13px 39px minmax(0, 1fr) max-content;
    gap: 5px;
  }
  .tn-ranking-panel .tn-ranking-outfit { width: 39px; height: 39px; }
  .tn-ranking-panel .tn-ranking-name { font-size: 11px; }
  .tn-ranking-panel .tn-ranking .tn-player-level { padding-inline: 4px; }
}
@media (max-width: 730px) {
  .tn-ranking-panel .tn-ranking > li {
    grid-template-columns: 16px 42px minmax(0, 1fr) max-content;
    gap: 8px;
  }
  .tn-ranking-panel .tn-ranking-outfit { width: 42px; height: 42px; }
  .tn-ranking-panel .tn-ranking-name { font-size: 13px; }
}


/* Tenebris v13 — scale, in-world introduction, status and legacy MyAAC pages. */
.tn-site { width: min(1460px, calc(100% - 54px)); }
.tn-panel-heading { font-size: 14px; letter-spacing: .055em; }
.tn-side-menu a { font-size: 14px; min-height: 44px; }
.tn-main-heading h1 { font-size: clamp(31px, 2.8vw, 38px); }
.tn-page-content { font-size: 16px; line-height: 1.75; }
.tn-news-body, .tn-news-feed .news-body { font-size: 15px; line-height: 1.85; }

/* Intro is a static invitation, not a fake news article. */
.tn-home-intro {
  position: relative; display: flex; align-items: center; gap: 22px;
  min-width: 0; margin: 24px 28px 0; padding: 24px;
  overflow: hidden; border: 1px solid #435570; border-left: 3px solid #b98d50;
  border-radius: 4px;
  background: radial-gradient(ellipse 85% 170% at 100% 20%, #35415955, transparent 70%),
              linear-gradient(125deg, #16253b 0%, #111c2e 100%);
}
.tn-home-intro-content { position: relative; z-index: 1; flex: 1; min-width: 0; }
.tn-home-intro-eyebrow { color: #d7bb82; font-size: 11px; font-weight: 650; letter-spacing: .11em; text-transform: uppercase; }
.tn-home-intro h2 { max-width: 24ch; margin: 7px 0 9px; color: #f1d7a6; font: 400 clamp(23px, 2vw, 29px)/1.24 Georgia, serif; }
.tn-home-intro p { max-width: 50ch; margin: 0 0 16px; color: #c5d0df; font-size: 14px; line-height: 1.6; }
.tn-home-intro-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 18px; }
.tn-home-intro-actions .tn-button { min-height: 37px; padding: 8px 14px; }
.tn-intro-secondary { color: #efd39b !important; text-decoration: underline !important; text-underline-offset: 4px; font-size: 13px; }
.tn-home-intro-crest { width: 102px; height: 117px; flex: 0 0 102px; opacity: .35; filter: drop-shadow(0 5px 12px #0009); }

/* Database and status-protocol values only; not counters invented in the theme. */
.tn-world-panel .tn-world-status { padding-bottom: 10px; }
.tn-world-details { margin: 0; padding: 0 15px 10px; }
.tn-world-details div { display: flex; justify-content: space-between; gap: 8px; align-items: baseline; padding: 6px 0; border-top: 1px solid #ffffff12; font-size: 12px; line-height: 1.4; }
.tn-world-details dt { min-width: 0; color: #bec8d5; }
.tn-world-details dd { margin: 0; text-align: right; color: #f1d6a5; font-weight: 650; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.tn-world-link { display: flex; justify-content: space-between; gap: 8px; padding: 11px 15px; border-top: 1px solid #34435a; font-size: 12px; color: #e0c48b !important; }
.tn-world-link:hover { background: #21324a; }

/* Maintain stock MyAAC functionality while improving forms, guilds and rankings. */
.tn-inner-content { color: #dce3ee; }
.tn-inner-content h2, .tn-inner-content h3 { color: #efcf94; }
.tn-inner-content table { font-size: 14px; line-height: 1.6; }
.tn-inner-content table td, .tn-inner-content table th { padding: 10px 11px; vertical-align: middle; }
.tn-inner-content table tr[bgcolor] > td,
.tn-inner-content table tr[style*="background-color"] > td { background: #19283b !important; }
.tn-inner-content table tr:nth-child(even) > td { background: #1b2b40cc !important; }
.tn-inner-content table tr:hover > td { background: #23364f !important; }
.tn-inner-content table table { margin: 6px 0; }
.tn-inner-content table table td { padding: 8px 10px; }
.tn-inner-content table select { max-width: 100%; }
.tn-inner-content #createaccount { max-width: 100%; }
.tn-inner-content #createaccount .LabelV { min-width: 120px; width: 34% !important; }
.tn-inner-content #createaccount input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="image"]) { max-width: 440px; }
.tn-inner-content .TableContentContainer, .tn-inner-content .table-responsive { max-width: 100%; overflow-x: auto; }
.tn-inner-content .FormFieldError { color: #f3b0b0; }
.tn-inner-content #account-manage #two { overflow-wrap: anywhere; }
.tn-inner-content .CaptionContainer .Text { font-size: 17px; }
.tn-inner-content img[src*="/1098/"] { image-rendering: pixelated; }

@media (max-width: 1190px) {
  .tn-site { width: calc(100% - 40px); }
  .tn-panel-heading { font-size: 13px; }
}
@media (max-width: 730px) {
  .tn-site { width: calc(100% - 26px); }
  .tn-home-intro { margin: 17px 17px 0; padding: 18px; }
  .tn-home-intro-crest { width: 70px; height: 80px; flex-basis: 70px; opacity: .26; }
}
@media (max-width: 480px) {
  .tn-site { width: calc(100% - 20px); }
  .tn-home-intro { margin: 14px 14px 0; padding: 17px; }
  .tn-home-intro-crest { position: absolute; right: 8px; top: 10px; z-index: 0; }
  .tn-home-intro h2 { font-size: 24px; }
  .tn-home-intro p { font-size: 13px; }
  .tn-inner-content table { font-size: 13px; }
  .tn-inner-content table td, .tn-inner-content table th { padding: 7px; }
  .tn-inner-content #createaccount .LabelV { min-width: 90px; }
}

/* Unified account rail: clear primary action, secondary routes and registration CTA. */
.tn-logged-out-panel .tn-login-headline { padding: 17px 16px 2px; text-align: center; }
.tn-login-headline strong { display: block; color: #edce8f; font: 19px/1.3 Georgia, serif; }
.tn-login-headline p { margin: 5px auto 0; max-width: 23ch; color: #bac7d8; font-size: 12px; line-height: 1.5; }
.tn-logged-out-panel .tn-login-form { padding: 12px 17px 13px; gap: 7px; }
.tn-logged-out-panel .tn-login-form label { margin-top: 5px; font-size: 12px; font-weight: 600; color: #d5b985; }
.tn-logged-out-panel .tn-login-form input { min-height: 41px; }
.tn-logged-out-panel .tn-login-form button { margin-top: 9px; }
.tn-forgot-link { display: block; margin: 3px 0 0; color: #b7c8dd !important; font-size: 12px; text-align: center; }
.tn-forgot-link:hover { color: #f0cf91 !important; }
.tn-register-prompt { display: grid; gap: 9px; padding: 13px 17px 17px; border-top: 1px solid #34435a; background: #142238; text-align: center; }
.tn-register-prompt > span { color: #bdc8d7; font-size: 12px; }
.tn-register-prompt > a { display: flex; justify-content: center; align-items: center; gap: 9px; min-height: 38px; padding: 8px 10px; border: 1px solid #a58551; border-radius: 4px; color: #ebca89; background: #172337; font-size: 12px; font-weight: 700; }
.tn-register-prompt > a:hover { background: #29384c; color: #f8e1ab; }

.tn-account-shortcuts { padding: 16px 13px 13px; }
.tn-account-status { display: grid; grid-template-columns: 38px minmax(0, 1fr); align-items: center; gap: 10px; padding-bottom: 15px; border-bottom: 1px solid #364861; }
.tn-account-status-icon { display: grid; place-items: center; width: 38px; height: 43px; border: 1px solid #455571; border-radius: 5px; background: #1b2b42; }
.tn-account-status-icon img { max-height: 34px; width: 28px; object-fit: contain; }
.tn-account-status > div { min-width: 0; }
.tn-account-overline { display: block; margin-bottom: 2px; color: #92c7a3; font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.tn-account-status strong { display: block; color: #f0d7a6; font: 16px/1.35 Georgia, serif; }
.tn-account-shortcut-list { display: grid; gap: 7px; margin-top: 14px; }
.tn-account-shortcut { display: flex; justify-content: space-between; align-items: center; gap: 9px; min-height: 39px; padding: 8px 11px; border: 1px solid #3a4c67; border-radius: 4px; background: #15243a; color: #dfebf6 !important; font-size: 12px; font-weight: 650; }
.tn-account-shortcut > :last-child { color: #d4ae70; font-size: 15px; }
.tn-account-shortcut:hover { border-color: #ad884f; background: #26364d; color: #f5dba9 !important; }
.tn-account-shortcut-primary { border-color: #d6b06a; background: linear-gradient(180deg, #deb867, #b98c45); color: #141b29 !important; }
.tn-account-shortcut-primary > :last-child { color: #202536; }
.tn-account-shortcut-primary:hover { background: #e6c277; color: #131824 !important; }
.tn-account-signout { display: flex; justify-content: center; align-items: center; gap: 8px; margin-top: 14px; padding: 9px; color: #aabbd1 !important; font-size: 12px; }
.tn-account-signout:hover { color: #efd19c !important; }


/* Guild Hall of Fame: home-page leaderboard */
.tn-guild-leaderboard .tn-home-intro-content{width:100%}
.tn-guild-leaderboard .tn-home-intro h2,.tn-guild-leaderboard h2{max-width:none}
.tn-guild-top-list{list-style:none;padding:0;margin:12px 0 16px;display:grid;gap:8px}
.tn-guild-top-list li{display:flex;align-items:center;gap:13px;min-width:0;padding:10px 14px;border:1px solid #425671;background:linear-gradient(100deg,#1b2d44,#102033);border-radius:4px}
.tn-guild-top-rank{font:700 21px Georgia,serif;color:#e9c484;width:26px;flex:none;text-align:center}
.tn-guild-top-list a{min-width:0;overflow-wrap:anywhere;flex:1;color:#f3dbac;font-weight:700;text-decoration:none}
.tn-guild-top-list a:hover{text-decoration:underline}
.tn-guild-top-frags{color:#9fd6bf;font-size:12px;white-space:nowrap;font-weight:700}
.tn-guild-top-empty{padding:12px 0}
@media(max-width:520px){.tn-guild-top-list li{gap:8px;padding:9px}.tn-guild-top-frags{font-size:11px}}


/* Hall of Fame - crest podium */
.tn-guild-leaderboard{position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 50% 0%,#33405a 0%,#17253a 42%,#0b1626 100%);border:1px solid #7b674a;box-shadow:inset 0 1px #d1ac6255,0 12px 36px #0004}
.tn-guild-leaderboard:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.32;background:linear-gradient(125deg,transparent 28%,#b8955533 48%,transparent 68%);z-index:-1}
.tn-guild-leaderboard .tn-home-intro-content{position:relative;z-index:1;flex:1;width:100%;max-width:none}
.tn-guild-hall-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:0 0 23px;border-bottom:1px solid #8a75573d;padding-bottom:15px}
.tn-guild-hall-heading h2{margin:5px 0 4px!important;color:#f0d49c;font:400 clamp(25px,3.2vw,33px)/1.15 Georgia,serif!important;max-width:none}
.tn-guild-hall-heading p{margin:0;font-size:12px;color:#aabbce}
.tn-guild-hall-season{font-size:9px;letter-spacing:.18em;color:#c4a26c;white-space:nowrap;border:1px solid #846d493f;padding:8px 10px}
.tn-guild-podium{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.16fr) minmax(0,1fr);align-items:end;gap:12px;padding:15px 2px 0}
.tn-guild-podium-card{--podium:#a9bacb;position:relative;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;gap:6px;padding:18px 10px 0;text-decoration:none!important;color:#f6ddb0!important;background:linear-gradient(180deg,#24344b 0%,#15243a 55%,#101b2d 100%);border:1px solid #44526a;border-bottom:0;border-radius:8px 8px 0 0;box-shadow:inset 0 1px #ffffff0c,0 7px 25px #0003;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.tn-guild-podium-card:hover{transform:translateY(-5px);border-color:var(--podium);box-shadow:0 7px 24px #0008,0 0 20px #bd9b4233}
.tn-guild-podium-card-1{--podium:#f0c77a;min-height:236px;background:radial-gradient(ellipse at 50% 24%,#514534 0%,#243247 56%,#101d31 100%);border-color:#b38e4f;box-shadow:inset 0 1px #e9c98566,0 0 25px #c8a25b20}
.tn-guild-podium-card-2{--podium:#c6d2dd;min-height:205px}
.tn-guild-podium-card-3{--podium:#c79468;min-height:188px}
.tn-guild-podium-rank{position:absolute;left:12px;top:10px;font:700 16px Georgia,serif;color:var(--podium)}
.tn-guild-podium-crown{position:absolute;top:-20px;left:50%;transform:translateX(-50%);font-size:29px;line-height:1;color:#f4d78d;text-shadow:0 3px 13px #c5a05aaa}
.tn-guild-podium-crest{display:flex;align-items:center;justify-content:center;width:80px;height:84px;margin:8px auto 3px;filter:drop-shadow(0 6px 7px #0008)}
.tn-guild-podium-card-1 .tn-guild-podium-crest{width:98px;height:102px;margin-top:3px}
.tn-guild-podium-crest img{width:100%;height:100%;object-fit:contain;image-rendering:auto}
.tn-guild-podium-fallback{font-size:38px;color:var(--podium);filter:drop-shadow(0 3px 7px #0009)}
.tn-guild-podium-name{font:700 clamp(13px,1.55vw,17px)/1.35 Georgia,serif;overflow-wrap:anywhere}
.tn-guild-podium-title{font-size:9px;letter-spacing:.14em;color:var(--podium);font-weight:800}
.tn-guild-podium-frags{display:flex;align-items:baseline;gap:5px;margin:4px 0 9px;color:#e9d7b3}
.tn-guild-podium-frags strong{font:700 25px Georgia,serif}
.tn-guild-podium-frags small{font-size:9px;letter-spacing:.09em;color:#aabbcf}
.tn-guild-podium-base{display:block;align-self:stretch;margin:auto -10px 0;padding:7px;background:linear-gradient(180deg,#6f634f,#403a36);border-top:2px solid var(--podium);color:#f9e6b7;font:700 18px Georgia,serif;box-shadow:inset 0 2px 8px #0003}
.tn-guild-podium-card-2 .tn-guild-podium-base{background:linear-gradient(180deg,#586477,#303b4c)}
.tn-guild-podium-card-3 .tn-guild-podium-base{background:linear-gradient(180deg,#805c46,#4e3b35)}
.tn-guild-hall-links{display:flex;justify-content:center;flex-wrap:wrap;gap:9px 24px;padding-top:16px;border-top:1px solid #726b5d55}
.tn-guild-hall-links a{font-size:12px;color:#dfbc7d!important;text-decoration:none}
.tn-guild-hall-links a:hover{text-decoration:underline}
.tn-guild-hall-links a span{margin-left:5px}
@media(max-width:650px){.tn-guild-hall-season{display:none}.tn-guild-podium{gap:6px}.tn-guild-podium-card{padding:11px 5px 0}.tn-guild-podium-card-1{min-height:208px}.tn-guild-podium-card-2{min-height:183px}.tn-guild-podium-card-3{min-height:174px}.tn-guild-podium-rank{left:7px;top:6px;font-size:13px}.tn-guild-podium-crest,.tn-guild-podium-card-1 .tn-guild-podium-crest{width:60px;height:64px}.tn-guild-podium-name{font-size:12px}.tn-guild-podium-title{font-size:8px;letter-spacing:.04em}.tn-guild-podium-frags strong{font-size:21px}.tn-guild-podium-frags small{font-size:8px}.tn-guild-podium-base{margin:0 -5px}}
@media(max-width:390px){.tn-guild-podium{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.tn-guild-podium-card-1{min-height:193px}.tn-guild-podium-card-2{min-height:173px}.tn-guild-podium-card-3{min-height:166px}.tn-guild-podium-crest,.tn-guild-podium-card-1 .tn-guild-podium-crest{width:49px;height:54px}.tn-guild-podium-title{font-size:7px}}

/* Hall of Fame: fully enclosed cards, no cut-off pedestal strips. */
.tn-guild-podium{align-items:stretch;padding:23px 2px 0;gap:12px}
.tn-guild-podium-card{height:100%;min-height:225px;border:1px solid #44526a;border-radius:9px;padding:19px 10px 17px;justify-content:center;gap:7px;box-shadow:inset 0 1px #ffffff15,0 6px 17px #0005}
.tn-guild-podium-card-1{min-height:240px;border-color:#c69e59;box-shadow:inset 0 1px #f0d49c55,0 0 24px #c7a05c20}
.tn-guild-podium-card-2,.tn-guild-podium-card-3{min-height:225px}
.tn-guild-podium-base{display:none}
.tn-guild-podium-crest,.tn-guild-podium-card-1 .tn-guild-podium-crest{margin:6px auto 5px}
.tn-guild-podium-frags{margin:6px 0 0}
.tn-guild-podium-card:hover{transform:translateY(-4px)}
@media(max-width:650px){.tn-guild-podium{gap:7px;padding-top:19px}.tn-guild-podium-card,.tn-guild-podium-card-1,.tn-guild-podium-card-2,.tn-guild-podium-card-3{min-height:193px;padding:16px 5px 13px;gap:5px}}
@media(max-width:390px){.tn-guild-podium-card,.tn-guild-podium-card-1,.tn-guild-podium-card-2,.tn-guild-podium-card-3{min-height:181px}}


/* Guild War Champions — decisive #1 / #2 / #3 hierarchy */
.tn-guild-leaderboard{background:radial-gradient(ellipse at 50% 5%,#453b31 0%,#18263c 45%,#0c1729 100%);border-color:#ab8954}
.tn-guild-hall-heading{margin-bottom:13px}
.tn-guild-hall-heading h2{font-size:clamp(25px,3vw,34px)!important;line-height:1.15}
.tn-guild-hall-heading p{max-width:50ch}
.tn-guild-podium{grid-template-columns:minmax(0,.9fr) minmax(0,1.24fr) minmax(0,.9fr);gap:11px;align-items:stretch;padding-top:25px}
.tn-guild-podium-card{min-height:235px;height:100%;padding:23px 10px 19px;justify-content:flex-start;border-radius:10px;gap:7px;background:linear-gradient(180deg,#1e2e45,#101d30);box-shadow:inset 0 1px #ffffff0b,0 9px 20px #0006}
.tn-guild-podium-card-1{min-height:280px;margin-top:-19px;z-index:2;border:2px solid #e3b867;background:radial-gradient(ellipse at 50% 10%,#645034 0%,#263249 51%,#101d30 100%);box-shadow:inset 0 1px #f6d69a77,0 0 24px #d9ad5b48,0 13px 30px #0008}
.tn-guild-podium-card-2{border-color:#8e9fb5}
.tn-guild-podium-card-3{border-color:#a5795a}
.tn-guild-podium-rank{display:inline-flex;align-items:center;justify-content:center;top:10px;left:10px;min-width:43px;padding:5px 9px;font:800 13px/1.3 Arial,sans-serif;border-radius:30px;color:#111b2a;background:linear-gradient(#d5dee9,#8e9db0);box-shadow:0 3px 9px #0004}
.tn-guild-podium-card-1 .tn-guild-podium-rank{background:linear-gradient(#f6d994,#bc8f42);color:#241807}
.tn-guild-podium-card-3 .tn-guild-podium-rank{background:linear-gradient(#d4a47f,#9b6544);color:#21150f}
.tn-guild-podium-crown{font-size:31px;top:-23px}
.tn-guild-podium-crest{width:85px;height:91px;margin:22px auto 6px;padding:6px;background:#0d1725a8;border:1px solid #ffffff12;border-radius:10px;box-shadow:0 5px 19px #0006;box-sizing:border-box}
.tn-guild-podium-card-1 .tn-guild-podium-crest{width:106px;height:110px;margin:17px auto 8px;border-color:#d7b06b66;box-shadow:0 7px 22px #0009,0 0 16px #d5ab5344}
.tn-guild-podium-name{font:700 clamp(14px,1.7vw,19px)/1.25 Georgia,serif;margin:1px 0;overflow-wrap:anywhere;color:#f5e1b9}
.tn-guild-podium-card-1 .tn-guild-podium-name{font-size:clamp(18px,2.2vw,23px)}
.tn-guild-podium-title{font-size:9px;letter-spacing:.09em}
.tn-guild-podium-frags{display:flex;flex-direction:column;align-items:center;gap:1px;margin:auto 0 0;padding-top:12px}
.tn-guild-podium-frags strong{font:700 36px/1 Georgia,serif;color:#dfecfb}
.tn-guild-podium-card-1 .tn-guild-podium-frags strong{font-size:48px;color:#f6d491;text-shadow:0 0 13px #c29b513d}
.tn-guild-podium-card-3 .tn-guild-podium-frags strong{color:#dba67b}
.tn-guild-podium-frags small{font-size:10px;letter-spacing:.12em;color:#abbad0}
.tn-guild-podium-base{display:none!important}
.tn-guild-hall-links{margin-top:16px}
@media(max-width:650px){.tn-guild-podium{gap:6px;padding-top:23px}.tn-guild-podium-card,.tn-guild-podium-card-2,.tn-guild-podium-card-3{min-height:196px;padding:21px 5px 14px}.tn-guild-podium-card-1{min-height:222px;margin-top:-12px;padding:21px 5px 14px}.tn-guild-podium-crest{width:57px;height:63px;margin:22px auto 5px}.tn-guild-podium-card-1 .tn-guild-podium-crest{width:69px;height:75px;margin:20px auto 6px}.tn-guild-podium-name,.tn-guild-podium-card-1 .tn-guild-podium-name{font-size:12px}.tn-guild-podium-card-1 .tn-guild-podium-name{font-size:14px}.tn-guild-podium-title{font-size:7px}.tn-guild-podium-frags strong{font-size:29px}.tn-guild-podium-card-1 .tn-guild-podium-frags strong{font-size:38px}.tn-guild-podium-frags small{font-size:8px}.tn-guild-podium-rank{font-size:11px;min-width:33px;padding:4px 6px}}
@media(max-width:390px){.tn-guild-podium{gap:4px}.tn-guild-podium-card-1{min-height:212px}.tn-guild-podium-card-2,.tn-guild-podium-card-3{min-height:191px}}


/* Compact home ranking: keep the podium hierarchy without oversized cards. */
.tn-guild-leaderboard{padding-top:15px;padding-bottom:14px}
.tn-guild-hall-heading{margin-bottom:9px;padding-bottom:9px}
.tn-guild-hall-heading h2{font-size:clamp(22px,2.6vw,29px)!important}
.tn-guild-hall-heading p{font-size:11px}
.tn-guild-podium{gap:9px;padding-top:19px;align-items:stretch}
.tn-guild-podium-card,.tn-guild-podium-card-2,.tn-guild-podium-card-3{min-height:168px;height:100%;padding:14px 8px 12px;gap:3px}
.tn-guild-podium-card-1{min-height:184px;margin-top:-10px;padding:15px 8px 12px}
.tn-guild-podium-rank{top:7px;left:7px;font-size:10px;min-width:32px;padding:3px 7px}
.tn-guild-podium-crown{font-size:23px;top:-17px}
.tn-guild-podium-crest{width:57px;height:62px;margin:12px auto 3px;padding:4px}
.tn-guild-podium-card-1 .tn-guild-podium-crest{width:68px;height:73px;margin:8px auto 3px}
.tn-guild-podium-name{font-size:clamp(12px,1.4vw,15px)}
.tn-guild-podium-card-1 .tn-guild-podium-name{font-size:clamp(14px,1.8vw,18px)}
.tn-guild-podium-title{font-size:8px;letter-spacing:.06em}
.tn-guild-podium-frags{flex-direction:row;justify-content:center;gap:5px;margin:3px 0 0;padding-top:2px}
.tn-guild-podium-frags strong{font-size:23px}
.tn-guild-podium-card-1 .tn-guild-podium-frags strong{font-size:29px}
.tn-guild-podium-frags small{font-size:8px;letter-spacing:.05em}
.tn-guild-hall-links{margin-top:9px;padding-top:9px;gap:8px 19px}
@media(max-width:650px){
.tn-guild-podium{gap:5px;padding-top:17px}
.tn-guild-podium-card,.tn-guild-podium-card-2,.tn-guild-podium-card-3{min-height:148px;padding:13px 4px 10px;gap:3px}
.tn-guild-podium-card-1{min-height:164px;margin-top:-7px;padding:13px 4px 10px}
.tn-guild-podium-crest{width:45px;height:49px;margin:13px auto 3px}
.tn-guild-podium-card-1 .tn-guild-podium-crest{width:53px;height:57px;margin:11px auto 3px}
.tn-guild-podium-name,.tn-guild-podium-card-1 .tn-guild-podium-name{font-size:11px}
.tn-guild-podium-card-1 .tn-guild-podium-name{font-size:12px}
.tn-guild-podium-frags strong{font-size:19px}
.tn-guild-podium-card-1 .tn-guild-podium-frags strong{font-size:24px}
.tn-guild-podium-title{font-size:7px}
.tn-guild-podium-frags small{font-size:7px}
}
@media(max-width:390px){.tn-guild-podium-card,.tn-guild-podium-card-2,.tn-guild-podium-card-3{min-height:140px}.tn-guild-podium-card-1{min-height:155px}}

/* Guild War Champions: slightly larger readable guild names */
.tn-guild-podium-name{font-size:clamp(13px,1.55vw,17px)}
.tn-guild-podium-card-1 .tn-guild-podium-name{font-size:clamp(16px,2vw,20px)}
@media(max-width:650px){.tn-guild-podium-name{font-size:12px}.tn-guild-podium-card-1 .tn-guild-podium-name{font-size:13px}}

/* Signed-in VIP account status */
.tn-account-vip-summary{display:flex;flex-direction:column;gap:3px;margin-top:10px;padding:10px 11px;border:1px solid #ad8b4c66;border-radius:5px;background:linear-gradient(115deg,#3d321f77,#14243b);font-size:11px;color:#d9dfeb}
.tn-account-vip-summary strong{color:#ecc982;font-size:12px}
.tn-account-vip-summary span{color:#abbdd2;line-height:1.4}
