/* Westeros shell. Internal pages use the theme-owned pages.css. */
:root {
    color-scheme: dark;
    --w-bg: #0c0d10;
    --w-surface: #17191d;
    --w-line: #49433a;
    --w-gold: #d6b477;
    --w-silver: #e5e5df;
    --w-muted: #a9adb4;
    --w-blue: #77d7fa;
}
* { box-sizing: border-box; }
html { scroll-padding-top: 90px; }
body.westeros-theme {
    margin: 0; min-height: 100vh; background: var(--w-bg); color: var(--w-silver);
    font: 14px/1.55 Arial, Helvetica, sans-serif; letter-spacing: 0; isolation: isolate;
}
body.westeros-theme::before, body.westeros-theme::after { content: none; }
.westeros-theme :is(h1,h2,h3,h4,p,ul,ol,dl) { margin-top: 0; }
.westeros-theme :is(h1,h2,h3,h4) { color: var(--w-silver); letter-spacing: 0; }
.westeros-theme a { color: inherit; text-decoration: none; font-weight: inherit; }
.westeros-theme a:hover { color: var(--w-gold); text-decoration: none; }
.westeros-theme p { color: var(--w-muted); }
.westeros-theme img { max-width: 100%; }
.westeros-theme button { font: inherit; cursor: pointer; }
.westeros-theme :is(a,button,input,summary):focus-visible { outline: 2px solid var(--w-blue); outline-offset: 4px; }
.westeros-theme .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.w-skip { position: fixed; left: 16px; top: -80px; z-index: 100; background: #151619; padding: 12px; }
.w-skip:focus { top: 75px; }
.westeros-theme .mtz-home-bg {
    display: block !important; position: absolute; inset: 64px 0 auto; height: 820px; z-index: -1;
    background: url('./realm.png') center top / max(100%, 1440px) auto no-repeat;
    pointer-events: none;
}
.westeros-theme .mtz-home-bg::after { content: ''; position: absolute; inset: 380px 0 0; background: linear-gradient(transparent, var(--w-bg) 80%); }
.w-topbar {
    position: fixed; inset: 0 0 auto; z-index: 50; height: 66px;
    display: flex; align-items: center; justify-content: space-between; gap: 20px;
    padding: 0 max(24px, calc((100% - 1380px) / 2));
    --w-side-align-shift: clamp(0px, calc((100vw - 1288px) / 2), 70px);
    background: #111214f5; border-bottom: 1px solid #857052;
    box-shadow: 0 3px 0 #090909, 0 5px 0 #a9a08d30, 0 10px 28px #0006;
}
.w-wordmark { position: relative; display: block; flex: 0 0 118px; width: 118px; height: 64px; overflow: hidden; transform: translateX(var(--w-side-align-shift)); }
.w-wordmark img { position: absolute; top: -17px; left: 0; display: block; width: 118px; height: auto; max-width: none; filter: drop-shadow(0 2px 4px #000b); }
.w-account-link img { filter: invert(77%) sepia(27%) saturate(476%) hue-rotate(355deg); }
.westeros-theme .mtz-home-nav { display: flex; align-self: stretch; align-items: stretch; justify-content: center; margin: 0; padding: 0; gap: 0; width: auto; border: 0; border-radius: 0; box-shadow: none; background: none; }
.westeros-theme .mtz-home-nav > a { position: relative; display: flex; align-items: center; padding: 0 17px; border: 0; background: none; color: #c8c8c9; font: 12px Arial, sans-serif; text-transform: uppercase; }
.westeros-theme .mtz-home-nav > a::before { display: none; }
.westeros-theme .mtz-home-nav > a:hover, .westeros-theme .mtz-home-nav > a[aria-current=page] { color: #efcf93; background: #cfb57d09; }
.westeros-theme .mtz-home-nav > a[aria-current=page]::after { content: ''; position: absolute; height: 2px; background: var(--w-gold); left: 16px; right: 16px; bottom: 0; }
.w-account-link { display: flex; align-items: center; gap: 8px; font-size: 12px; max-width: 180px; overflow-wrap: anywhere; transform: translateX(calc(0px - var(--w-side-align-shift))); }
.westeros-theme .mtz-home-nav-toggle { display: none; }
.westeros-theme .mtz-home-header { position: relative; z-index: 1; height: 450px; width: 100%; margin: 0; padding: 94px 16px 28px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 13px; background: none; }
.westeros-theme .mtz-home-logo { position: relative; isolation: isolate; display: block; width: 252px; height: 273px; margin: 0; padding: 0; flex-shrink: 0; }
.westeros-theme .mtz-home-logo::before { content: ''; position: absolute; z-index: -1; inset: 8% -18% 5%; border-radius: 50%; background: radial-gradient(ellipse, #06101de0 9%, #06101dab 45%, #06101d00 75%); filter: blur(11px); pointer-events: none; }
.westeros-theme .mtz-home-logo img { width: 100%; height: 100%; max-height: none; object-fit: contain; filter: drop-shadow(0 5px 3px #030714d9) drop-shadow(0 0 16px #3ba9ef75); }
.w-mobile-actions { display: none; }
.westeros-theme .mtz-home-wrap { width: min(1240px, calc(100% - 48px)); margin: 0 auto; padding: 0 0 48px; }
.westeros-theme .mtz-home-layout { display: grid; grid-template-columns: 252px minmax(0, 1fr) 252px; gap: 22px; align-items: start; }
.westeros-theme :is(.mtz-home-left,.mtz-home-center,.mtz-home-right) { display: flex; flex-direction: column; gap: 22px; min-width: 0; }
.westeros-theme .mtz-panel { position: relative; padding: 0; border: 1px solid var(--w-line); border-radius: 3px; background: linear-gradient(120deg, #202126ef, #141518f7); box-shadow: inset 0 0 0 3px #090a0c66, 0 6px 18px #0004; overflow: hidden; }
.westeros-theme .mtz-panel::before { content: ''; position: absolute; top: 0; left: 18px; right: 18px; height: 1px; background: linear-gradient(90deg, transparent, #c9b68a80, transparent); }
.westeros-theme .mtz-panel > h2, .westeros-theme .mtz-panel > header { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 51px; padding: 14px 17px; margin: 0; background: linear-gradient(#34343777, #18191d44); border-bottom: 1px solid #77705b4d; }
.westeros-theme .mtz-panel h2 { margin: 0; font: 16px/1.35 Georgia, 'Times New Roman', serif; color: #e8dcc4; text-transform: none; }
.westeros-theme .mtz-panel > h2::before { content: ''; width: 15px; height: 15px; flex-shrink: 0; background: url('./icons/shield.svg') center/contain no-repeat; filter: invert(76%) sepia(24%) saturate(470%); margin-right: 0; }
.westeros-theme .mtz-panel > h2 { justify-content: flex-start; }
.westeros-theme .mtz-login-panel > h2::before { background-image: url('./icons/user-round.svg'); }
.westeros-theme .mtz-ranking-panel.is-reset > h2::before { background-image: url('./icons/rotate-ccw.svg'); }
.westeros-theme .mtz-ranking-panel.is-master-reset > h2::before { background-image: url('./icons/crown.svg'); }
.westeros-theme .mtz-ranking-panel.is-top-guild > h2::before { background-image: url('./icons/shield.svg'); }
.westeros-theme .mtz-server-panel > h2::before { background-image: url('./icons/server.svg'); }
.westeros-theme .mtz-events-panel > h2::before { background-image: url('./icons/calendar-clock.svg'); }
.westeros-theme .mtz-staff-panel > h2::before { background-image: url('./icons/users.svg'); }
.westeros-theme .mtz-panel header a { font: 11px Arial, sans-serif; color: var(--w-gold); flex-shrink: 0; }
.westeros-theme .mtz-panel header > span { font-size: 11px; color: var(--w-muted); }
.westeros-theme .mtz-panel > p { margin: 0; padding: 18px; font-size: 12px; }
.westeros-theme .mtz-panel-link { display: block; padding: 12px 16px; text-align: center; color: #bbbdc4; font-size: 11px; border-top: 1px solid #ffffff08; }
.westeros-theme :is(.mtz-register-button,.mtz-download-button) {
    position: relative; min-height: 78px; display: flex; align-items: center; justify-content: center; gap: 13px;
    padding: 14px 12px; border: 1px solid #b6965d; border-radius: 3px;
    background: linear-gradient(110deg,#332718,#735b34 50%,#322618); color: #fff0c8;
    box-shadow: inset 0 0 0 3px #17120fa0, inset 0 5px 10px #e5c89322, 0 4px 10px #0005;
    font: bold 21px/1.2 Georgia, serif; text-transform: none; transition: filter .2s, border-color .2s;
}
.westeros-theme :is(.mtz-register-button,.mtz-download-button)::before, .westeros-theme :is(.mtz-register-button,.mtz-download-button)::after { content: ''; position: absolute; inset: 6px auto 6px 6px; width: 8px; border: solid #e2c89680; border-width: 1px 0 1px 1px; }
.westeros-theme :is(.mtz-register-button,.mtz-download-button)::after { left: auto; right: 6px; transform: rotate(180deg); }
.westeros-theme :is(.mtz-register-button,.mtz-download-button) img { filter: invert(92%) sepia(21%) saturate(569%); }
.westeros-theme :is(.mtz-register-button,.mtz-download-button) small { display: block; margin-top: 6px; font: 10px Arial, sans-serif; color: #ded4c0; }
.westeros-theme .mtz-download-button { border-color: #7293a9; background: linear-gradient(110deg,#172730,#2c5465 50%,#182931); color: #daf5ff; }
.westeros-theme :is(.mtz-register-button,.mtz-download-button):hover { filter: brightness(1.18); color: white; }
.westeros-theme .mtz-login-panel form { display: grid; gap: 10px; padding: 18px 16px 12px; margin: 0; }
.westeros-theme .mtz-login-panel input:not([type=hidden]) { width: 100%; height: 40px; padding: 0 12px; background: #0d0f12; border: 1px solid #45454a; border-radius: 2px; color: #eee; font: 12px Arial, sans-serif; }
.westeros-theme .mtz-login-panel input::placeholder { color: #a8a8ae; }
.westeros-theme .mtz-login-panel button { min-height: 39px; padding: 8px; border: 1px solid #7d6a47; border-radius: 2px; background: linear-gradient(#444033,#2c2923); color: #ecdfc6; text-transform: uppercase; font-size: 11px; }
.westeros-theme .mtz-login-panel button:hover { background: #5a4c33; }
.westeros-theme .mtz-login-error { color: #ffb7ae; }
.westeros-theme #w-login { scroll-margin-top: 16px; }
.westeros-theme .mtz-ranking-list { list-style: none; padding: 7px 16px; margin: 0; counter-reset: player; }
.westeros-theme .mtz-ranking-list li { counter-increment: player; display: grid; grid-template-columns: 25px minmax(0,1fr) auto; align-items: center; gap: 7px; min-height: 37px; border-bottom: 1px solid #ffffff08; font-size: 12px; }
.westeros-theme .mtz-ranking-list li::before { content: counter(player, decimal-leading-zero); color: #85888e; font: 13px Georgia, serif; }
.westeros-theme .mtz-ranking-list li:first-child::before, .westeros-theme .mtz-ranking-list li:first-child strong { color: var(--w-gold); }
.westeros-theme .mtz-ranking-list strong { color: #c7cbd2; font-size: 11px; }
.westeros-theme .mtz-ranking-list span { overflow-wrap: anywhere; }
.westeros-theme .mtz-home-center { gap: 18px; }
.westeros-theme .mtz-home-slider { border-color: #706044; }
.westeros-theme .mtz-home-slider-track { height: 252px; position: relative; }
.westeros-theme .mtz-home-slide { display: none; position: absolute; inset: 0; }
.westeros-theme .mtz-home-slide.is-active { display: block; }
.westeros-theme .mtz-home-slide > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.westeros-theme .mtz-home-slide::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,#090b10e8,#090b1066 75%),linear-gradient(transparent 60%,#090b10cc); }
.westeros-theme .mtz-home-slide-content { position: absolute; inset: 0; padding: 30px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; z-index: 1; }
.westeros-theme .mtz-home-slide-content > span, .w-welcome > span { color: var(--w-gold); font-size: 10px; text-transform: uppercase; }
.westeros-theme .mtz-home-slide-content h2 { margin: 12px 0 8px; font: 30px/1.15 Georgia, serif; color: #f5eee1; max-width: 100%; overflow-wrap: anywhere; }
.westeros-theme .mtz-home-slide-content p { margin: 0; max-width: 360px; font-size: 12px; color: #c5c9d1; }
.westeros-theme .mtz-home-slide-content a { margin-top: 18px; color: #e2c18a; font-size: 11px; padding-bottom: 4px; border-bottom: 1px solid #ad8a54; }
.westeros-theme .mtz-home-slider-dots { position: absolute; z-index: 2; bottom: 12px; right: 18px; display: flex; gap: 3px; }
.westeros-theme .mtz-home-slider-dots button { display: grid; place-items: center; width: 28px; height: 28px; min-height: 0; padding: 0; border: 0; border-radius: 0; background: none; }
.westeros-theme .mtz-home-slider-dots button::after { content: ''; width: 6px; height: 6px; background: #969392; transform: rotate(45deg); }
.westeros-theme .mtz-home-slider-dots button.is-active::after { background: #e3be7f; }
.w-welcome { padding: 30px; min-height: 252px; background: linear-gradient(90deg,#101316dd,#10131644),url('./realm.png') center/cover; border: 1px solid #706044; }
.w-welcome h2 { font: 29px/1.2 Georgia,serif; margin: 14px 0; }
.w-welcome p { font-size: 12px; }
.w-welcome a { font-size: 12px; color: var(--w-gold); }
.westeros-theme .mtz-news-list { padding: 0 18px; }
.westeros-theme .mtz-news-list article { display: flex; align-items: center; gap: 14px; padding: 16px 0; border-bottom: 1px solid #ffffff09; }
.westeros-theme .mtz-news-list article:last-child { border: 0; }
.westeros-theme .mtz-news-thumb { flex: 0 0 36px; height: 38px; background: url('./icons/scroll-text.svg') center/24px no-repeat; filter: invert(76%) sepia(24%) saturate(470%); }
.westeros-theme .mtz-news-thumb.is-image {
    flex-basis: 72px;
    height: 48px;
    overflow: hidden;
    border: 1px solid #5b5140;
    border-radius: 3px;
    background: #090b0f;
    filter: none;
}
.westeros-theme .mtz-news-thumb.is-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.westeros-theme .mtz-news-list article > div:last-child { min-width: 0; flex: 1; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 5px 12px; }
.westeros-theme .mtz-news-list span { grid-column: 1; font-size: 9px; color: var(--w-gold); text-transform: uppercase; }
.westeros-theme .mtz-news-list strong { grid-column: 1; font-size: 13px; font-weight: normal; overflow-wrap: anywhere; }
.westeros-theme .mtz-news-list small { grid-column: 2; grid-row: 1/3; color: #a5a6ab; font-size: 10px; }
.westeros-theme .mtz-castle-box { display: grid; grid-template-columns: 150px minmax(0,1fr); gap: 20px; padding: 20px; align-items: stretch; }
.westeros-theme .mtz-castle-image { margin: 0; min-height: 190px; overflow: hidden; border: 1px solid #5c5141; border-radius: 2px; background: #080b10; box-shadow: inset 0 0 0 1px #ffffff08; }
.westeros-theme .mtz-castle-image img { display: block; width: 100%; height: 100%; min-height: 190px; object-fit: cover; object-position: center 32%; }
.westeros-theme .mtz-castle-info { min-width: 0; }
.westeros-theme .mtz-castle-info h3 { font: 17px Georgia,serif; margin-bottom: 10px; }
.westeros-theme .mtz-castle-info h3 span { display: block; font: 10px Arial,sans-serif; color: var(--w-gold); margin-top: 8px; }
.westeros-theme .mtz-castle-info p { font-size: 12px; margin-bottom: 14px; }
.westeros-theme .mtz-castle-details { display: grid; grid-template-columns: minmax(0,1fr) 112px; gap: 18px; align-items: start; }
.westeros-theme .mtz-castle-info dl { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 8px 16px; margin: 0; font-size: 11px; }
.westeros-theme .mtz-castle-info dt { color: #a1a4ac; }
.westeros-theme .mtz-castle-info dd { margin: 0; text-align: right; color: #d9d8d4; overflow-wrap: anywhere; }
.westeros-theme .mtz-castle-guild-mark { min-width: 0; text-align: center; }
.westeros-theme .mtz-castle-guild-mark > span { display: block; margin-bottom: 7px; color: #a1a4ac; font-size: 9px; text-transform: uppercase; letter-spacing: .05em; }
.westeros-theme .mtz-castle-guild-mark > img,
.westeros-theme .mtz-castle-guild-placeholder { width: 76px; height: 76px; margin: 0 auto; border: 1px solid #514838; background: #0b0d11; }
.westeros-theme .mtz-castle-guild-mark > img { display: block; object-fit: contain; }
.westeros-theme .mtz-castle-guild-placeholder { display: grid; place-items: center; align-content: center; gap: 4px; padding: 8px; }
.westeros-theme .mtz-castle-guild-placeholder img { width: 28px; height: 28px; opacity: .62; filter: invert(74%) sepia(22%) saturate(422%); }
.westeros-theme .mtz-castle-guild-placeholder small { color: #87888e; font-size: 8px; line-height: 1.2; }
.westeros-theme .mtz-castle-footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; padding: 13px 18px; border-top: 1px solid #49433a; font-size: 10px; color: #b8b5aa; }
.westeros-theme .mtz-castle-footer strong { color: var(--w-gold); font-weight: normal; }
.westeros-theme .mtz-server-panel dl { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 0; margin: 0; padding: 10px 16px; }
.westeros-theme .mtz-server-panel :is(dt,dd) { padding: 7px 0; border-bottom: 1px solid #ffffff07; margin: 0; font-size: 11px; overflow-wrap: anywhere; }
.westeros-theme .mtz-server-panel dt { color: #aaaab0; }
.westeros-theme .mtz-server-panel dd { color: #dbd4c6; text-align: right; }
.westeros-theme .mtz-whatsapp-button {
    position: relative;
    min-height: 72px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 14px;
    border: 1px solid #4f8f6a;
    border-radius: 3px;
    background: linear-gradient(110deg,#10251a,#1f5135 50%,#10261b);
    color: #d8ffe6;
    box-shadow: inset 0 0 0 3px #0b1710a8, inset 0 5px 10px #8ff0b91c, 0 4px 10px #0005;
    font: bold 15px/1.15 Georgia, serif;
    text-align: center;
    text-decoration: none;
    transition: filter .2s,border-color .2s,box-shadow .2s;
}
.westeros-theme .mtz-whatsapp-button::before,
.westeros-theme .mtz-whatsapp-button::after {
    content: '';
    position: absolute;
    inset: 6px auto 6px 6px;
    width: 8px;
    border: solid #9fe4b780;
    border-width: 1px 0 1px 1px;
}
.westeros-theme .mtz-whatsapp-button::after {
    left: auto;
    right: 6px;
    transform: rotate(180deg);
}
.westeros-theme .mtz-whatsapp-button img {
    width: 28px;
    height: 28px;
    object-fit: contain;
    flex: 0 0 28px;
}
.westeros-theme .mtz-whatsapp-button span {
    display: block;
    white-space: nowrap;
}
.westeros-theme .mtz-whatsapp-button:hover {
    filter: brightness(1.16);
    border-color: #74bd8e;
    color: #ffffff;
    box-shadow: inset 0 0 0 3px #0b1710a8, inset 0 5px 10px #8ff0b92a, 0 5px 14px #0007;
}
.westeros-theme .mtz-discord-button {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 16px 12px;
    min-height: 52px;
    border: 1px solid #5a4c70;
    border-radius: 3px;
    background: #292332;
    color: #d2c8e8;
    font-size: 11px;
}
.westeros-theme .mtz-events-panel dl { display: grid; grid-template-columns: minmax(0,1fr) auto; margin: 0; padding: 5px 16px; }
.westeros-theme .mtz-events-panel :is(dt,dd) { margin: 0; padding: 13px 0; border-bottom: 1px solid #ffffff08; font-size: 11px; }
.westeros-theme .mtz-events-panel dd { text-align: right; }
.westeros-theme .mtz-events-panel dd span { display: none; }
.westeros-theme .mtz-events-panel dd strong { color: var(--w-gold); font: 12px Consolas,monospace; }
.westeros-theme .mtz-staff-panel ul { list-style: none; margin: 0; padding: 5px 16px; }
.westeros-theme .mtz-staff-panel li { display: flex; justify-content: space-between; align-items: center; padding: 12px 0; font-size: 12px; }
.westeros-theme .mtz-staff-panel small { display: block; color: #a2a1a7; font-size: 10px; }
.westeros-theme .mtz-staff-panel li > strong { width: 6px; height: 6px; border-radius: 50%; background: #757578; }
.westeros-theme .mtz-staff-panel li > .is-online { background: #8bd2a9; }
.westeros-theme .mtz-fame-class, .westeros-theme .mtz-fame-arena { padding: 18px; }
.westeros-theme :is(.mtz-fame-class,.mtz-fame-arena) > h3 { font: 12px Georgia,serif; color: #c5b699; }
.westeros-theme .mtz-fame-tabs { display: flex; gap: 4px; padding-bottom: 15px; }
.westeros-theme .mtz-fame-tabs button { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 8px 3px; border: 0; border-bottom: 1px solid #444; border-radius: 0; background: none; color: #aaa; font-size: 10px; min-width: 0; }
.westeros-theme .mtz-fame-tabs button.is-active { border-color: var(--w-gold); color: var(--w-gold); }
.westeros-theme .mtz-fame-tabs img { object-fit: cover; border-radius: 50%; }
.westeros-theme .mtz-fame-feature-item { display: none; }
.westeros-theme .mtz-fame-feature-item.is-active { display: grid; grid-template-columns: 120px minmax(0,1fr); gap: 18px; align-items: center; }
.westeros-theme .mtz-fame-feature-image { width: 120px; height: 145px; object-fit: cover; }
.westeros-theme .mtz-fame-feature-content > strong { color: var(--w-gold); font-size: 10px; }
.westeros-theme .mtz-fame-feature-content h3 { font: 23px Georgia,serif; margin: 8px 0; }
.westeros-theme .mtz-fame-feature-content :is(p,span) { font-size: 11px; color: #a9adb4; }
.westeros-theme .mtz-fame-feature-content .mtz-fame-guild { display: block; margin: 5px 0; color: #d8c6a0; }
.westeros-theme .mtz-fame-arena { border-top: 1px solid #49433a; }
.westeros-theme .mtz-fame-arena-grid {
    display: grid;
    grid-template-columns: repeat(6,minmax(0,1fr));
    gap: 14px;
}
.westeros-theme .mtz-fame-arena-card {
    position: relative;
    min-height: 230px;
    overflow: hidden;
    border: 1px solid #504630;
    border-radius: 2px;
    background: #090b0f;
}
.westeros-theme .mtz-fame-arena-card:nth-child(1) {
    grid-column: 1 / -1;
    min-height: 285px;
}
.westeros-theme .mtz-fame-arena-card:nth-child(2),
.westeros-theme .mtz-fame-arena-card:nth-child(3),
.westeros-theme .mtz-fame-arena-card:nth-child(4) {
    grid-column: span 2;
}
.westeros-theme .mtz-fame-arena-card:nth-child(5),
.westeros-theme .mtz-fame-arena-card:nth-child(6) {
    grid-column: span 3;
    min-height: 245px;
}
.westeros-theme .mtz-fame-arena-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform .25s ease;
}
.westeros-theme .mtz-fame-arena-card:hover .mtz-fame-arena-image {
    transform: scale(1.015);
}
.westeros-theme .mtz-fame-arena-content {
    position: absolute;
    inset: 0;
    padding: 16px 12px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    background: linear-gradient(
        180deg,
        transparent 42%,
        #080a0dcc 72%,
        #08090cf5 100%
    );
}
.westeros-theme .mtz-fame-arena-card:nth-child(1) .mtz-fame-arena-content {
    padding: 20px 18px;
    background: linear-gradient(
        180deg,
        transparent 48%,
        #080a0dbd 73%,
        #08090cf5 100%
    );
}
.westeros-theme .mtz-fame-arena-content strong {
    color: #e0c48d;
    font-size: 10px;
}
.westeros-theme .mtz-fame-arena-content h4 {
    margin: 5px 0;
    font: 16px Georgia,serif;
    overflow-wrap: anywhere;
}
.westeros-theme .mtz-fame-arena-card:nth-child(1) .mtz-fame-arena-content h4 {
    font-size: 22px;
}
.westeros-theme .mtz-fame-arena-content span {
    font-size: 9px;
    color: #b4b1aa;
}
.westeros-theme .mtz-fame-arena-content .mtz-fame-guild {
    color: #d8c6a0;
}
.westeros-theme .mtz-community-panel > div { display: flex; gap: 12px; padding: 18px; flex-wrap: wrap; }
.westeros-theme .mtz-user-menu-head { padding: 16px; }
.westeros-theme .mtz-user-menu-head strong { display: block; color: var(--w-gold); overflow-wrap: anywhere; }
.westeros-theme .mtz-user-menu nav { display: grid; padding: 0 16px; }
.westeros-theme .mtz-user-menu nav a { padding: 8px 0; font-size: 12px; border-bottom: 1px solid #ffffff0a; }
.westeros-theme .mtz-home-footer {
    width: min(1240px,calc(100% - 48px));
    margin: 0 auto;
    padding: 34px 0 18px;
    display: grid;
    grid-template-columns: 1.45fr .72fr 1fr;
    gap: 44px;
    background: none;
    border: 0;
    border-top: 1px solid #544b37;
    box-shadow: none;
}
.westeros-theme .mtz-footer-brand {
    display: flex;
    align-items: center;
    gap: 24px;
}
.westeros-theme .mtz-footer-brand img {
    width: 112px;
    height: 122px;
    object-fit: contain;
}
.westeros-theme .mtz-footer-brand p {
    max-width: 255px;
    margin: 0;
    font-size: 11px;
    line-height: 1.65;
    color: #9fa1a7;
}
.westeros-theme .mtz-home-footer h2 {
    margin: 0 0 15px;
    font: 14px Georgia,serif;
    color: #ddc698;
}
.westeros-theme .mtz-footer-links nav {
    display: flex;
    gap: 10px 18px;
    flex-wrap: wrap;
    align-items: center;
}
.westeros-theme .mtz-footer-links nav a {
    width: fit-content;
    font-size: 11px;
    color: #b5b5ba;
    transition: color .18s ease;
}
.westeros-theme .mtz-footer-links nav a:hover {
    color: #e7c986;
}
.westeros-theme .mtz-footer-social nav {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.westeros-theme .mtz-footer-social nav a {
    --social-color: #8fb6d6;
    --social-icon: none;
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border: 1px solid color-mix(in srgb,var(--social-color) 46%,#3b414a);
    border-radius: 50%;
    background: #15181e;
    box-shadow: inset 0 0 12px color-mix(in srgb,var(--social-color) 8%,transparent);
    transition: transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.westeros-theme .mtz-footer-social nav a:hover {
    transform: translateY(-2px);
    border-color: color-mix(in srgb,var(--social-color) 82%,#ffffff);
    background: #1a1f27;
    box-shadow: 0 0 15px color-mix(in srgb,var(--social-color) 22%,transparent), inset 0 0 12px color-mix(in srgb,var(--social-color) 10%,transparent);
}
.westeros-theme .mtz-footer-social-icon {
    display: block;
    width: 27px;
    height: 27px;
    background: var(--social-icon) center/contain no-repeat;
}
.westeros-theme .mtz-footer-social nav a.is-discord { --social-color: #899bff; --social-icon: url('./icons/social-discord.png'); }
.westeros-theme .mtz-footer-social nav a.is-instagram { --social-color: #ff6ba9; --social-icon: url('./icons/social-instagram.png'); }
.westeros-theme .mtz-footer-social nav a.is-whatsapp { --social-color: #45e58b; --social-icon: url('./icons/social-whatsapp.png'); }
.westeros-theme .mtz-footer-social nav a.is-youtube { --social-color: #ff5e67; --social-icon: url('./icons/social-youtube.png'); }
.westeros-theme .mtz-footer-social nav a.is-facebook { --social-color: #68a8ff; --social-icon: url('./icons/social-facebook.png'); }
.westeros-theme .mtz-footer-bottom {
    grid-column: 1/-1;
    display: flex;
    gap: 15px;
    justify-content: space-between;
    padding-top: 18px;
    border-top: 1px solid #ffffff0a;
    font-size: 10px;
    color: #8d8d94;
}
.westeros-theme .mtz-footer-bottom strong { font-weight: normal; }

/* Fixed social dock inspired by classic MU community sidebars. */
.westeros-theme .mtz-floating-social {
    position: fixed;
    top: 50%;
    right: 12px;
    z-index: 45;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
    width: 54px;
    padding: 7px 5px;
    transform: translateY(-50%);
    border: 1px solid #27445c;
    border-radius: 11px 0 0 11px;
    background: linear-gradient(180deg,#07111df2,#09101af2);
    box-shadow: 0 12px 30px #0009, inset 0 1px #8ed7ff14;
    backdrop-filter: blur(8px);
}
.westeros-theme .mtz-floating-social-link {
    --social-color: #8fb6d6;
    position: relative;
    right: 0;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: 42px;
    height: 42px;
    padding: 4px;
    overflow: hidden;
    border: 1px solid color-mix(in srgb,var(--social-color) 42%,#263443);
    border-radius: 9px;
    background: linear-gradient(180deg,#132033,#0d1420);
    color: var(--social-color);
    text-decoration: none;
    box-shadow: inset 0 0 16px color-mix(in srgb,var(--social-color) 8%,transparent);
    transform-origin: right center;
    transition: width .2s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.westeros-theme .mtz-floating-social-link:hover,
.westeros-theme .mtz-floating-social-link:focus-visible {
    width: 126px;
    border-color: color-mix(in srgb,var(--social-color) 82%,#ffffff);
    background: linear-gradient(180deg,#18283d,#0c1420);
    box-shadow: 0 0 18px color-mix(in srgb,var(--social-color) 28%,transparent), inset 0 0 20px color-mix(in srgb,var(--social-color) 12%,transparent);
}
.westeros-theme .mtz-floating-social-icon {
    order: 2;
    flex: 0 0 32px;
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 7px;
    background: transparent;
    box-shadow: none;
}
.westeros-theme .mtz-floating-social-icon::before {
    content: '';
    display: block;
    width: 30px;
    height: 30px;
    background-image: var(--social-icon);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}
.westeros-theme .mtz-floating-social-link small {
    order: 1;
    flex: 0 0 auto;
    width: 0;
    max-width: 0;
    margin-right: 0;
    overflow: hidden;
    opacity: 0;
    color: var(--social-color);
    font: 9px/1 Arial,sans-serif;
    letter-spacing: .02em;
    text-align: center;
    text-transform: uppercase;
    white-space: nowrap;
    transition: width .2s ease,max-width .2s ease,margin-right .2s ease,opacity .15s ease;
}
.westeros-theme .mtz-floating-social-link:hover small,
.westeros-theme .mtz-floating-social-link:focus-visible small {
    width: 78px;
    max-width: 78px;
    margin-right: 4px;
    opacity: 1;
}
.westeros-theme .mtz-floating-social-link.is-discord { --social-color: #899bff; --social-icon: url('./icons/social-discord.png'); }
.westeros-theme .mtz-floating-social-link.is-instagram { --social-color: #ff6ba9; --social-icon: url('./icons/social-instagram.png'); }
.westeros-theme .mtz-floating-social-link.is-whatsapp { --social-color: #45e58b; --social-icon: url('./icons/social-whatsapp.png'); }
.westeros-theme .mtz-floating-social-link.is-youtube { --social-color: #ff5e67; --social-icon: url('./icons/social-youtube.png'); }
.westeros-theme .mtz-floating-social-link.is-facebook { --social-color: #68a8ff; --social-icon: url('./icons/social-facebook.png'); }

/* Shared CMS pages retain their forms while inheriting the Westeros shell. */
.westeros-theme .mtz-public-page { border-radius: 3px; }
.westeros-theme .mtz-public-page-header h1 { font: 23px/1.3 Georgia,serif; color: #e8dcc4; }
.westeros-theme .mtz-register-card { border: 0; border-radius: 0; box-shadow: none; background: none; padding: 20px; }
.westeros-theme .mtz-register-card-head span { color: var(--w-gold); letter-spacing: 0; }
.westeros-theme .mtz-register-field input { background: #0e1013; border-color: #4b4b4c; border-radius: 2px; }
.westeros-theme .mtz-register-terms { background: #111315; border-color: #4b4b4c; border-radius: 2px; }
.westeros-theme .mtz-register-submit { background: linear-gradient(#675638,#3c3223); border-color: #a88a57; color: #fff0cd; border-radius: 2px; }
.w-preview-note { width: fit-content; max-width: 100%; margin: 0 auto 16px; padding: 6px 10px; border: 1px solid #8e774c; background: #151619f0; color: #e0c794; font: 11px Arial,sans-serif; text-align: center; }
@media (min-width: 1600px) {
    .westeros-theme .mtz-home-header { height: 485px; padding-top: 100px; }
    .westeros-theme .mtz-home-logo { width: 272px; height: 295px; }
}
@media (max-width: 1120px) {
    .westeros-theme .mtz-floating-social { right: 7px; width: 52px; padding: 7px 5px; }
    .westeros-theme .mtz-floating-social-link { width: 40px; height: 40px; }
    .westeros-theme .mtz-floating-social-link:hover,
    .westeros-theme .mtz-floating-social-link:focus-visible { width: 120px; }

    .w-topbar { padding: 0 22px; gap: 14px; }
    .westeros-theme .mtz-home-nav-toggle { display: grid; place-items: center; order: 3; width: 42px; height: 42px; min-height: 0; padding: 10px; margin: 0; border: 1px solid #726248; background: #252320; border-radius: 2px; }
    .westeros-theme .mtz-home-nav-toggle-icon { display: grid; gap: 5px; width: 20px; }
    .westeros-theme .mtz-home-nav-toggle-icon span { display: block; width: 20px; height: 1px; background: #e9d8b7; }
    .westeros-theme .mtz-home-nav { display: none; position: absolute; left: 0; right: 0; top: 66px; max-height: calc(100dvh - 66px); overflow: auto; background: #151619; border-bottom: 1px solid #857052; padding: 12px 22px; }
    .westeros-theme .mtz-home-nav.is-open { display: grid; }
    .westeros-theme .mtz-home-nav > a { min-height: 46px; padding: 0 12px; }
    .w-account-link { margin-left: auto; }
    .westeros-theme .mtz-home-layout { grid-template-columns: minmax(0,1fr); }
    .westeros-theme .mtz-home-right { display: none; }
    .westeros-theme .mtz-home-left { display: flex; }
    .westeros-theme .mtz-home-left > :not(.mtz-login-panel) { display: none; }
    .westeros-theme .mtz-login-panel input:not([type=hidden]) { height: 44px; font-size: 16px; }
    .westeros-theme .mtz-login-panel button { min-height: 44px; }
    .westeros-theme .mtz-login-panel form { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
    .westeros-theme .mtz-login-panel form > button { grid-column: 1/-1; }
    .westeros-theme .mtz-home-wrap { width: min(760px,calc(100% - 36px)); }
    .westeros-theme .mtz-home-header { height: 455px; padding: 82px 16px 22px; gap: 12px; }
    .westeros-theme .mtz-home-logo { width: 225px; height: 244px; }
    .w-mobile-actions { display: flex; gap: 12px; margin-top: 3px; }
    .w-mobile-actions a { min-width: 133px; padding: 10px 14px; text-align: center; color: #efdbb3; background: #3f3425ed; border: 1px solid #a38859; font: 12px Georgia,serif; }
    .w-mobile-actions a:last-child { background: #213943ed; border-color: #7197ac; color: #d8f3ff; }
    .westeros-theme .mtz-home-footer { width: min(760px,calc(100% - 36px)); grid-template-columns: 1fr 1fr; }
    .westeros-theme .mtz-footer-brand { grid-column: 1/-1; }
}
@media (max-width: 760px) {
    .westeros-theme .mtz-fame-arena-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
    .westeros-theme .mtz-fame-arena-card:nth-child(n) {
        grid-column: span 1;
        min-height: 210px;
    }
    .westeros-theme .mtz-fame-arena-card:nth-child(1) {
        grid-column: 1 / -1;
        min-height: 245px;
    }
}

@media (max-width: 540px) {
    .westeros-theme .mtz-floating-social { right: 4px; width: 46px; gap: 5px; padding: 6px 4px; border-radius: 10px 0 0 10px; }
    .westeros-theme .mtz-floating-social-link,
    .westeros-theme .mtz-floating-social-link:hover,
    .westeros-theme .mtz-floating-social-link:focus-visible { width: 36px; height: 36px; padding: 3px; }
    .westeros-theme .mtz-floating-social-icon { flex-basis: 28px; width: 28px; height: 28px; }
    .westeros-theme .mtz-floating-social-icon::before { width: 26px; height: 26px; }
    .westeros-theme .mtz-floating-social-link small,
    .westeros-theme .mtz-floating-social-link:hover small,
    .westeros-theme .mtz-floating-social-link:focus-visible small { display: none; max-width: 0; margin-right: 0; opacity: 0; }

    .w-topbar { height: 60px; padding: 0 14px; gap: 10px; }
    .w-wordmark { flex-basis: 100px; width: 100px; height: 56px; }
    .w-wordmark img { width: 100px; top: -14px; }
    .w-account-link { font-size: 10px; gap: 4px; }
    .w-account-link img { display: none; }
    .westeros-theme .mtz-home-nav { top: 60px; }
    .westeros-theme .mtz-home-bg { top: 60px; background-size: auto 480px; height: 640px; }
    .westeros-theme .mtz-home-bg::after { top: 320px; }
    .westeros-theme .mtz-home-header { height: 421px; padding-top: 78px; }
    .westeros-theme .mtz-home-logo { width: 204px; height: 221px; }
    .westeros-theme .mtz-home-wrap { width: calc(100% - 24px); }
    .westeros-theme .mtz-login-panel form { grid-template-columns: minmax(0,1fr); }
    .westeros-theme .mtz-home-slide-content { padding: 22px; }
    .westeros-theme .mtz-home-slide-content h2 { font-size: 25px; }
    .westeros-theme .mtz-home-slider-track { height: 240px; }
    .westeros-theme .mtz-panel h2 { font-size: 15px; }
    .westeros-theme .mtz-home-slide-content h2 { font-size: 25px; }
    .westeros-theme .mtz-news-list { padding: 0 12px; }
    .westeros-theme .mtz-news-list article { gap: 8px; }
    .westeros-theme .mtz-news-list article > div:last-child { grid-template-columns: minmax(0,1fr); }
    .westeros-theme .mtz-news-list small { grid-column: 1; grid-row: auto; }
    .westeros-theme .mtz-castle-box { grid-template-columns: minmax(0,1fr); padding: 18px; }
    .westeros-theme .mtz-castle-image { display: none; }
    .westeros-theme .mtz-fame-arena-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .westeros-theme .mtz-fame-arena-card:nth-child(n) { grid-column: span 1; min-height: 210px; }
    .westeros-theme .mtz-fame-arena-card:nth-child(1) { grid-column: 1 / -1; min-height: 245px; }
    .westeros-theme .mtz-fame-feature-item.is-active { grid-template-columns: 85px minmax(0,1fr); gap: 12px; }
    .westeros-theme .mtz-fame-feature-image { width: 85px; height: 130px; }
    .westeros-theme .mtz-fame-panel header { flex-wrap: wrap; }
    .westeros-theme .mtz-footer-bottom { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
    .westeros-theme *, .westeros-theme *::before, .westeros-theme *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
/* The password and sign-in views use the same fixed navigation as the site. */
.w-form-page { background: radial-gradient(ellipse at 50% 0,#1d344b 0,#0c0d10 620px); }
.w-form-page .app-shell { padding-top: 94px; min-height: calc(100vh - 100px); }
.w-form-page .app-header.w-topbar { position: fixed; inset: 0 0 auto; width: 100%; height: 66px; padding: 0 max(24px,calc((100% - 1380px)/2)); border-bottom: 1px solid #857052; }
.w-form-page .app-header .mtz-home-nav { align-self: stretch; }
.w-form-page .app-header .w-account-link { min-height: 44px; }
.w-form-page .panel { box-shadow: 0 22px 60px #0009, inset 0 1px #c3e6ff24; border-color: #607c91; background: linear-gradient(145deg,#1d2a38,#111720); }
.w-form-footer { width: min(900px,calc(100% - 32px)); margin: auto; padding: 24px 0 32px; border-top: 1px solid #536676; color: #b0b9c4; font-size: 12px; }
.w-form-footer nav { display: flex; flex-wrap: wrap; gap: 12px 22px; margin-bottom: 15px; }
.w-form-footer a:hover { color: var(--w-gold); }
@media (max-width:1120px) { .w-form-page .app-header.w-topbar { padding: 0 22px; } }
@media (max-width:540px) { .w-form-page .app-header.w-topbar { height:60px; padding:0 14px; } .w-form-page .app-shell { padding-top:82px; } }
