/* =========================================================
   SHAIYA SHAMASH
   FULL WEBSITE STYLESHEET
   Portal frame assets:
   - nav-frame.webp
   - download-frame.webp
   - main-panel-frame.webp
   - side-panel-frame.webp
   - footer-frame.webp
   ========================================================= */

:root {
    --bg: #050403;
    --black: #050302;
    --black-soft: #0a0705;
    --panel: #15100c;
    --panel-dark: #0b0806;
    --gold: #c88a2b;
    --gold-light: #efc66a;
    --gold-bright: #ffdc86;
    --gold-dark: #725022;
    --cream: #f4e7cd;
    --muted: #b7a78d;
    --green: #59e276;
    --border: rgba(194, 132, 42, 0.42);
}

/* =========================================================
   RESET
   ========================================================= */

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
}

body {
    min-height: 100vh;
    font-family: "Segoe UI", Arial, sans-serif;
    color: var(--cream);
    background: var(--bg);
    line-height: 1.55;
}

a {
    color: inherit;
    text-decoration: none;
}

button,
input {
    font: inherit;
}

/* =========================================================
   PORTAL BACKGROUND — KEEPING EXISTING LOOK
   ========================================================= */

.portal-body {
    min-height: 100vh;
    overflow-x: hidden;
    background: #030201;
}

.portal-background {
    position: fixed;
    inset: 0;
    z-index: -3;
    background:
        url("../images/portal-bg.jpg")
        center top / cover no-repeat fixed;
}

.portal-vignette {
    position: fixed;
    inset: 0;
    z-index: -2;
    pointer-events: none;
    background:
        radial-gradient(
            ellipse at center 40%,
            rgba(0,0,0,0) 20%,
            rgba(0,0,0,.05) 42%,
            rgba(0,0,0,.42) 100%
        ),
        linear-gradient(
            to bottom,
            rgba(0,0,0,.03),
            rgba(0,0,0,.18) 55%,
            rgba(0,0,0,.40)
        );
}

/* =========================================================
   PAGE SHELL
   ========================================================= */

.portal-shell {
    width: min(1060px, calc(100% - 30px));
    min-height: 100vh;
    margin: 0 auto;
    padding: 18px 0 28px;
    position: relative;
}

/* =========================================================
   REGISTER / LOGIN
   ========================================================= */

.portal-account-links {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.portal-small-btn {
    min-width: 100px;
    padding: 6px 13px;
    text-align: center;
    color: #eacb88;
    font-family: Georgia, serif;
    font-size: 11px;
    background:
        linear-gradient(
            180deg,
            rgba(28,18,10,.96),
            rgba(7,5,3,.98)
        );
    border: 1px solid rgba(189,126,36,.52);
    box-shadow:
        inset 0 0 8px rgba(255,182,54,.03),
        0 3px 10px rgba(0,0,0,.50);
    transition: .2s ease;
}

.portal-small-btn:hover {
    color: #ffe4a3;
    border-color: #c98a31;
    box-shadow: 0 0 10px rgba(222,154,50,.20);
}

/* =========================================================
   MAIN SHAMASH LOGO — KEEPING CURRENT POSITION/SIZE/GLOW
   ========================================================= */

.portal-brand {
    min-height: 310px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.portal-logo-wrap {
    position: relative;
    display: inline-block;
    transition: transform .35s ease;
}

.portal-logo {
    display: block;
    width: min(555px, 78vw);
    position: relative;
    z-index: 2;
    filter:
        drop-shadow(0 10px 20px rgba(0,0,0,.86))
        drop-shadow(0 0 4px rgba(220,148,35,.10));
    transition:
        transform .35s ease,
        filter .35s ease;
}

.portal-logo-wrap::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 48%;
    width: 55%;
    height: 55%;
    transform: translate(-50%, -50%) scale(.75);
    border-radius: 50%;
    background:
        radial-gradient(
            circle,
            rgba(255,215,118,.35),
            rgba(255,146,21,.12) 40%,
            transparent 72%
        );
    filter: blur(18px);
    opacity: 0;
    transition: .35s ease;
}

.portal-logo-wrap:hover {
    transform: scale(1.018);
}

.portal-logo-wrap:hover::before {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1.05);
}

.portal-logo-wrap:hover .portal-logo {
    filter:
        brightness(1.15)
        drop-shadow(0 0 7px rgba(255,230,149,.78))
        drop-shadow(0 0 17px rgba(255,177,41,.58))
        drop-shadow(0 0 32px rgba(255,108,12,.25))
        drop-shadow(0 10px 22px rgba(0,0,0,.90));
}

/* =========================================================
   PORTAL AREA
   ========================================================= */

.portal-area {
    position: relative;
}

/* =========================================================
   IMAGE-SKINNED NAVIGATION
   ========================================================= */

.portal-nav-shell {
    min-height: 70px;
    position: relative;
    display: flex;
    align-items: stretch;
    padding-right: 220px;

    /*
       The visual frame is now the generated image.
       The text remains real HTML and sits above it.
    */
    background:
        none
        left center / calc(100% - 215px) 100%
        no-repeat;

    border: 0;
    box-shadow: none;
}

/* Disable old CSS ornament because the image already has one. */
.portal-nav-shell::before,
.portal-nav-shell::after {
    display: none;
}

.portal-nav {
    width: 100%;
    min-height: 70px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    position: relative;
    z-index: 4;
    padding: 8px 18px 10px 22px;
}

.portal-nav-item,
.portal-nav-link {
    min-height: 52px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 0;
}

.portal-nav-item button,
.portal-nav-link {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 0;
    background: transparent;
    color: #f0cd79;
    font-family: Georgia, serif;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    text-shadow:
        0 1px 2px rgba(0,0,0,.95),
        0 0 5px rgba(190,113,25,.22);
    transition:
        color .2s ease,
        text-shadow .2s ease,
        transform .2s ease;
}

.portal-nav-item button:hover,
.portal-nav-link:hover {
    color: #ffe6a1;
    text-shadow:
        0 0 6px rgba(255,193,78,.35),
        0 1px 2px #000;
    transform: translateY(-1px);
}

.dropdown-arrow {
    margin-left: 8px;
    font-size: 7px;
    color: #d2a95e;
}

/* =========================================================
   IMAGE-SKINNED DOWNLOAD BUTTON
   ========================================================= */

.portal-download-btn {
    width: 220px;
    position: absolute;
    right: -2px;
    top: -6px;
    bottom: -5px;
    z-index: 8;

    display: flex;
    align-items: center;
    justify-content: center;

    /*
       The generated image already contains the DOWNLOAD label.
       Hide the HTML letters visually but keep the link accessible.
    */
    color: transparent;
    font-size: 0;

    background:
        none
        center / 100% 100%
        no-repeat;

    border: 0;
    box-shadow: none;
    transition:
        filter .22s ease,
        transform .22s ease;
}

.portal-download-btn::before,
.portal-download-btn::after {
    display: none;
}

.portal-download-btn:hover {
    filter:
        brightness(1.15)
        saturate(1.08)
        drop-shadow(0 0 10px rgba(221,106,24,.35));
    transform: translateY(-1px);
}

/* =========================================================
   DROPDOWNS
   ========================================================= */

.dropdown {
    position: relative;
}

.dropdown-menu {
    position: absolute;
    top: calc(100% - 4px);
    left: 8px;
    min-width: 230px;
    z-index: 40;
    display: none;
    padding: 7px 0;
    background:
        linear-gradient(
            180deg,
            rgba(21,13,8,.995),
            rgba(7,4,3,.995)
        );
    border: 1px solid rgba(168,105,29,.60);
    box-shadow:
        0 0 0 1px #070402,
        0 14px 28px rgba(0,0,0,.75);
}

.dropdown:hover .dropdown-menu,
.dropdown.open .dropdown-menu {
    display: block;
}

.dropdown-menu a {
    display: block;
    padding: 10px 15px;
    color: #cbb58b;
    font-size: 11px;
    border-bottom: 1px solid rgba(255,255,255,.035);
    transition: .18s ease;
}

.dropdown-menu a:last-child {
    border-bottom: 0;
}

.dropdown-menu a:hover {
    color: #ffd575;
    background:
        linear-gradient(
            90deg,
            rgba(170,103,25,.17),
            transparent
        );
}

/* =========================================================
   CONTENT WRAPPER
   ========================================================= */

.portal-content-frame {
    min-height: 550px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 285px;
    gap: 14px;
    padding: 12px 8px 10px;
    background: transparent;
    border: 0;
    box-shadow: none;
}

/* =========================================================
   IMAGE-SKINNED MAIN NEWS PANEL
   ========================================================= */

.portal-main-content {
    min-width: 0;
    min-height: 540px;
    position: relative;
    padding: 44px 47px 36px;

    background:
        none
        center / 100% 100%
        no-repeat;

    border: 0;
    box-shadow: none;
}

/* Image supplies border/detail already. */
.portal-main-content::before,
.portal-main-content::after {
    display: none;
}

/* =========================================================
   TABS
   ========================================================= */

.portal-tabs {
    display: flex;
    gap: 22px;
    position: relative;
    z-index: 2;
    padding: 0 6px;
    border-bottom: 1px solid rgba(189,128,39,.22);
}

.portal-tab {
    padding: 3px 0 12px;
    border: 0;
    background: transparent;
    color: #776650;
    font-family: Georgia, serif;
    font-size: 15px;
    cursor: pointer;
    transition: .2s ease;
}

.portal-tab.active {
    color: #efbf58;
    text-shadow: 0 0 6px rgba(232,163,54,.20);
}

/* =========================================================
   TAB CONTENT
   ========================================================= */

.portal-tab-content {
    display: none;
    position: relative;
    z-index: 2;
}

.portal-tab-content.active {
    display: block;
}

/* =========================================================
   NEWS ENTRIES
   ========================================================= */

.news-entry {
    padding: 20px 4px;
    border-bottom: 1px solid rgba(180,124,42,.18);
}

.news-entry-featured {
    padding-top: 21px;
}

.news-title-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 25px;
}

.news-title-row h2,
.news-title-row h3 {
    color: #edc768;
    font-family: Georgia, serif;
    font-weight: 600;
    text-shadow: 0 1px 1px #000;
}

.news-title-row h2 {
    font-size: 18px;
}

.news-title-row h3 {
    font-size: 15px;
}

.news-title-row time {
    flex: 0 0 auto;
    color: #bd8e3e;
    font-size: 9px;
}

.news-entry p {
    max-width: 670px;
    margin-top: 9px;
    color: #d1c5b2;
    font-size: 12px;
    line-height: 1.7;
}

.news-read-more {
    display: inline-block;
    margin-top: 9px;
    color: #e4ae48;
    font-size: 10px;
}

.portal-news-footer {
    padding-top: 18px;
    text-align: center;
}

.portal-news-footer a {
    display: inline-flex;
    padding: 7px 22px;
    color: #e0bd72;
    border: 1px solid rgba(178,117,34,.55);
    background: rgba(10,6,3,.52);
    font-size: 9px;
    transition: .2s ease;
}

.portal-news-footer a:hover {
    color: #ffe09a;
    border-color: #c88930;
    box-shadow: 0 0 10px rgba(201,137,48,.10);
}

/* =========================================================
   SIDEBAR
   ========================================================= */

.portal-sidebar {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* =========================================================
   IMAGE-SKINNED SIDE PANELS
   ========================================================= */

.portal-side-box {
    position: relative;
    min-height: 255px;
    padding: 42px 36px 34px;

    background:
        none
        center / 100% 100%
        no-repeat;

    border: 0;
    box-shadow: none;
}

.portal-side-box::before,
.portal-side-box::after {
    display: none;
}

.portal-side-title {
    position: relative;
    z-index: 2;
    padding-bottom: 10px;
    text-align: center;
    color: #e8c365;
    font-family: Georgia, serif;
    font-size: 13px;
    border-bottom: 1px solid rgba(188,126,39,.24);
}

/* =========================================================
   STATUS BOX
   ========================================================= */

.status-box {
    min-height: 280px;
}

.status-online-row {
    margin-top: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    position: relative;
    z-index: 2;
    color: #70df79;
    font-family: Georgia, serif;
    font-size: 17px;
}

.portal-online-dot {
    width: 8px;
    height: 8px;
    display: inline-block;
    border-radius: 50%;
    background: #55db70;
    box-shadow:
        0 0 7px rgba(85,219,112,.85),
        0 0 13px rgba(85,219,112,.35);
}

.status-stat {
    padding: 15px 0;
    position: relative;
    z-index: 2;
    text-align: center;
}

.status-stat span {
    display: block;
    color: #92826b;
    font-size: 8px;
    letter-spacing: 1.4px;
}

.status-stat strong {
    display: block;
    margin-top: 5px;
    color: #eba936;
    font-family: Georgia, serif;
    font-size: 25px;
}

.status-player-count {
    font-size: 27px !important;
}

.status-divider {
    height: 1px;
    position: relative;
    z-index: 2;
    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(167,110,35,.26),
            transparent
        );
}

/* =========================================================
   COMMUNITY BOX
   ========================================================= */

.community-box {
    min-height: 225px;
    padding-top: 39px;
}

.community-link {
    padding: 13px 5px;
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 13px;
    color: #d1bea0;
    font-size: 11px;
    border-bottom: 1px solid rgba(255,255,255,.035);
    transition: .2s ease;
}

.community-link:last-child {
    border-bottom: 0;
}

.community-link:hover {
    color: #f2c460;
}

.community-icon {
    width: 20px;
    text-align: center;
    color: #e0a63e;
}

/* =========================================================
   IMAGE-SKINNED FOOTER
   ========================================================= */

.portal-footer-bar {
    min-height: 72px;
    margin: 7px 0 0;
    padding: 15px 48px 13px 170px;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 16px;
    position: relative;

    background:
        none
        center / 100% 100%
        no-repeat;

    border: 0;
    box-shadow: none;
}

/*
   The generated footer image already includes the SHAMASH mark.
   Hide the duplicated HTML brand image while preserving markup.
*/
.portal-footer-brand {
    display: none;
}

.portal-footer-links {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}

.portal-footer-links a {
    padding: 0 10px;
    color: #d0b57c;
    font-size: 9px;
    border-right: 1px solid rgba(181,124,42,.28);
    text-shadow: 0 1px 1px #000;
}

.portal-footer-links a:first-child {
    padding-left: 0;
}

.portal-footer-links a:last-child {
    border-right: 0;
}

.portal-footer-links a:hover {
    color: #edc361;
}

.portal-footer-social {
    display: flex;
    gap: 7px;
}

.portal-footer-social a {
    width: 34px;
    height: 30px;
    display: grid;
    place-items: center;
    color: #e3b24e;
    background: rgba(11,7,4,.25);
    border: 0;
    transition:
        color .2s ease,
        filter .2s ease;
}

.portal-footer-social a:hover {
    color: #ffdc7c;
    filter: drop-shadow(0 0 5px rgba(226,157,48,.30));
}

/* =========================================================
   COPYRIGHT
   ========================================================= */

.portal-copyright {
    margin-top: 7px;
    text-align: center;
    color: #786951;
    font-size: 9px;
    text-shadow: 0 1px 1px black;
}

/* =========================================================
   SERVER INFORMATION PAGE — PRESERVED
   ========================================================= */

.main-header {
    min-height: 82px;
    background:
        linear-gradient(
            180deg,
            rgba(7,5,3,.99),
            rgba(4,3,2,.99)
        );
    border-bottom: 1px solid var(--border);
}

.header-inner {
    width: min(1300px, calc(100% - 40px));
    min-height: 82px;
    margin: auto;
    display: flex;
    align-items: center;
    gap: 30px;
}

.logo-wrap {
    display: flex;
    align-items: center;
    gap: 12px;
}

.sun-symbol {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    border: 1px solid var(--gold-dark);
    color: var(--gold-light);
    font-size: 20px;
}

.logo-small {
    color: #b9a57f;
    font-size: 10px;
    letter-spacing: 6px;
}

.logo-main {
    color: var(--gold-light);
    font-family: Georgia, serif;
    font-size: 22px;
    letter-spacing: 4px;
}

.logo-tag {
    color: #6f6250;
    font-size: 7px;
    letter-spacing: 3px;
}

.main-nav {
    margin-left: auto;
    display: flex;
    gap: 24px;
}

.main-nav a {
    color: #b9ab95;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.main-nav a:hover,
.main-nav a.active {
    color: var(--gold-light);
}

.nav-actions {
    display: flex;
}

.nav-actions a {
    padding: 10px 15px;
    font-size: 10px;
    font-weight: 800;
}

.nav-register {
    border: 1px solid var(--gold-dark);
    color: var(--gold-light);
}

.nav-download {
    color: #180e05;
    background:
        linear-gradient(
            #edbd5d,
            #ad6e1a
        );
}

.mobile-menu {
    display: none;
}

/* =========================================================
   SERVER INFO HERO
   ========================================================= */

.server-info-hero {
    min-height: 520px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    background:
        url("../images/portal-bg.jpg")
        center 35% / cover no-repeat;
    border-bottom: 1px solid var(--border);
}

.server-info-hero-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            to bottom,
            rgba(0,0,0,.30),
            rgba(3,3,2,.83)
        );
}

.server-info-hero-content {
    width: min(1100px, calc(100% - 30px));
    position: relative;
    z-index: 2;
    text-align: center;
}

.info-pretitle {
    color: var(--gold-light);
    font-size: 10px;
    letter-spacing: 5px;
}

.server-info-hero h1 {
    margin-top: 10px;
    font-family: Georgia, serif;
    font-size: clamp(46px, 7vw, 88px);
}

.server-info-hero-content > p {
    margin-top: 15px;
    color: var(--muted);
}

.info-hero-stats {
    margin-top: 36px;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    background: rgba(8,5,3,.85);
    border: 1px solid var(--border);
    backdrop-filter: blur(5px);
}

.info-hero-stats > div {
    padding: 18px;
    border-right: 1px solid var(--border);
}

.info-hero-stats > div:last-child {
    border-right: 0;
}

.info-hero-stats span {
    display: block;
    color: var(--muted);
    font-size: 9px;
    letter-spacing: 2px;
}

.info-hero-stats strong {
    display: block;
    margin-top: 5px;
    color: var(--gold-light);
    font-family: Georgia, serif;
    font-size: 22px;
}

/* =========================================================
   SERVER INFO SECTIONS
   ========================================================= */

.info-page-section {
    padding: 90px 0;
    background: #080604;
}

.info-page-dark {
    background: #040302;
}

.info-page-container {
    width: min(1300px, calc(100% - 40px));
    margin: auto;
}

.section-title {
    margin-bottom: 45px;
    text-align: center;
}

.section-title span {
    color: var(--gold);
    font-size: 10px;
    letter-spacing: 4px;
    text-transform: uppercase;
}

.section-title h2 {
    margin-top: 7px;
    font-family: Georgia, serif;
    font-size: clamp(38px, 5vw, 62px);
}

.title-divider {
    width: 150px;
    height: 1px;
    margin: 18px auto 0;
    background:
        linear-gradient(
            90deg,
            transparent,
            var(--gold),
            transparent
        );
}

/* =========================================================
   SERVER INFO CARDS
   ========================================================= */

.server-spec-grid,
.rate-grid,
.info-pvp-grid,
.feature-info-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
}

.server-spec-card,
.rate-card,
.info-pvp-card,
.feature-info-grid > div {
    background:
        linear-gradient(
            145deg,
            rgba(22,15,9,.98),
            rgba(7,5,3,.99)
        );
    border: 1px solid rgba(198,137,45,.22);
}

.server-spec-card {
    min-height: 165px;
    padding: 26px;
    display: flex;
    flex-direction: column;
}

.server-spec-card > span,
.rate-card > span {
    color: var(--muted);
    font-size: 9px;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.server-spec-card strong {
    margin-top: 7px;
    color: var(--gold-light);
    font-family: Georgia, serif;
    font-size: 27px;
}

.server-spec-card small {
    margin-top: auto;
    color: #857963;
}

.rate-card {
    padding: 29px;
    text-align: center;
}

.rate-card strong {
    display: block;
    margin-top: 10px;
    color: var(--gold-light);
    font-family: Georgia, serif;
    font-size: 38px;
}

.rate-card small {
    display: block;
    margin-top: 7px;
    color: #766a57;
}

.rate-card.confirmed {
    border-color: rgba(198,137,45,.40);
}

.rate-card.confirmed small {
    color: var(--green);
}

.info-pvp-card {
    min-height: 365px;
    padding: 32px;
    position: relative;
    overflow: hidden;
}

.info-pvp-number {
    position: absolute;
    top: 5px;
    right: 18px;
    color: rgba(213,168,74,.07);
    font-family: Georgia, serif;
    font-size: 110px;
}

.info-pvp-card small {
    color: var(--gold);
    font-size: 9px;
    letter-spacing: 3px;
}

.info-pvp-card h3 {
    margin-top: 7px;
    font-family: Georgia, serif;
    font-size: 31px;
}

.info-pvp-card p {
    margin-top: 16px;
    color: var(--muted);
}

.info-pvp-card ul {
    margin-top: 23px;
    list-style: none;
}

.info-pvp-card li {
    padding: 8px 0;
    color: #a89981;
    border-bottom: 1px solid rgba(255,255,255,.05);
}

.info-pvp-card li::before {
    content: "◆";
    margin-right: 8px;
    color: var(--gold);
    font-size: 7px;
}

/* Progression */

.progression-line {
    display: flex;
    align-items: center;
    gap: 12px;
}

.progression-line > div {
    flex: 1;
    min-height: 150px;
    padding: 23px;
    text-align: center;
    background:
        linear-gradient(
            #140e09,
            #080503
        );
    border: 1px solid rgba(198,137,45,.18);
}

.progression-line > div span {
    color: var(--gold);
    font-family: Georgia, serif;
}

.progression-line strong {
    display: block;
    margin-top: 8px;
    font-family: Georgia, serif;
    font-size: 21px;
}

.progression-line small {
    display: block;
    margin-top: 8px;
    color: #857864;
}

.progression-line > i {
    color: var(--gold);
    font-style: normal;
}

/* Endgame */

.endgame-path {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
}

.endgame-path > div {
    padding: 21px;
    background:
        linear-gradient(
            135deg,
            #140e09,
            #070503
        );
    border-left: 2px solid var(--gold);
    border-top: 1px solid rgba(255,255,255,.04);
    border-right: 1px solid rgba(255,255,255,.04);
    border-bottom: 1px solid rgba(255,255,255,.04);
}

.endgame-path strong {
    display: block;
    font-family: Georgia, serif;
    color: #f3e6cf;
}

.endgame-path span {
    display: block;
    margin-top: 6px;
    color: #8b7e6a;
    font-size: 11px;
}

/* Details */

.detail-table {
    max-width: 900px;
    margin: auto;
    border: 1px solid rgba(198,137,45,.18);
}

.detail-table > div {
    padding: 16px 20px;
    display: flex;
    justify-content: space-between;
    gap: 20px;
    background: #110c08;
    border-bottom: 1px solid rgba(255,255,255,.05);
}

.detail-table > div:nth-child(even) {
    background: #090604;
}

.detail-table > div:last-child {
    border-bottom: 0;
}

.detail-table span {
    color: #ad9e86;
}

.detail-table strong {
    color: var(--gold-light);
}

/* Additional systems */

.feature-info-grid > div {
    min-height: 175px;
    padding: 25px;
}

.feature-info-grid h3 {
    color: var(--gold-light);
    font-family: Georgia, serif;
    font-size: 21px;
}

.feature-info-grid p {
    margin-top: 10px;
    color: #948671;
}

/* CTA */

.server-info-cta {
    min-height: 430px;
    display: grid;
    place-items: center;
    padding: 70px 20px;
    text-align: center;
    background:
        linear-gradient(
            rgba(0,0,0,.55),
            rgba(0,0,0,.84)
        ),
        url("../images/portal-bg.jpg")
        center 65% / cover no-repeat;
}

.server-info-cta span {
    color: var(--gold);
    font-size: 10px;
    letter-spacing: 4px;
}

.server-info-cta h2 {
    margin-top: 8px;
    font-family: Georgia, serif;
    font-size: clamp(40px, 6vw, 68px);
}

.server-info-cta p {
    margin-top: 9px;
    color: var(--muted);
}

.hero-buttons {
    margin-top: 25px;
    display: flex;
    justify-content: center;
    gap: 12px;
}

.gold-button,
.dark-button {
    min-width: 175px;
    padding: 13px 20px;
    display: inline-flex;
    justify-content: center;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1px;
}

.gold-button {
    color: #180e05;
    background:
        linear-gradient(
            #efc76e,
            #ad6e1a
        );
    border: 1px solid var(--gold);
}

.dark-button {
    color: #ead8b8;
    background: #090604;
    border: 1px solid var(--gold-dark);
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 900px) {

    .portal-shell {
        width: min(760px, calc(100% - 20px));
    }

    .portal-brand {
        min-height: 280px;
    }

    .portal-nav-shell {
        padding-right: 0;
        display: block;
        background:
            none
            center / 100% 68px
            no-repeat;
    }

    .portal-nav {
        grid-template-columns: repeat(2, 1fr);
        min-height: 120px;
        padding: 10px 28px;
    }

    .portal-download-btn {
        width: 100%;
        height: 68px;
        position: relative;
        right: auto;
        top: auto;
        bottom: auto;
        margin-top: 2px;
        background-size: 100% 100%;
    }

    .portal-content-frame {
        grid-template-columns: 1fr;
    }

    .portal-sidebar {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }

    .portal-side-box {
        min-height: 250px;
    }

    .portal-footer-bar {
        padding-left: 80px;
    }

    .server-spec-grid,
    .rate-grid,
    .info-pvp-grid,
    .feature-info-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .endgame-path {
        grid-template-columns: repeat(2, 1fr);
    }

    .main-nav,
    .nav-actions {
        display: none;
    }

    .mobile-menu {
        display: block;
        margin-left: auto;
        border: 0;
        background: transparent;
        color: var(--gold-light);
        font-size: 25px;
    }
}

@media (max-width: 600px) {

    .portal-shell {
        width: calc(100% - 12px);
    }

    .portal-account-links {
        justify-content: center;
    }

    .portal-brand {
        min-height: 230px;
    }

    .portal-logo {
        width: 92vw;
    }

    .portal-nav-shell {
        background: none;
    }

    .portal-nav {
        grid-template-columns: 1fr;
        padding: 8px;
        background:
            linear-gradient(
                180deg,
                rgba(24,15,9,.98),
                rgba(8,5,3,.99)
            );
        border: 1px solid rgba(173,111,37,.48);
    }

    .portal-nav-item,
    .portal-nav-link {
        min-height: 45px;
    }

    .portal-content-frame {
        padding: 6px 0;
        min-height: 0;
    }

    .portal-main-content {
        min-height: 0;
        padding: 35px 28px 30px;
    }

    .portal-sidebar {
        grid-template-columns: 1fr;
    }

    .news-title-row {
        flex-direction: column;
        gap: 4px;
    }

    .portal-footer-bar {
        min-height: 110px;
        padding: 20px 30px;
        grid-template-columns: 1fr;
        text-align: center;
        background-size: cover;
    }

    .portal-footer-links,
    .portal-footer-social {
        justify-content: center;
    }

    .portal-footer-links {
        gap: 9px;
    }

    .portal-footer-links a {
        padding: 0;
        border: 0;
    }

    .info-hero-stats {
        grid-template-columns: repeat(2, 1fr);
    }

    .server-spec-grid,
    .rate-grid,
    .info-pvp-grid,
    .feature-info-grid,
    .endgame-path {
        grid-template-columns: 1fr;
    }

    .progression-line {
        flex-direction: column;
    }

    .progression-line > div {
        width: 100%;
    }

    .progression-line > i {
        display: none;
    }

    .detail-table > div {
        flex-direction: column;
        gap: 5px;
    }

    .hero-buttons {
        align-items: center;
        flex-direction: column;
    }
}
/* =========================================================
   SHAMASH CLEAN PORTAL OVERRIDE
   ========================================================= */

.portal-nav-shell {
    min-height: 66px !important;
    position: relative !important;
    display: flex !important;
    align-items: stretch !important;
    padding-right: 214px !important;

    background:
        linear-gradient(
            180deg,
            #170b08 0%,
            #100805 48%,
            #070403 100%
        ) !important;

    border: 1px solid #63301e !important;

    box-shadow:
        0 0 0 1px #020101,
        inset 0 1px 0 rgba(255,218,141,.04),
        inset 0 -10px 18px rgba(0,0,0,.42),
        0 7px 18px rgba(0,0,0,.28) !important;
}

.portal-nav {
    width: 100% !important;
    min-height: 64px !important;
    display: grid !important;
    grid-template-columns: 1.45fr 1fr 1fr !important;
    position: relative !important;
    z-index: 4 !important;
    padding: 0 !important;
}

.portal-nav-item,
.portal-nav-link {
    min-height: 64px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap !important;
}

.portal-download-btn {
    width: 214px !important;
    height: 66px !important;

    position: absolute !important;
    right: -1px !important;
    top: -1px !important;
    bottom: auto !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    color: #f1c66b !important;
    font-family: Georgia, serif !important;
    font-size: 22px !important;
    font-weight: 700 !important;

    background:
        radial-gradient(
            ellipse at center,
            rgba(175,48,19,.34),
            transparent 72%
        ),
        linear-gradient(
            180deg,
            #64160f 0%,
            #4a100b 48%,
            #210605 100%
        ) !important;

    border: 1px solid #7f3a20 !important;
}

.portal-content-frame {
    background:
        linear-gradient(
            180deg,
            rgba(20,11,8,.985),
            rgba(8,5,3,.992)
        ) !important;

    border-left: 1px solid #5f2e1d !important;
    border-right: 1px solid #5f2e1d !important;
    border-bottom: 1px solid #5f2e1d !important;

    padding: 17px !important;
    gap: 18px !important;
}

.portal-main-content {
    padding: 24px 25px 20px !important;

    background:
        linear-gradient(
            180deg,
            rgba(20,11,8,.97),
            rgba(9,5,3,.99)
        ) !important;

    border: 1px solid rgba(137,61,30,.42) !important;
}

.portal-side-box {
    padding: 20px 20px 18px !important;

    background:
        linear-gradient(
            180deg,
            rgba(19,10,7,.98),
            rgba(8,4,3,.99)
        ) !important;

    border: 1px solid #5a2a1b !important;
}

.portal-footer-bar {
    min-height: 54px !important;
    margin: 18px 7px 0 !important;
    padding: 8px 14px !important;

    grid-template-columns:
        90px
        1fr
        auto !important;

    background:
        linear-gradient(
            180deg,
            #160b08 0%,
            #0b0604 55%,
            #050302 100%
        ) !important;

    border: 1px solid #5e2c1c !important;
}

.portal-footer-brand {
    display: flex !important;
    align-items: center !important;
}

.portal-footer-brand img {
    width: 72px !important;
    display: block !important;
    opacity: .78 !important;
}

@media (max-width: 900px) {

    .portal-nav-shell {
        padding-right: 0 !important;
    }

    .portal-nav {
        grid-template-columns:
            1.4fr
            1fr !important;
    }

    .portal-download-btn {
        width: 100% !important;
        height: 58px !important;
        position: relative !important;
        right: auto !important;
        top: auto !important;
    }
}

@media (max-width: 600px) {

    .portal-nav {
        grid-template-columns: 1fr !important;
    }
}

/* =========================================================
   SHAIYA CUSTOM CURSOR
   ========================================================= */

html,
body,
body *,
a,
button,
input,
select,
textarea {
    cursor: url("../images/shaiya.cur"), auto !important;
}

/* =========================================================
   SHAMASH INTERACTION + SCROLLBAR
   ========================================================= */

/* Disable text selection */
html,
body,
body * {
    -webkit-user-select: none !important;
    -moz-user-select: none !important;
    -ms-user-select: none !important;
    user-select: none !important;
}

/* Keep Shaiya cursor everywhere — no text/I-beam cursor */
html,
body,
body *,
p,
span,
div,
h1,
h2,
h3,
h4,
h5,
h6,
a,
button,
input,
textarea,
select {
    cursor: url("../images/shaiya.cur"), auto !important;
}

/* Firefox scrollbar */
html {
    scrollbar-width: thin;
    scrollbar-color: #9b5b20 #090604;
}

/* Chrome / Edge / Safari */
::-webkit-scrollbar {
    width: 12px;
    height: 12px;
}

::-webkit-scrollbar-track {
    background: #090604;
    border-left: 1px solid #2b160d;
}

::-webkit-scrollbar-thumb {
    background:
        linear-gradient(
            90deg,
            #4b250f 0%,
            #b36a22 45%,
            #d59a3a 50%,
            #8a4919 60%,
            #3a1b0b 100%
        );

    border: 1px solid #d19a43;
    border-radius: 2px;
}

::-webkit-scrollbar-thumb:hover {
    background:
        linear-gradient(
            90deg,
            #683315 0%,
            #d38a2c 42%,
            #f0bd59 50%,
            #ad6422 62%,
            #4d220d 100%
        );

    border-color: #efc36b;
}

::-webkit-scrollbar-corner {
    background: #090604;
}

/* =========================================================
   SHAMASH LIVE PVP RANKING
   ========================================================= */
.ranking-view { padding-top: 20px; }
.ranking-header { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; padding:4px 4px 15px; border-bottom:1px solid rgba(189,128,39,.22); }
.ranking-kicker { display:block; color:#8d7554; font-size:8px; letter-spacing:2.4px; }
.ranking-header h2 { margin-top:3px; color:#efbf58; font-family:Georgia,serif; font-size:23px; font-weight:600; text-shadow:0 1px 2px #000; }
.ranking-back-btn { padding:7px 12px; border:1px solid rgba(178,117,34,.5); background:rgba(10,6,3,.6); color:#d8b66c; font-size:8px; letter-spacing:.8px; }
.ranking-back-btn:hover { color:#ffe09a; border-color:#c88930; }
.ranking-intro { margin:14px 4px 4px; color:#a99a83; font-size:11px; }
.ranking-state { min-height:27px; padding:9px 4px 7px; color:#b68b45; font-size:9px; letter-spacing:.5px; }
.ranking-state.ranking-error { color:#d47c67; }
.ranking-table-wrap { width:100%; overflow-x:auto; border:1px solid rgba(137,61,30,.35); background:rgba(5,3,2,.55); }
.ranking-table { width:100%; min-width:760px; border-collapse:collapse; font-size:10px; }
.ranking-table th { padding:11px 9px; text-align:left; color:#cda85e; font-family:Georgia,serif; font-size:9px; font-weight:600; letter-spacing:.4px; background:linear-gradient(180deg,rgba(35,19,11,.96),rgba(16,9,6,.98)); border-bottom:1px solid rgba(176,104,33,.45); }
.ranking-table td { padding:11px 9px; color:#c9baa3; border-bottom:1px solid rgba(255,255,255,.045); }
.ranking-table tbody tr:nth-child(even) { background:rgba(255,255,255,.012); }
.ranking-table tbody tr:hover { background:linear-gradient(90deg,rgba(151,82,23,.12),rgba(151,82,23,.025)); }
.ranking-table tbody tr:last-child td { border-bottom:0; }
.ranking-position { color:#e7b957 !important; font-family:Georgia,serif; font-weight:700; }
.ranking-character { color:#ead29b !important; font-weight:600; }
.ranking-kills { color:#e2a746 !important; font-weight:700; }
.ranking-status { display:inline-flex; align-items:center; gap:5px; white-space:nowrap; }
.ranking-status::before { content:''; width:5px; height:5px; border-radius:50%; background:#685f54; }
.ranking-status.is-online { color:#70d97b; }
.ranking-status.is-online::before { background:#55db70; box-shadow:0 0 6px rgba(85,219,112,.7); }
.ranking-status.is-offline { color:#81766a; }
@media (max-width:600px) { .ranking-header { align-items:flex-start; flex-direction:column; gap:10px; } .ranking-back-btn { align-self:flex-start; } }
/* =========================================================
   SHAMASH PVP RANKING
   ========================================================= */

.pvp-ranking-view {
    position: relative;
    z-index: 3;
}

.pvp-ranking-header {
    min-height: 92px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 25px;
    padding-bottom: 20px;
    border-bottom:
        1px solid
        rgba(188,126,39,.22);
}

.pvp-ranking-kicker {
    display: block;
    margin-bottom: 4px;
    color: #a85a2e;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 3px;
}

.pvp-ranking-header h2 {
    color: #e9bd62;
    font-family: Georgia, serif;
    font-size: 28px;
    font-weight: 500;
    text-shadow:
        0 1px 2px #000,
        0 0 10px rgba(199,103,32,.12);
}

.pvp-ranking-header p {
    margin-top: 5px;
    color: #8e806c;
    font-size: 10px;
}

.pvp-back-button {
    min-width: 115px;
    padding: 8px 13px;
    color: #cfa85d;
    background:
        linear-gradient(
            180deg,
            #170c08,
            #080403
        );
    border:
        1px solid
        #5d2b1b;
    font-family: Georgia, serif;
    font-size: 9px;
}

.pvp-back-button:hover {
    color: #f5ce78;
    border-color: #874524;
}

.pvp-ranking-filters {
    margin-top: 17px;
    display: flex;
    gap: 7px;
    flex-wrap: wrap;
}

.pvp-ranking-filters button {
    min-width: 74px;
    padding: 7px 11px;
    color: #806f59;
    background: #090503;
    border:
        1px solid
        rgba(115,55,30,.55);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .7px;
}

.pvp-ranking-filters button:hover,
.pvp-ranking-filters button.active {
    color: #efc66a;
    background:
        linear-gradient(
            180deg,
            #281008,
            #0c0503
        );
    border-color: #884523;
}


/* TOP THREE */

.pvp-podium {
    margin-top: 20px;
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0,1fr));
    gap: 9px;
}

.pvp-podium-card {
    min-height: 170px;
    position: relative;
    overflow: hidden;
    padding: 17px 14px 14px;
    text-align: center;
    background:
        radial-gradient(
            circle at center top,
            rgba(111,39,18,.14),
            transparent 55%
        ),
        linear-gradient(
            180deg,
            #130906,
            #070403
        );
    border:
        1px solid
        rgba(101,48,27,.70);
}

.pvp-podium-card.rank-1 {
    border-color:
        rgba(186,119,38,.70);
    box-shadow:
        inset 0 0 18px
        rgba(199,117,31,.04);
}

.pvp-podium-card::after {
    content: "";
    position: absolute;
    left: 12%;
    right: 12%;
    top: 0;
    height: 1px;
    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(215,143,57,.55),
            transparent
        );
}

.pvp-podium-rank {
    color: #905023;
    font-family: Georgia, serif;
    font-size: 11px;
}

.rank-1 .pvp-podium-rank {
    color: #e8b755;
}

.pvp-podium-name {
    margin-top: 7px;
    color: #eee0c5;
    font-family: Georgia, serif;
    font-size: 17px;
}

.pvp-podium-meta {
    min-height: 30px;
    margin-top: 5px;
    color: #80715e;
    font-size: 8px;
    line-height: 1.5;
}

.pvp-podium-guild {
    margin-top: 7px;
    color: #a6895d;
    font-size: 9px;
}

.pvp-podium-score {
    margin-top: 10px;
}

.pvp-podium-score strong {
    display: block;
    color: #d89435;
    font-family: Georgia, serif;
    font-size: 25px;
}

.pvp-podium-score span {
    display: block;
    margin-top: -2px;
    color: #665644;
    font-size: 7px;
    letter-spacing: 1.5px;
}


/* RANKING LIST */

.pvp-ranking-list-header,
.pvp-rank-row {
    display: grid;
    grid-template-columns:
        55px
        minmax(190px, 1.8fr)
        minmax(95px, .8fr)
        75px
        84px;
    align-items: center;
}

.pvp-ranking-list-header {
    margin-top: 24px;
    min-height: 29px;
    padding: 0 10px;
    color: #725e48;
    border-bottom:
        1px solid
        rgba(133,72,35,.45);
    font-size: 7px;
    font-weight: 700;
    letter-spacing: 1px;
}

.pvp-rank-row {
    min-height: 60px;
    padding: 8px 10px;
    border-bottom:
        1px solid
        rgba(255,255,255,.035);
    transition:
        background .18s ease;
}

.pvp-rank-row:hover {
    background:
        linear-gradient(
            90deg,
            rgba(98,31,16,.08),
            transparent
        );
}

.pvp-rank-position {
    color: #a4652b;
    font-family: Georgia, serif;
    font-size: 13px;
}

.pvp-rank-player strong {
    display: block;
    color: #dfc99f;
    font-family: Georgia, serif;
    font-size: 12px;
}

.pvp-rank-player small {
    display: block;
    margin-top: 2px;
    color: #706353;
    font-size: 7px;
}

.pvp-rank-guild span,
.pvp-rank-kd span {
    display: block;
    color: #655746;
    font-size: 6px;
    letter-spacing: 1px;
}

.pvp-rank-guild strong {
    display: block;
    margin-top: 2px;
    color: #a68c63;
    font-size: 9px;
    font-weight: 500;
}

.pvp-rank-kd strong {
    display: block;
    margin-top: 2px;
    color: #d59035;
    font-family: Georgia, serif;
    font-size: 12px;
}


/* ONLINE / OFFLINE */

.pvp-live-status {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 7px;
    font-weight: 700;
}

.pvp-live-status i {
    width: 5px;
    height: 5px;
    display: block;
    border-radius: 50%;
}

.pvp-live-status.online {
    color: #62d877;
}

.pvp-live-status.online i {
    background: #55dc6d;
    box-shadow:
        0 0 6px
        rgba(85,220,109,.75);
}

.pvp-live-status.offline {
    color: #766b5f;
}

.pvp-live-status.offline i {
    background: #5d554d;
}


/* STATES */

.pvp-ranking-loading,
.pvp-ranking-error,
.pvp-empty {
    min-height: 220px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #88765f;
}

.pvp-ranking-loading span {
    color: #9c542b;
    font-size: 8px;
    letter-spacing: 4px;
}

.pvp-ranking-loading strong {
    margin-top: 8px;
    color: #d4ad67;
    font-family: Georgia, serif;
    font-size: 17px;
}


/* RESPONSIVE */

@media (max-width: 760px) {

    .pvp-podium {
        grid-template-columns: 1fr;
    }

    .pvp-ranking-list-header {
        display: none;
    }

    .pvp-rank-row {
        grid-template-columns:
            40px
            1fr
            70px;
        gap: 8px;
    }

    .pvp-rank-guild {
        display: none;
    }

    .pvp-rank-state {
        display: none;
    }
}


/* =========================================================
   SHAMASH GUILD / GRB RANKING
   ========================================================= */

.grb-ranking-view {
    position: relative;
    z-index: 3;
}


.grb-ranking-header {
    min-height: 92px;

    display: flex;

    align-items: flex-start;
    justify-content: space-between;

    gap: 25px;

    padding-bottom: 20px;

    border-bottom:
        1px solid
        rgba(188,126,39,.22);
}


.grb-ranking-kicker {
    display: block;

    margin-bottom: 4px;

    color: #a85a2e;

    font-size: 8px;
    font-weight: 700;

    letter-spacing: 3px;
}


.grb-ranking-header h2 {
    color: #e9bd62;

    font-family:
        Georgia,
        serif;

    font-size: 27px;

    font-weight: 500;

    text-shadow:
        0 1px 2px #000,
        0 0 10px
        rgba(199,103,32,.12);
}


.grb-ranking-header p {
    margin-top: 5px;

    color: #8e806c;

    font-size: 10px;
}


.grb-back-button {
    min-width: 115px;

    padding:
        8px
        13px;

    color: #cfa85d;

    background:
        linear-gradient(
            180deg,
            #170c08,
            #080403
        );

    border:
        1px solid
        #5d2b1b;

    font-family:
        Georgia,
        serif;

    font-size: 9px;
}


.grb-back-button:hover {
    color: #f5ce78;

    border-color:
        #874524;
}


/* TOP 3 GUILDS */

.grb-podium {
    margin-top: 22px;

    display: grid;

    grid-template-columns:
        repeat(
            3,
            minmax(0,1fr)
        );

    gap: 9px;
}


.grb-podium-card {
    min-height: 175px;

    position: relative;

    overflow: hidden;

    padding:
        17px
        14px;

    text-align: center;

    background:
        radial-gradient(
            circle at center top,
            rgba(111,39,18,.14),
            transparent 55%
        ),
        linear-gradient(
            180deg,
            #130906,
            #070403
        );

    border:
        1px solid
        rgba(101,48,27,.70);
}


.grb-podium-card.rank-1 {
    border-color:
        rgba(186,119,38,.70);

    box-shadow:
        inset 0 0 18px
        rgba(199,117,31,.04);
}


.grb-podium-card::after {
    content: "";

    position: absolute;

    left: 12%;
    right: 12%;

    top: 0;

    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(215,143,57,.55),
            transparent
        );
}


.grb-podium-rank {
    color: #905023;

    font-family:
        Georgia,
        serif;

    font-size: 11px;
}


.grb-podium-card.rank-1
.grb-podium-rank {
    color: #e8b755;
}


.grb-podium-card h3 {
    margin-top: 7px;

    color: #eee0c5;

    font-family:
        Georgia,
        serif;

    font-size: 17px;

    font-weight: 500;
}


.grb-podium-card p {
    margin-top: 4px;

    color: #80715e;

    font-size: 8px;
}


.grb-podium-master {
    margin-top: 11px;

    color: #746452;

    font-size: 8px;
}


.grb-podium-master strong {
    color: #a98b5e;

    font-weight: 600;
}


.grb-podium-score {
    margin-top: 13px;
}


.grb-podium-score strong {
    display: block;

    color: #d89435;

    font-family:
        Georgia,
        serif;

    font-size: 25px;
}


.grb-podium-score span {
    display: block;

    margin-top: -2px;

    color: #665644;

    font-size: 7px;

    letter-spacing: 1.5px;
}


/* GUILD LIST */

.grb-list-header,
.grb-rank-row {
    display: grid;

    grid-template-columns:
        55px
        minmax(150px,1.5fr)
        minmax(100px,1fr)
        70px
        90px
        90px;

    align-items: center;
}


.grb-list-header {
    margin-top: 24px;

    min-height: 29px;

    padding:
        0
        10px;

    color: #725e48;

    border-bottom:
        1px solid
        rgba(133,72,35,.45);

    font-size: 7px;

    font-weight: 700;

    letter-spacing: 1px;
}


.grb-rank-row {
    min-height: 61px;

    padding:
        8px
        10px;

    border-bottom:
        1px solid
        rgba(255,255,255,.035);

    transition:
        background .18s ease;
}


.grb-rank-row:hover {
    background:
        linear-gradient(
            90deg,
            rgba(98,31,16,.08),
            transparent
        );
}


.grb-rank-position {
    color: #a4652b;

    font-family:
        Georgia,
        serif;

    font-size: 13px;
}


.grb-rank-guild strong {
    display: block;

    color: #dfc99f;

    font-family:
        Georgia,
        serif;

    font-size: 12px;
}


.grb-rank-guild small {
    display: block;

    margin-top: 2px;

    color: #706353;

    font-size: 7px;
}


.grb-rank-master span,
.grb-rank-members span,
.grb-rank-points span,
.grb-rank-total span {
    display: block;

    color: #655746;

    font-size: 6px;

    letter-spacing: 1px;
}


.grb-rank-master strong,
.grb-rank-members strong,
.grb-rank-total strong {
    display: block;

    margin-top: 2px;

    color: #a68c63;

    font-size: 9px;

    font-weight: 500;
}


.grb-rank-points strong {
    display: block;

    margin-top: 2px;

    color: #d59035;

    font-family:
        Georgia,
        serif;

    font-size: 13px;
}


/* EMPTY / ERROR / LOADING */

.grb-empty,
.grb-loading,
.grb-error {
    min-height: 310px;

    display: flex;

    flex-direction: column;

    align-items: center;
    justify-content: center;

    text-align: center;

    color: #88765f;
}


.grb-empty span,
.grb-loading span {
    color: #9c542b;

    font-size: 8px;

    letter-spacing: 4px;
}


.grb-empty strong,
.grb-loading strong {
    margin-top: 9px;

    color: #d4ad67;

    font-family:
        Georgia,
        serif;

    font-size: 18px;

    font-weight: 500;
}


.grb-empty p {
    max-width: 330px;

    margin-top: 8px;

    color: #716454;

    font-size: 9px;

    line-height: 1.7;
}


/* RESPONSIVE */

@media (max-width: 760px) {

    .grb-podium {
        grid-template-columns:
            1fr;
    }

    .grb-list-header {
        display: none;
    }

    .grb-rank-row {
        grid-template-columns:
            40px
            1fr
            85px;

        gap: 8px;
    }

    .grb-rank-master,
    .grb-rank-members,
    .grb-rank-total {
        display: none;
    }
}


/* =========================================================
   SHAMASH REGISTRATION MODAL
   ========================================================= */

.register-modal {
    position: fixed;
    inset: 0;

    z-index: 1000;

    display: none;

    align-items: center;
    justify-content: center;

    padding: 20px;
}

.register-modal.open {
    display: flex;
}

.register-modal-backdrop {
    position: absolute;
    inset: 0;

    background:
        rgba(0,0,0,.82);

    backdrop-filter:
        blur(4px);
}

.register-panel {
    width: min(430px, 100%);

    position: relative;
    z-index: 2;

    padding:
        34px
        34px
        30px;

    background:
        radial-gradient(
            circle at center top,
            rgba(123,42,20,.12),
            transparent 45%
        ),
        linear-gradient(
            180deg,
            #160b08 0%,
            #0b0604 60%,
            #060302 100%
        );

    border:
        1px solid
        #6b321d;

    box-shadow:
        0 0 0 1px #020101,
        0 22px 60px rgba(0,0,0,.75),
        inset 0 0 30px rgba(190,76,29,.04);
}

.register-panel::before {
    content: "";

    position: absolute;

    inset: 7px;

    pointer-events: none;

    border:
        1px solid
        rgba(211,130,53,.10);
}

.register-close {
    width: 34px;
    height: 34px;

    position: absolute;

    right: 10px;
    top: 10px;

    z-index: 4;

    display: grid;

    place-items: center;

    color: #a27651;

    background: transparent;

    border: 0;

    font-family:
        Georgia,
        serif;

    font-size: 24px;
}

.register-close:hover {
    color: #efc66a;
}

.register-kicker {
    display: block;

    color: #a8572d;

    font-size: 8px;
    font-weight: 700;

    letter-spacing: 4px;
}

.register-panel h2 {
    margin-top: 5px;

    color: #edc267;

    font-family:
        Georgia,
        serif;

    font-size: 29px;

    font-weight: 500;
}

.register-intro {
    margin-top: 6px;

    color: #82735f;

    font-size: 10px;
}

#registerForm {
    margin-top: 24px;

    display: grid;

    gap: 15px;
}

.register-field {
    display: block;
}

.register-field > span {
    display: block;

    margin-bottom: 6px;

    color: #a78c67;

    font-size: 8px;
    font-weight: 700;

    letter-spacing: 1.5px;
}

.register-field input {
    width: 100%;

    height: 42px;

    padding:
        0
        12px;

    color: #e6d6bb;

    background:
        #080403;

    border:
        1px solid
        #452116;

    outline: 0;

    box-shadow:
        inset 0 0 8px
        rgba(0,0,0,.45);
}

.register-field input:focus {
    border-color:
        #925027;

    box-shadow:
        0 0 0 1px
        rgba(193,112,47,.12),
        inset 0 0 8px
        rgba(0,0,0,.45);
}

.register-field small {
    display: block;

    margin-top: 4px;

    color: #655848;

    font-size: 7px;
}

.register-message {
    min-height: 18px;

    color: #8e806d;

    font-size: 9px;

    line-height: 1.5;
}

.register-message.error {
    color: #d96d5c;
}

.register-message.success {
    color: #69d77c;
}

.register-message.loading {
    color: #c89443;
}

.register-submit {
    min-height: 43px;

    margin-top: 2px;

    color: #efc66a;

    background:
        radial-gradient(
            ellipse at center,
            rgba(163,51,22,.22),
            transparent 72%
        ),
        linear-gradient(
            180deg,
            #55130d,
            #2c0806
        );

    border:
        1px solid
        #7a351e;

    font-family:
        Georgia,
        serif;

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 1px;

    transition:
        .2s ease;
}

.register-submit:hover {
    color: #ffe29a;

    border-color:
        #a8582b;

    box-shadow:
        0 0 12px
        rgba(177,73,30,.13);
}

.register-submit:disabled {
    opacity: .55;
}

body.register-modal-open {
    overflow: hidden;
}

@media (max-width: 520px) {

    .register-panel {
        padding:
            30px
            22px
            24px;
    }
}

