/* Metin2 Legado - Identidade Obsidiana Imperial */
:root {
    --c-gold: #d7b96f;
    --c-gold-bright: #f1d99a;
    --c-gold-dark: #80652f;
    --c-gold-grad: linear-gradient(180deg, #f1d99a 0%, #b99348 100%);
    --c-red: #9e2d38;
    --c-red-dark: #551820;
    --c-red-bright: #d6535f;
    --c-red-glow: rgba(158, 45, 56, 0.25);
    --c-jade: #49a77c;
    --c-jade-dark: #23694c;
    --c-sky: #6ba7c8;
    --c-bg-dark: #07090b;
    --c-bg-panel: #11161a;
    --c-bg-raised: #171d22;
    --c-line: #293138;
    --c-line-soft: #20272c;
    --c-text: #eef0ed;
    --c-text-soft: #b6bdbe;
    --c-text-muted: #858e91;
    --font-title: 'Cinzel', Georgia, serif;
    --font-body: 'Source Sans 3', 'Segoe UI', sans-serif;
    --shadow-panel: 0 18px 48px rgba(0, 0, 0, 0.34);
}

html { color-scheme: dark; scroll-behavior: smooth; }

body.theme-obsidiana {
    background: var(--c-bg-dark);
    background-image: none;
    color: var(--c-text-soft);
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.55;
}

body.theme-obsidiana *,
body.theme-obsidiana *::before,
body.theme-obsidiana *::after { letter-spacing: 0; }

body.theme-obsidiana #particles-js { display: none; }

body.theme-obsidiana a {
    transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

body.theme-obsidiana a:hover { color: var(--c-gold-bright); text-shadow: none; }
body.theme-obsidiana :focus-visible { outline: 2px solid var(--c-gold-bright); outline-offset: 3px; }
body.theme-obsidiana ::selection { background: var(--c-red); color: #fff; }
body.theme-obsidiana ::-webkit-scrollbar { width: 10px; }
body.theme-obsidiana ::-webkit-scrollbar-track { background: #090c0e; }
body.theme-obsidiana ::-webkit-scrollbar-thumb { background: #343d43; border: 2px solid #090c0e; border-radius: 6px; }

/* Navegacao */
body.theme-obsidiana .legado-nav {
    min-height: 72px;
    padding: 8px 0;
    background: rgba(7, 9, 11, 0.96);
    border-bottom: 1px solid var(--c-line);
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.28);
    backdrop-filter: blur(14px);
}

body.theme-obsidiana .legado-nav .container { max-width: 1320px; }

body.theme-obsidiana .nav-link {
    margin: 0 7px;
    padding: 10px 7px !important;
    color: #b9c0c1 !important;
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 700;
    text-transform: none;
}

body.theme-obsidiana .nav-link::after {
    bottom: 2px;
    height: 2px;
    background: var(--c-gold);
    box-shadow: none;
}

body.theme-obsidiana .nav-link:hover,
body.theme-obsidiana .nav-link.active,
body.theme-obsidiana .navbar-dark .navbar-nav .nav-link.nav-apresentacao { color: var(--c-text) !important; }

body.theme-obsidiana .navbar-dark .navbar-nav .nav-link.nav-apresentacao:hover {
    color: var(--c-gold-bright) !important;
    text-shadow: none;
}

body.theme-obsidiana .dropdown-menu-dark {
    min-width: 190px;
    padding: 6px;
    background: #101519;
    border: 1px solid var(--c-line);
    border-radius: 6px !important;
    box-shadow: var(--shadow-panel);
}

body.theme-obsidiana .dropdown-item { padding: 9px 12px; color: var(--c-text-soft); border-radius: 4px; }
body.theme-obsidiana .dropdown-item:hover,
body.theme-obsidiana .dropdown-item:focus { background: var(--c-red-dark); color: #fff; }

body.theme-obsidiana .btn-legado {
    min-height: 38px;
    border-radius: 4px;
    box-shadow: none;
    font-family: var(--font-body);
    text-transform: none;
}

body.theme-obsidiana .btn-legado.gold { background: #171c20; border-color: var(--c-gold-dark); color: var(--c-gold-bright); }
body.theme-obsidiana .btn-legado.gold:hover {
    background: var(--c-gold);
    border-color: var(--c-gold);
    color: #15130d;
    box-shadow: none;
    transform: translateY(-1px);
}

body.theme-obsidiana main { margin-top: 72px; }
body.theme-obsidiana main main { margin-top: 0; }

/* Ambiente compartilhado das paginas internas */
body.theme-obsidiana > main {
    min-height: calc(100vh - 72px);
    background-color: var(--c-bg-dark);
    background-image:
        linear-gradient(180deg, rgba(5, 8, 10, 0.56) 0, rgba(5, 8, 10, 0.86) 610px, #07090b 1080px, #07090b 100%),
        url('/images/hero-fundo-v2.webp');
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 100% 100%, max(100%, 1440px) auto;
}

body.theme-obsidiana :is(.home-content, .download-content, .dashboard-container, .pres-wrap) {
    position: relative;
    background: transparent !important;
}

body.theme-obsidiana :is(.home-content, .dashboard-container) {
    padding-top: 56px;
    padding-bottom: 76px;
}

body.theme-obsidiana .download-content {
    min-height: calc(100vh - 72px) !important;
    padding: 36px 0 52px !important;
}

body.theme-obsidiana :is(.rank-overlay-wrap, .posts-overlay-wrap, .login-wrapper, .recovery-wrapper, .auth-wrapper) {
    isolation: isolate;
}

body.theme-obsidiana :is(.rank-overlay-wrap, .posts-overlay-wrap, .login-wrapper, .recovery-wrapper, .auth-wrapper)::before {
    display: none !important;
}

body.theme-obsidiana :is(.page-title, .rank-hero, .posts-hero, .post-header) {
    max-width: 920px;
    margin-left: auto;
    margin-right: auto;
}

body.theme-obsidiana :is(.rank-hero, .posts-hero, .post-header) {
    padding: 26px 18px 28px;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--c-line) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
}

body.theme-obsidiana :is(.page-title h1, .rank-hero h1, .posts-hero h1, .post-title) {
    color: var(--c-text) !important;
    font-family: var(--font-title);
    text-transform: none !important;
    letter-spacing: 0 !important;
    text-shadow: 0 6px 22px rgba(0, 0, 0, 0.58) !important;
}

body.theme-obsidiana :is(.page-title p, .rank-hero p, .posts-hero p) {
    color: var(--c-text-soft) !important;
}

/* Hero principal */
body.theme-obsidiana .hero-section {
    min-height: 760px;
    padding: 0;
    display: flex;
    align-items: center;
    background-color: #090b0d;
    background-image: url('/images/hero-fundo-v2.webp');
    background-size: cover;
    background-position: center;
    isolation: isolate;
}

body.theme-obsidiana .hero-section::before {
    z-index: -1;
    background: linear-gradient(90deg, rgba(4, 6, 8, 0.42), rgba(4, 6, 8, 0.58) 48%, rgba(4, 6, 8, 0.4));
    opacity: 1;
}

body.theme-obsidiana .hero-section::after {
    content: '';
    position: absolute;
    inset: auto 0 0;
    height: 1px;
    background: var(--c-line);
}

body.theme-obsidiana .hero-section .container {
    position: relative;
    z-index: 1;
    min-height: 760px;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 72px;
    padding-bottom: 54px;
}

body.theme-obsidiana .hero-logo {
    width: min(270px, 58vw);
    margin: 40px 0 0;
    filter: drop-shadow(0 12px 24px rgba(0, 0, 0, 0.45));
    animation: none;
}

body.theme-obsidiana .hero-kicker {
    display: block;
    margin-bottom: 8px;
    color: var(--c-gold-bright);
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
}

body.theme-obsidiana .hero-headline {
    margin: 0 0 12px;
    color: var(--c-text);
    background: none;
    -webkit-background-clip: initial;
    -webkit-text-fill-color: initial;
    font-size: 46px;
    line-height: 1.08;
    text-shadow: 0 6px 22px rgba(0, 0, 0, 0.7);
}

body.theme-obsidiana .hero-sub {
    max-width: 720px;
    margin: 155px auto 0;
    color: #d4d9d8;
    font-size: 18px;
    line-height: 1.55;
}

body.theme-obsidiana .hero-sub strong,
body.theme-obsidiana .hero-highlight { color: #fff; font-weight: 700; border: 0; }

body.theme-obsidiana .online-status {
    position: absolute;
    top: 32px;
    left: 18px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 34px;
    margin: 0;
    padding: 6px 10px;
    background: rgba(7, 10, 12, 0.88);
    border: 1px solid var(--c-line);
    border-radius: 4px;
    color: var(--c-text-soft);
    font-size: 13px;
    font-weight: 700;
}

body.theme-obsidiana .online-status .online-dot {
    width: 8px;
    height: 8px;
    flex: 0 0 8px;
    border-radius: 50%;
    background: var(--c-jade);
    box-shadow: 0 0 0 4px rgba(73, 167, 124, 0.12);
}

body.theme-obsidiana .hero-section .cta-btns {
    display: grid;
    grid-template-columns: repeat(3, 190px);
    gap: 10px;
    margin-top: auto;
}

body.theme-obsidiana .btn-play,
body.theme-obsidiana .btn-download-hero,
body.theme-obsidiana .btn-whatsapp-hero {
    width: 190px;
    min-width: 190px;
    min-height: 50px;
    padding: 12px 22px;
    justify-content: center;
    border-radius: 4px;
    box-shadow: none;
    font-family: var(--font-body);
    font-size: 15px;
    text-transform: none;
    transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

body.theme-obsidiana .btn-play { background: var(--c-red); border-color: var(--c-red-bright); }
body.theme-obsidiana .btn-play::after { display: none; }
body.theme-obsidiana .btn-play:hover {
    background: #b83a46;
    border-color: #e77b84;
    box-shadow: none;
    transform: translateY(-2px);
}

body.theme-obsidiana .btn-download-hero { background: rgba(13, 17, 20, 0.9); border-color: #4a555d; color: var(--c-text); }
body.theme-obsidiana .btn-download-hero:hover { background: #1a2025; border-color: var(--c-gold); transform: translateY(-2px); }
body.theme-obsidiana .btn-whatsapp-hero { background: var(--c-jade-dark); border-color: var(--c-jade); }
body.theme-obsidiana .btn-whatsapp-hero:hover { background: #2e805d; box-shadow: none; transform: translateY(-2px); }

body.theme-obsidiana .features-bar {
    max-width: 940px;
    margin: 0 auto;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    border-top: 0;
}

body.theme-obsidiana .features-section {
    position: relative;
    padding: 16px 0;
    background: #0d1114;
    border-bottom: 0;
}

body.theme-obsidiana .features-section::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: var(--c-line-soft);
    pointer-events: none;
}

body.theme-obsidiana .features-section + .content-section {
    border-top: 0;
}

body.theme-obsidiana .feature-item {
    max-width: none;
    padding: 0 14px;
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    column-gap: 11px;
    align-items: center;
    text-align: left;
}
body.theme-obsidiana .feature-icon { grid-row: 1 / span 2; margin: 0; color: var(--c-gold); font-size: 24px; text-shadow: none; }
body.theme-obsidiana .feature-title { margin: 0 0 2px; color: var(--c-text); font-size: 14px; line-height: 1.2; text-transform: none; }
body.theme-obsidiana .feature-desc { margin: 0; color: #aab2b4; font-size: 13px; line-height: 1.3; }

/* Hall da Fama da home */
body.theme-obsidiana .emperors-strip {
    margin-bottom: 22px;
    display: grid;
    grid-template-columns: 230px minmax(0, 1fr);
    background: rgba(15, 20, 24, 0.96);
    border: 1px solid var(--c-line);
    border-top: 2px solid var(--c-gold-dark);
    border-radius: 6px;
    box-shadow: var(--shadow-panel);
    overflow: hidden;
}

body.theme-obsidiana .emperors-header {
    min-height: 106px;
    padding: 18px 20px;
    display: flex;
    align-items: center;
    background: #0d1215;
    border-right: 1px solid var(--c-line);
}

body.theme-obsidiana .emperors-header h2 {
    margin: 0;
    color: var(--c-text);
    font-family: var(--font-title);
    font-size: 24px;
    line-height: 1.15;
}

body.theme-obsidiana .emperors-grid {
    min-width: 0;
    padding: 14px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    background: linear-gradient(180deg, rgba(18, 24, 28, 0.72), rgba(9, 13, 16, 0.96));
}

body.theme-obsidiana .emperor-card {
    min-width: 0;
    min-height: 78px;
    padding: 12px;
    display: grid;
    grid-template-columns: 54px 42px minmax(0, 1fr);
    gap: 11px;
    align-items: center;
    background: #11171b;
    border: 1px solid #273138;
    border-left: 3px solid var(--c-gold-dark);
    border-radius: 4px;
}

body.theme-obsidiana .emperor-1 { border-left-color: #9e2d38; }
body.theme-obsidiana .emperor-2 { border-left-color: #d7b96f; }
body.theme-obsidiana .emperor-3 { border-left-color: #4568b3; }

body.theme-obsidiana .emperor-class {
    width: 54px;
    height: 54px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #090d0f;
    border: 1px solid rgba(215, 185, 111, 0.52);
    border-radius: 4px;
    overflow: hidden;
}

body.theme-obsidiana .emperor-class img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 3px;
    padding: 0 !important;
}

body.theme-obsidiana .emperor-flag {
    width: 42px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #090d0f;
    border: 1px solid #465158;
    border-radius: 4px;
    overflow: hidden;
}

body.theme-obsidiana .emperor-flag img {
    width: 36px;
    height: 22px;
    object-fit: cover;
    border-radius: 2px;
}

body.theme-obsidiana .emperor-info {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

body.theme-obsidiana .emperor-info span {
    color: var(--c-text-muted);
    font-size: 10px;
    font-weight: 800;
    line-height: 1.2;
    text-transform: uppercase;
}

body.theme-obsidiana .emperor-info strong {
    min-width: 0;
    overflow: hidden;
    color: var(--c-text);
    font-family: var(--font-title);
    font-size: 17px;
    font-weight: 800;
    line-height: 1.15;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.theme-obsidiana .emperors-empty {
    grid-column: 1 / -1;
    min-height: 78px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--c-text-muted);
}

body.theme-obsidiana .champions-strip {
    margin-bottom: 22px;
    display: grid;
    grid-template-columns: 230px minmax(0, 1fr);
    background: rgba(15, 20, 24, 0.96);
    border: 1px solid var(--c-line);
    border-top: 2px solid var(--c-red);
    border-radius: 6px;
    box-shadow: var(--shadow-panel);
    overflow: hidden;
}

body.theme-obsidiana .champions-header {
    min-height: 122px;
    padding: 18px 20px;
    display: flex;
    align-items: center;
    background: #0d1215;
    border-right: 1px solid var(--c-line);
}

body.theme-obsidiana .champions-header h2 {
    margin: 0;
    color: var(--c-text);
    font-family: var(--font-title);
    font-size: 24px;
    line-height: 1.15;
}

body.theme-obsidiana .champions-grid {
    min-width: 0;
    padding: 14px;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 12px;
    align-items: stretch;
    background: linear-gradient(180deg, rgba(18, 24, 28, 0.72), rgba(9, 13, 16, 0.96));
}

body.theme-obsidiana .champion-card {
    min-width: 0;
    min-height: 94px;
    padding: 11px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    background: #11171b;
    border: 1px solid #273138;
    border-left: 3px solid var(--c-gold-dark);
    border-radius: 4px;
}

body.theme-obsidiana .champion-card-gvg { border-left-color: #d7b96f; }
body.theme-obsidiana .champion-card-gvg_sub55 { border-left-color: #8da0aa; }
body.theme-obsidiana .champion-card-pvp_campeoes { border-left-color: #9e2d38; }
body.theme-obsidiana .champion-card-pvp_sub55 { border-left-color: #4568b3; }

body.theme-obsidiana .champion-card-gvg,
body.theme-obsidiana .champion-card-gvg_sub55,
body.theme-obsidiana .champion-card-guild-tournament {
    grid-column: span 3;
    min-height: 72px;
    padding: 7px 11px;
    gap: 4px;
}

body.theme-obsidiana .champion-card-pvp_campeoes,
body.theme-obsidiana .champion-card-pvp_sub55 {
    grid-column: 1 / -1;
    min-height: 92px;
}

body.theme-obsidiana .champion-card-title {
    color: var(--c-gold-bright);
    font-size: 12px;
    font-weight: 900;
    line-height: 1.15;
    text-transform: uppercase;
}

body.theme-obsidiana .champion-list {
    min-width: 0;
    display: grid;
    gap: 6px;
}

body.theme-obsidiana .champion-card-pvp_campeoes .champion-list,
body.theme-obsidiana .champion-card-pvp_sub55 .champion-list {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px 10px;
}

body.theme-obsidiana .champion-row {
    min-width: 0;
    display: grid;
    grid-template-columns: 30px 32px minmax(0, 1fr);
    gap: 7px;
    align-items: center;
}

body.theme-obsidiana .champion-class,
body.theme-obsidiana .champion-mark {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    background: #090d0f;
    border: 1px solid rgba(215, 185, 111, 0.48);
    border-radius: 4px;
    overflow: hidden;
}

body.theme-obsidiana .champion-card-gvg .champion-row,
body.theme-obsidiana .champion-card-gvg_sub55 .champion-row,
body.theme-obsidiana .champion-card-guild-tournament .champion-row {
    grid-template-columns: 48px 34px minmax(0, 1fr);
    gap: 9px;
}

body.theme-obsidiana .champion-card-gvg .champion-mark,
body.theme-obsidiana .champion-card-gvg_sub55 .champion-mark,
body.theme-obsidiana .champion-card-guild-tournament .champion-mark {
    width: 48px;
    height: 48px;
}

body.theme-obsidiana .champion-class img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    padding: 0 !important;
}

body.theme-obsidiana .champion-guild-mark {
    color: var(--c-gold-bright);
    font-size: 17px;
}

body.theme-obsidiana .champion-guild-mark-image .champion-guild-fallback-icon {
    display: none;
}

body.theme-obsidiana .champion-guild-mark-image img {
    width: 100%;
    height: 100%;
    object-fit: contain !important;
    display: block;
    padding: 3px;
    box-sizing: border-box;
    background: #070b0d;
}

body.theme-obsidiana .champion-card-guild-tournament .champion-guild-mark-image img {
    object-fit: contain !important;
    padding: 3px !important;
}

body.theme-obsidiana .champion-flag {
    width: 32px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #090d0f;
    border: 1px solid #465158;
    border-radius: 4px;
    overflow: hidden;
}

body.theme-obsidiana .champion-flag img {
    width: 28px;
    height: 17px;
    object-fit: cover;
    border-radius: 2px;
}

body.theme-obsidiana .champion-flag-empty {
    color: var(--c-gold);
    border-color: rgba(215, 185, 111, 0.32);
    border-style: dashed;
    font-size: 13px;
}

body.theme-obsidiana .champion-copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 1px;
}

body.theme-obsidiana .champion-copy small {
    overflow: hidden;
    color: var(--c-text-muted);
    font-size: 10px;
    font-weight: 800;
    line-height: 1.15;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

body.theme-obsidiana .champion-copy strong {
    overflow: hidden;
    color: var(--c-text);
    font-size: 15px;
    font-weight: 900;
    line-height: 1.18;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.theme-obsidiana .champion-card-gvg .champion-copy strong,
body.theme-obsidiana .champion-card-gvg_sub55 .champion-copy strong {
    font-size: 17px;
}

body.theme-obsidiana .champion-row.is-pending .champion-copy strong {
    color: rgba(224, 232, 236, 0.62);
    font-size: 14px;
}

body.theme-obsidiana .champion-row.is-pending .champion-class {
    opacity: 0.78;
}

body.theme-obsidiana .champion-pending,
body.theme-obsidiana .champions-empty {
    min-height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: var(--c-text-muted);
    font-size: 12px;
    font-weight: 800;
}

body.theme-obsidiana .champion-pending i {
    color: var(--c-gold);
}

body.theme-obsidiana .champions-empty {
    grid-column: 1 / -1;
}

body.theme-obsidiana .hall-of-fame-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
    gap: 22px;
    align-items: stretch;
}

body.theme-obsidiana .hall-panel {
    min-width: 0;
    display: flex;
    flex-direction: column;
    background: rgba(15, 20, 24, 0.96);
    border: 1px solid var(--c-line);
    border-top: 2px solid var(--c-gold-dark);
    border-radius: 6px;
    box-shadow: var(--shadow-panel);
    overflow: hidden;
}

body.theme-obsidiana .hall-panel-guild { border-top-color: var(--c-red); }

body.theme-obsidiana .hall-header {
    min-height: 84px;
    padding: 18px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    background: #0d1215;
    border-bottom: 1px solid var(--c-line);
}

body.theme-obsidiana .hall-eyebrow {
    display: block;
    margin-bottom: 3px;
    color: var(--c-gold);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

body.theme-obsidiana .hall-eyebrow i { margin-right: 5px; }

body.theme-obsidiana .hall-header h2 {
    margin: 0;
    color: var(--c-text);
    font-family: var(--font-title);
    font-size: 23px;
    line-height: 1.15;
}

body.theme-obsidiana .hall-link {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 34px;
    padding: 7px 10px;
    color: var(--c-text-soft);
    background: #151b1f;
    border: 1px solid #38434a;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
}

body.theme-obsidiana .hall-link:hover {
    color: var(--c-gold-bright);
    background: #1b2328;
    border-color: var(--c-gold-dark);
    transform: translateY(-1px);
}

body.theme-obsidiana .hall-podium {
    min-height: 312px;
    flex: 1;
    padding: 28px 18px 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    align-items: end;
    background: linear-gradient(180deg, rgba(18, 24, 28, 0.72), rgba(9, 13, 16, 0.96));
}

body.theme-obsidiana .hall-podium-guild { min-height: 312px; padding-top: 12px; }

body.theme-obsidiana .hall-place {
    min-width: 0;
    grid-row: 1;
    align-self: end;
    position: relative;
    padding: 18px 9px 0;
    text-align: center;
    background: linear-gradient(180deg, rgba(215, 185, 111, 0.02), rgba(215, 185, 111, 0.09));
    border-bottom: 3px solid #5f6a70;
}

body.theme-obsidiana .hall-rank-1 {
    min-height: 276px;
    grid-column: 2;
    border-bottom-color: var(--c-gold);
    background: linear-gradient(180deg, rgba(215, 185, 111, 0.08), rgba(215, 185, 111, 0.24));
}

body.theme-obsidiana .hall-podium-guild .hall-rank-1 { min-height: 292px; }

body.theme-obsidiana .hall-rank-2 {
    min-height: 238px;
    grid-column: 1;
    border-bottom-color: #9ba6ab;
    background: linear-gradient(180deg, rgba(155, 166, 171, 0.05), rgba(155, 166, 171, 0.17));
}

body.theme-obsidiana .hall-rank-3 {
    min-height: 222px;
    grid-column: 3;
    border-bottom-color: #a86d48;
    background: linear-gradient(180deg, rgba(168, 109, 72, 0.06), rgba(168, 109, 72, 0.2));
}

body.theme-obsidiana .hall-medal {
    position: absolute;
    top: 9px;
    left: 10px;
    min-width: 26px;
    height: 26px;
    padding: 0 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #e1e5e3;
    background: #1a2125;
    border: 1px solid #465158;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 900;
}

body.theme-obsidiana .hall-rank-1 .hall-medal {
    color: #1a160d;
    background: var(--c-gold);
    border-color: var(--c-gold-bright);
}

body.theme-obsidiana .hall-rank-2 .hall-medal {
    color: #fff;
    background: #58656c;
    border-color: #aeb8bd;
}

body.theme-obsidiana .hall-rank-3 .hall-medal {
    color: #fff;
    background: #925a38;
    border-color: #c58a62;
}

body.theme-obsidiana .hall-avatar,
body.theme-obsidiana .hall-guild-mark {
    width: 66px;
    height: 66px;
    margin: 8px auto 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #090d0f;
    border: 2px solid #59656c;
    border-radius: 6px;
    overflow: hidden;
}

body.theme-obsidiana .hall-rank-1 :is(.hall-avatar, .hall-guild-mark) {
    width: 82px;
    height: 82px;
    border-color: var(--c-gold);
}

body.theme-obsidiana .hall-rank-3 :is(.hall-avatar, .hall-guild-mark) { border-color: #a86d48; }

body.theme-obsidiana .hall-avatar img {
    width: 100%;
    height: 100%;
    padding: 0 !important;
    object-fit: cover;
}

body.theme-obsidiana .hall-guild-mark {
    color: var(--c-gold);
    font-size: 34px;
}

body.theme-obsidiana .hall-rank-1 .hall-guild-mark { font-size: 42px; }

body.theme-obsidiana .hall-place h3 {
    max-width: 100%;
    margin: 0 0 7px;
    overflow: hidden;
    color: #fff;
    font-family: var(--font-title);
    font-size: 15px;
    font-weight: 800;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.theme-obsidiana .hall-rank-1 h3 { color: var(--c-gold-bright); font-size: 18px; }

body.theme-obsidiana .hall-player-meta {
    min-height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    color: var(--c-text-muted);
    font-size: 11px;
}

body.theme-obsidiana .hall-empire {
    display: inline-flex;
    align-items: center;
}

body.theme-obsidiana .hall-empire img {
    width: 28px;
    height: 17px;
    border: 1px solid #465158;
    border-radius: 2px;
    object-fit: cover;
}

body.theme-obsidiana .hall-score {
    margin-top: 11px;
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 7px;
}

body.theme-obsidiana .hall-score span {
    color: var(--c-text-muted);
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
}

body.theme-obsidiana .hall-score strong {
    color: var(--c-text);
    font-family: var(--font-title);
    font-size: 19px;
}

body.theme-obsidiana .hall-rank-1 .hall-score strong { color: var(--c-gold-bright); font-size: 22px; }

body.theme-obsidiana .hall-ranked-stats {
    margin-top: 10px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.theme-obsidiana .hall-ranked-stats > div {
    min-width: 0;
    padding: 0 4px;
    display: flex;
    flex-direction: column;
    align-items: center;
    border-left: 1px solid #303a40;
}

body.theme-obsidiana .hall-ranked-stats > div:first-child { border-left: 0; }

body.theme-obsidiana .hall-ranked-stats span {
    color: var(--c-text-muted);
    font-size: 8px;
    font-weight: 700;
    line-height: 1.2;
    text-transform: uppercase;
}

body.theme-obsidiana .hall-ranked-stats strong {
    margin-top: 3px;
    color: var(--c-text);
    font-family: var(--font-title);
    font-size: 16px;
    line-height: 1;
}

body.theme-obsidiana .hall-rank-1 .hall-ranked-stats strong { color: var(--c-gold-bright); font-size: 18px; }

body.theme-obsidiana .hall-guild-record {
    margin-top: 1px;
    color: var(--c-text-muted);
    font-size: 10px;
}

body.theme-obsidiana .hall-pedestal {
    height: 34px;
    margin: 11px -9px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #c9cfcd;
    background: #151b1f;
    border-top: 1px solid #303a40;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

body.theme-obsidiana .hall-rank-1 .hall-pedestal { color: var(--c-gold-bright); background: #282213; border-top-color: var(--c-gold-dark); }
body.theme-obsidiana .hall-rank-2 .hall-pedestal { color: #e1e6e8; background: #20282c; border-top-color: #7d898f; }
body.theme-obsidiana .hall-rank-3 .hall-pedestal { color: #efc3a4; background: #2b1c16; border-top-color: #925a38; }

body.theme-obsidiana .hall-runners {
    padding: 10px 18px 16px;
    display: grid;
    gap: 6px;
    background: #0b1013;
    border-top: 1px solid var(--c-line);
}

body.theme-obsidiana .hall-runner-row {
    min-width: 0;
    min-height: 45px;
    padding: 6px 9px;
    display: grid;
    grid-template-columns: 30px 32px 30px minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
    background: #11171b;
    border-left: 2px solid #465158;
}

body.theme-obsidiana .hall-runner-position { color: var(--c-gold); font-weight: 900; }

body.theme-obsidiana .hall-runner-avatar,
body.theme-obsidiana .hall-runner-empire {
    display: flex;
    align-items: center;
    justify-content: center;
}

body.theme-obsidiana .hall-runner-avatar img {
    width: 30px;
    height: 30px;
    padding: 0 !important;
    object-fit: cover;
    border: 1px solid #465158;
    border-radius: 3px;
}

body.theme-obsidiana .hall-runner-guild {
    color: var(--c-gold);
    font-size: 19px;
}

body.theme-obsidiana .hall-runner-empire img { width: 28px; height: 17px; object-fit: cover; border-radius: 2px; }
body.theme-obsidiana .hall-runner-row strong { min-width: 0; overflow: hidden; color: var(--c-text); font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
body.theme-obsidiana .hall-runner-level { color: var(--c-text-muted); font-size: 11px; }
body.theme-obsidiana .hall-runner-score { color: var(--c-gold-bright); font-size: 12px; font-weight: 800; }
body.theme-obsidiana .hall-empty { grid-column: 1 / -1; align-self: center; padding: 50px 20px; color: var(--c-text-muted); text-align: center; }

/* Superficies e componentes compartilhados */
body.theme-obsidiana .content-section {
    padding: 56px 0;
    background: #0a0d0f;
    border-top: 1px solid var(--c-line-soft);
    box-shadow: none;
}

body.theme-obsidiana :is(
    .pro-card, .login-card, .download-card, .rank-card, .coin-card,
    .checkout-card, .order-card, .status-card, .form-box, .post-card,
    .class-card, .account-card, .panel-card, .card
) {
    background: rgba(17, 22, 26, 0.96);
    border-color: var(--c-line);
    border-radius: 6px;
    box-shadow: var(--shadow-panel);
    backdrop-filter: none;
}

body.theme-obsidiana :is(.pro-card, .coin-card, .class-card, .post-card, .order-card):hover {
    border-color: #56626a;
    box-shadow: 0 16px 42px rgba(0, 0, 0, 0.34);
    transform: translateY(-2px);
}

body.theme-obsidiana .pro-card { padding: 18px; }
body.theme-obsidiana .card-header { background: transparent; border-color: var(--c-line); }

body.theme-obsidiana :is(.card-title, .footer-title, .gold-title, .section-title, .section-header, .sec-title) {
    color: var(--c-gold-bright);
    background: none;
    -webkit-background-clip: initial;
    -webkit-text-fill-color: initial;
    font-family: var(--font-title);
    text-transform: none;
}

body.theme-obsidiana :is(.page-title h1, .rank-hero h1, .login-header h1) { color: var(--c-text); text-shadow: none; }
body.theme-obsidiana :is(.page-title p, .rank-hero p, .login-header p, .sec-sub) { color: var(--c-text-muted); }
body.theme-obsidiana .rank-hero::before,
body.theme-obsidiana .login-wrapper::before { display: none; }

body.theme-obsidiana :is(.rank-hero, .rank-overlay-wrap) {
    border-color: var(--c-line);
    border-radius: 6px;
    background: rgba(13, 17, 20, 0.88);
    box-shadow: none;
}

body.theme-obsidiana :is(
    .form-control, .form-control-custom, .rank-input, .rank-select, .field-input,
    .legado-input-group, .input-box, select, textarea
) {
    color: var(--c-text);
    background-color: #0a0e11;
    border-color: #354048;
    border-radius: 4px;
    box-shadow: none;
}

body.theme-obsidiana :is(
    .form-control, .form-control-custom, .rank-input, .rank-select, .field-input,
    .legado-input-group, .input-box, select, textarea
):focus,
body.theme-obsidiana .input-box:focus-within,
body.theme-obsidiana .legado-input-group:focus-within {
    color: #fff;
    background-color: #0d1215;
    border-color: var(--c-gold);
    box-shadow: 0 0 0 3px rgba(215, 185, 111, 0.12);
}

body.theme-obsidiana :is(.form-label, .field-label, .field label) { color: #c7ccca; text-transform: none; }

body.theme-obsidiana :is(
    .btn-login, .btn-submit, .btn-legado-primary, .btn-main.primary,
    .btn-download-primary, .rank-btn.primary, .filter-btn.primary
) {
    background: var(--c-red);
    border-color: var(--c-red-bright);
    border-radius: 4px;
    color: #fff;
    box-shadow: none;
    text-transform: none;
}

body.theme-obsidiana :is(
    .btn-login, .btn-submit, .btn-legado-primary, .btn-main.primary,
    .btn-download-primary, .rank-btn.primary, .filter-btn.primary
):hover {
    background: #b43b46;
    border-color: #dd6974;
    box-shadow: none;
    transform: translateY(-1px);
}

body.theme-obsidiana :is(.btn-main.ghost, .btn-legado-ghost, .rank-btn.ghost, .filter-btn.ghost, .btn-download-sec) {
    background: #151b1f;
    border-color: #3a464d;
    border-radius: 4px;
    color: var(--c-text-soft);
}

body.theme-obsidiana :is(.btn-main.ghost, .btn-legado-ghost, .rank-btn.ghost, .filter-btn.ghost, .btn-download-sec):hover {
    background: #1b2328;
    border-color: var(--c-gold-dark);
    color: var(--c-gold-bright);
}

/* Paineis internos: mesma materialidade da home */
body.theme-obsidiana :is(
    .download-card, .login-card, .recovery-card, .auth-card,
    .dash-sidebar, .dash-hero, .stat-card, .quick-btn, .activity-box,
    .promo-banner, .coin-card, .product-summary-card, .payment-card,
    .checkout-card, .order-card, .invoice-card, .status-card,
    .reading-box, .posts-card, .post-item, .form-card, .rules-box,
    .unstuck-container, .rule-alert, .char-card, .hero-card,
    .info-pill, .quick-nav, .class-card, .section-card
) {
    background: rgba(15, 20, 24, 0.94) !important;
    border: 1px solid var(--c-line) !important;
    border-radius: 6px !important;
    box-shadow: var(--shadow-panel) !important;
    backdrop-filter: none !important;
}

body.theme-obsidiana :is(
    .download-card, .login-card, .recovery-card, .auth-card,
    .reading-box, .form-card, .unstuck-container, .hero-card
) {
    border-top-color: var(--c-gold-dark) !important;
}

body.theme-obsidiana :is(
    .download-card, .login-card, .recovery-card, .auth-card,
    .reading-box, .dash-sidebar, .activity-box, .posts-card,
    .unstuck-container, .hero-card
) {
    overflow: hidden;
}

body.theme-obsidiana :is(
    .download-card, .login-card, .recovery-card, .auth-card,
    .reading-box, .posts-card, .unstuck-container, .hero-card
)::before {
    background: linear-gradient(90deg, transparent, rgba(215, 185, 111, 0.68), transparent) !important;
    animation: none !important;
}

body.theme-obsidiana :is(.form-box, .posts-overlay-wrap, .rank-overlay-wrap) {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
}

body.theme-obsidiana :is(.stat-card, .quick-btn, .info-pill, .char-card, .post-item, .coin-card) {
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.24) !important;
    transition: transform 180ms ease, border-color 180ms ease, background-color 180ms ease;
}

body.theme-obsidiana :is(.stat-card, .quick-btn, .info-pill, .char-card, .post-item, .coin-card):hover {
    background: #171e23 !important;
    border-color: #56626a !important;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.3) !important;
    transform: translateY(-2px) !important;
}

/* Downloads e autenticacao */
body.theme-obsidiana .download-content > .container { max-width: 940px; }
body.theme-obsidiana .download-content .page-title { margin-bottom: 18px; }
body.theme-obsidiana .download-content .page-title h1 { font-size: 32px; }
body.theme-obsidiana .download-card { max-width: 720px; margin-inline: auto; padding: 20px; }
body.theme-obsidiana .download-card::before { height: 2px !important; }
body.theme-obsidiana .btn-download-primary {
    min-height: 64px;
    padding: 8px 16px !important;
    background: var(--c-red) !important;
    border-color: var(--c-red-bright) !important;
    border-radius: 4px !important;
    box-shadow: none !important;
}

body.theme-obsidiana .btn-download-primary:hover {
    background: #b43b46 !important;
    border-color: #dd6974 !important;
    box-shadow: none !important;
    transform: translateY(-2px) !important;
}

body.theme-obsidiana .btn-download-sec { padding: 8px !important; border-radius: 4px !important; }
body.theme-obsidiana .download-content .google-drive-logo { display: block; width: 42px; height: 42px; object-fit: contain; }
body.theme-obsidiana .download-content .dl-icon { display: flex; align-items: center; justify-content: center; }
body.theme-obsidiana .req-table td { background: rgba(7, 10, 12, 0.68) !important; }
body.theme-obsidiana .download-content .info-section { margin-top: 12px; padding-top: 12px; }
body.theme-obsidiana .download-content .alert-box { margin-bottom: 10px; padding: 8px; }
body.theme-obsidiana .download-content .req-table { border-spacing: 0 2px; }
body.theme-obsidiana .download-content .req-table td { padding: 4px 10px; }
body.theme-obsidiana .download-content .text-center.mt-5 { margin-top: 12px !important; }
body.theme-obsidiana .download-content .text-center.mt-5 > p { color: #fff !important; }

body.theme-obsidiana .register-content {
    padding: 36px 0 52px !important;
}

body.theme-obsidiana .register-content > .container { max-width: 900px; }
body.theme-obsidiana .register-content .rank-overlay-wrap { margin-top: 0; }
body.theme-obsidiana .register-content .rank-hero { margin-bottom: 10px; padding: 12px; }
body.theme-obsidiana .register-content .rank-hero h1 { font-size: 32px; }
body.theme-obsidiana .register-content .rank-hero p { font-size: 16px; }
body.theme-obsidiana .register-content .rank-card { padding: 14px; }
body.theme-obsidiana .register-content :is(.form-grid, .form-grid-2) { gap: 9px; }
body.theme-obsidiana .register-content .field { gap: 4px; }
body.theme-obsidiana .register-content .legado-input-group input { padding: 10px 12px; }
body.theme-obsidiana .register-content .section-title { margin: 10px 0 8px; padding: 8px 10px; }
body.theme-obsidiana .register-content .terms { margin-top: 8px; padding: 10px; }
body.theme-obsidiana .register-content .actions { margin-top: 10px; }
body.theme-obsidiana .login-header img { width: min(190px, 58vw); max-height: 108px; object-fit: contain; }
body.theme-obsidiana .login-card { border-top-width: 2px !important; }

/* Painel da conta */
body.theme-obsidiana .dashboard-container { min-height: calc(100vh - 72px); }
body.theme-obsidiana .dash-hero {
    min-height: 164px;
    padding: 28px !important;
    background: linear-gradient(100deg, rgba(14, 19, 23, 0.90), rgba(18, 23, 27, 0.84)) !important;
}

body.theme-obsidiana .sidebar-header { background: #0d1215 !important; border-color: var(--c-line) !important; }
body.theme-obsidiana .dash-sidebar .dash-menu-box {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
}
body.theme-obsidiana .menu-user-header { background: #121417 !important; border-color: var(--c-line) !important; }
body.theme-obsidiana .menu-avatar-circle { background: #0a0e11 !important; border-color: var(--c-gold-dark) !important; box-shadow: none !important; }
body.theme-obsidiana .cash-badge { background: #17150d !important; border-color: var(--c-gold-dark) !important; border-radius: 4px !important; box-shadow: none !important; }
body.theme-obsidiana .stat-card::after { background: var(--c-gold) !important; box-shadow: none !important; }
body.theme-obsidiana .stat-icon { background: #11171b !important; border-color: var(--c-line) !important; border-radius: 4px !important; }
body.theme-obsidiana .quick-btn { color: var(--c-text-soft) !important; }
body.theme-obsidiana .quick-btn i { color: var(--c-gold) !important; text-shadow: none !important; }
body.theme-obsidiana .activity-header { border-color: var(--c-line) !important; color: var(--c-gold-bright) !important; }
body.theme-obsidiana .activity-row { border-color: var(--c-line-soft) !important; color: var(--c-text-muted) !important; }
body.theme-obsidiana .promo-banner {
    border-left: 3px solid var(--c-red) !important;
    background: #14191d !important;
}

body.theme-obsidiana .promo-banner::after { display: none !important; }

body.theme-obsidiana .discord-support-card {
    padding: 18px;
    text-align: center;
    background: rgba(15, 20, 24, 0.9);
    border: 1px solid var(--c-line);
    border-radius: 6px;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.24);
}

body.theme-obsidiana .discord-support-icon {
    display: block;
    margin-bottom: 8px;
    color: #7289da;
    font-size: 30px;
    line-height: 1;
}

body.theme-obsidiana .discord-support-card p {
    margin: 0 0 14px;
    color: #c7cdcf;
    font-size: 13px;
    line-height: 1.45;
}

body.theme-obsidiana .discord-support-link {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 8px 12px;
    color: #dbe3ff;
    background: #171d28;
    border: 1px solid #5f73bf;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
}

body.theme-obsidiana .discord-support-link:hover {
    color: #fff;
    background: #26345f;
    border-color: #8497df;
    transform: translateY(-1px);
}

/* Loja e checkout */
body.theme-obsidiana .promo-hero {
    padding: 38px 28px !important;
    background: linear-gradient(100deg, rgba(14, 19, 23, 0.90), rgba(18, 23, 27, 0.84)) !important;
    border: 1px solid var(--c-line) !important;
    border-left: 3px solid var(--c-red) !important;
    border-radius: 6px !important;
    box-shadow: var(--shadow-panel) !important;
}

body.theme-obsidiana .promo-hero::before { display: none !important; }
body.theme-obsidiana .promo-title { color: var(--c-text) !important; font-size: clamp(30px, 4vw, 42px) !important; text-shadow: 0 6px 22px rgba(0, 0, 0, 0.65) !important; }
body.theme-obsidiana .promo-title span { color: var(--c-gold-bright) !important; }
body.theme-obsidiana .promo-badge { background: var(--c-red) !important; border-color: var(--c-red-bright) !important; }
body.theme-obsidiana .coin-card.featured { animation: none !important; transform: none !important; border-width: 1px !important; }
body.theme-obsidiana .coin-card.featured:hover { transform: translateY(-2px) !important; }
body.theme-obsidiana :is(.bonus-strip, .payment-option) { background: #0d1215 !important; border-color: var(--c-line) !important; }
body.theme-obsidiana .tag-badge { background: var(--c-red) !important; }
body.theme-obsidiana .tag-vip { background: var(--c-gold) !important; color: #15130d !important; }
body.theme-obsidiana .btn-purchase {
    border-radius: 4px !important;
    letter-spacing: 0 !important;
    box-shadow: none !important;
}
body.theme-obsidiana .featured .btn-purchase {
    background: var(--c-gold) !important;
    border: 1px solid var(--c-gold-bright) !important;
    color: #15130d !important;
}
body.theme-obsidiana .featured .btn-purchase:hover {
    background: var(--c-gold-bright) !important;
    box-shadow: none !important;
    transform: translateY(-1px) !important;
}

body.theme-obsidiana .shop-grid {
    grid-template-columns: repeat(auto-fit, minmax(205px, 225px));
    justify-content: center;
    gap: 16px;
}
body.theme-obsidiana .shop-grid .card-header-visual { padding: 12px 14px 4px; }
body.theme-obsidiana .shop-grid .coin-img-wrapper { height: 44px; margin-bottom: 6px; }
body.theme-obsidiana .shop-grid .coin-icon { font-size: 32px; }
body.theme-obsidiana .shop-grid .coin-card.featured .coin-icon { font-size: 38px; }
body.theme-obsidiana .shop-grid .amount-display { font-size: 26px; }
body.theme-obsidiana .shop-grid .currency-name { font-size: 10px; }
body.theme-obsidiana .shop-grid .bonus-strip { margin: 7px 0; padding: 6px; }
body.theme-obsidiana .shop-grid .bonus-val { font-size: 11px; }
body.theme-obsidiana .shop-grid .card-footer-action { padding: 11px; }
body.theme-obsidiana .shop-grid .price-tag { margin-bottom: 6px; font-size: 20px; }
body.theme-obsidiana .shop-grid .btn-purchase { min-height: 36px; padding: 7px; font-size: 12px; }

body.theme-obsidiana .top-donor-card {
    padding: 20px 16px;
    text-align: center;
    background: rgba(17, 22, 26, 0.96);
    border: 1px solid var(--c-gold-dark);
    border-radius: 6px;
    box-shadow: var(--shadow-panel);
}
body.theme-obsidiana .top-donor-period {
    display: block;
    margin-bottom: 9px;
    color: var(--c-gold);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}
body.theme-obsidiana .top-donor-filter { margin: 0 0 11px; }
body.theme-obsidiana .top-donor-filter select {
    width: 100%;
    min-height: 34px;
    padding: 6px 28px 6px 9px;
    color: var(--c-gold);
    background: #0b1013;
    border: 1px solid var(--c-gold-dark);
    border-radius: 4px;
    font-size: 11px;
    font-weight: 800;
    text-align: center;
    text-transform: uppercase;
    cursor: pointer;
}
body.theme-obsidiana .top-donor-filter select:focus {
    outline: none;
    border-color: var(--c-gold);
    box-shadow: 0 0 0 3px rgba(215, 185, 111, 0.12);
}
body.theme-obsidiana .top-donor-icon {
    display: block;
    margin-bottom: 8px;
    color: var(--c-gold);
    font-size: 34px;
    line-height: 1;
}
body.theme-obsidiana .top-donor-card h5 {
    margin: 0 0 8px;
    color: var(--c-text);
    font-family: var(--font-title);
    font-size: 16px;
    font-weight: 800;
}
body.theme-obsidiana .top-donor-name {
    color: #fff;
    font-size: 15px;
    font-weight: 800;
}
body.theme-obsidiana .top-donor-total {
    display: inline-flex;
    margin-top: 7px;
    padding: 5px 10px;
    color: var(--c-gold-bright);
    background: #17150d;
    border: 1px solid var(--c-gold-dark);
    border-radius: 4px;
    font-size: 14px;
    font-weight: 900;
}
body.theme-obsidiana .top-donor-empty { color: var(--c-text); font-size: 13px; font-weight: 700; }
body.theme-obsidiana .top-donor-card p { margin: 9px 0 0; color: var(--c-text-muted); font-size: 12px; line-height: 1.45; }

body.theme-obsidiana .dash-sidebar .menu-group-title { font-size: 12px; }
body.theme-obsidiana .dash-sidebar .menu-link {
    min-height: 47px;
    padding: 11px 20px;
    font-size: 14px;
    font-weight: 600;
}
body.theme-obsidiana .dash-sidebar .menu-link i { font-size: 17px; }
body.theme-obsidiana .dash-sidebar .menu-avatar-circle { border-color: var(--c-gold-dark) !important; }
body.theme-obsidiana .dash-sidebar .menu-avatar-circle i { color: #d7b96f !important; }
body.theme-obsidiana .dash-sidebar .cash-badge {
    color: #d7b96f !important;
    border-color: var(--c-gold-dark) !important;
}
body.theme-obsidiana .dash-sidebar .cash-badge i,
body.theme-obsidiana .dash-sidebar .menu-link[href="/shop/coin"],
body.theme-obsidiana .dash-sidebar .menu-link[href="/shop/coin"] i {
    color: #d7b96f !important;
}

body.theme-obsidiana .wiki-external-icon {
    margin-left: 4px;
    color: var(--c-gold-bright);
    font-size: 11px;
    line-height: 1;
}

/* Conteudo editorial e apresentacao */
body.theme-obsidiana .posts-card { padding: 14px; }
body.theme-obsidiana .posts-card::before { display: none !important; }
body.theme-obsidiana .post-item { overflow: hidden; }
body.theme-obsidiana .post-header { margin-bottom: 28px; }
body.theme-obsidiana .post-grid { gap: 28px; }
body.theme-obsidiana .reading-box { padding: 42px; }
body.theme-obsidiana .post-body { color: #d9dedd !important; text-shadow: none !important; }
body.theme-obsidiana .meta-badge { background: var(--c-red-dark) !important; border-color: var(--c-red-bright) !important; box-shadow: none !important; }

body.theme-obsidiana .pres-wrap::before { display: none !important; }
body.theme-obsidiana .pres-container { position: relative; z-index: 1; }
body.theme-obsidiana .hero-card { background: rgba(10, 14, 17, 0.88) !important; }
body.theme-obsidiana .quick-nav { background: rgba(10, 14, 17, 0.88) !important; }
body.theme-obsidiana :is(.info-pill, .class-card, .section-card) { box-shadow: 0 10px 28px rgba(0, 0, 0, 0.22) !important; }

/* Rankings */
body.theme-obsidiana .rank-tabs { gap: 6px; }
body.theme-obsidiana .rank-tab {
    min-height: 38px;
    padding: 8px 13px;
    background: #11161a;
    border: 1px solid var(--c-line);
    border-radius: 4px;
    color: #b6bdbe;
}

body.theme-obsidiana .rank-tab:hover { border-color: var(--c-gold-dark); color: var(--c-gold-bright); }
body.theme-obsidiana .rank-tab.active { background: var(--c-red-dark); border-color: var(--c-red-bright); color: #fff; }

body.theme-obsidiana :is(.rank-table, .req-table, table) { color: var(--c-text-soft); }
body.theme-obsidiana :is(.rank-table, table) thead th {
    background: #0e1316;
    border-color: var(--c-line);
    color: var(--c-gold-bright);
    text-transform: none;
}

body.theme-obsidiana :is(.rank-table, table) tbody td { border-color: var(--c-line-soft); }
body.theme-obsidiana :is(.rank-table, table) tbody tr { background: rgba(12, 16, 19, 0.66); }
body.theme-obsidiana :is(.rank-table, table) tbody tr:hover { background: #171e23; }

body.theme-obsidiana :is(.rank-badge, .pvm-badge, .mini-pill, .rank-pill, .page-pill, .page-chip, .chip, .tag, .badge-lvl) {
    border-radius: 4px;
    border-color: #3a454c;
    background: #141a1e;
    color: var(--c-text);
    box-shadow: none;
}

body.theme-obsidiana .score-badge,
body.theme-obsidiana .mini-pill-solid { border-color: var(--c-gold-dark); background: #302610; color: var(--c-gold-bright); }
body.theme-obsidiana .medal.gold,
body.theme-obsidiana .rank-medal.gold { color: #17130b; background: var(--c-gold); }
body.theme-obsidiana .rank-pagination { gap: 8px; }

/* Padrao visual unico para PvP, PvM, Ranked e Guildas */
body.theme-obsidiana .ranking-unified .rank-overlay-wrap {
    position: relative;
    max-width: 100%;
    margin-top: 8px;
}

body.theme-obsidiana .ranking-unified .rank-hero {
    margin-bottom: 14px;
}

body.theme-obsidiana .ranking-unified .rank-hero h1 {
    margin: 0;
    font-family: var(--font-title);
    font-size: 30px;
    font-weight: 500;
    line-height: 36px;
    letter-spacing: 0;
    text-transform: none;
}

body.theme-obsidiana .ranking-unified .rank-hero p {
    margin: 6px 0 16px;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.55;
    letter-spacing: 0;
}

body.theme-obsidiana .ranking-unified .rank-tabs {
    justify-content: center;
    margin: 12px 0 14px;
}

body.theme-obsidiana .ranking-unified .rank-tab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0;
}

body.theme-obsidiana .ranking-unified .rank-tools {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
    margin: 6px 0 16px;
}

body.theme-obsidiana .ranking-unified :is(.rank-input, .rank-select, .rank-btn) {
    min-height: 40px;
    border-radius: 4px;
}

body.theme-obsidiana .ranking-unified .rank-card {
    position: relative;
    padding: 10px;
    overflow: hidden;
}

body.theme-obsidiana .ranking-unified .rank-card::before {
    display: none;
}

body.theme-obsidiana .ranking-unified .content-bg {
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
}

body.theme-obsidiana .ranking-unified .rank-table-scroll {
    position: relative;
    overflow-x: auto;
    padding-bottom: 10px;
    border-radius: 4px;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-inline: contain;
}

body.theme-obsidiana .ranking-unified .rank-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 7px;
    border-radius: 0;
}

body.theme-obsidiana .ranking-ranked-page .rank-table { min-width: 1100px; }
body.theme-obsidiana .ranking-pvm-page .rank-table { min-width: 940px; }
body.theme-obsidiana .ranking-pvp-page .rank-table { min-width: 1050px; }
body.theme-obsidiana .ranking-guild-page .rank-table { min-width: 760px; }

body.theme-obsidiana .ranking-unified .rank-table thead th {
    padding: 7px 8px;
    background: #0e1316;
    border-bottom: 1px solid var(--c-line);
    color: var(--c-gold-bright);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
    white-space: nowrap;
}

body.theme-obsidiana .ranking-unified .rank-table tbody tr,
body.theme-obsidiana .ranking-unified .rank-table tbody tr.top-1,
body.theme-obsidiana .ranking-unified .rank-table tbody tr.top-2,
body.theme-obsidiana .ranking-unified .rank-table tbody tr.top-3 {
    background: rgba(12, 16, 19, 0.78);
    box-shadow: inset 0 0 0 1px var(--c-line-soft);
    transition: background-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

body.theme-obsidiana .ranking-unified .rank-table tbody tr:hover {
    background: #171e23;
    box-shadow: inset 0 0 0 1px var(--c-gold-dark);
    transform: translateY(-1px);
}

body.theme-obsidiana .ranking-unified .rank-table tbody tr.top-1 > * {
    background: rgba(216, 182, 86, 0.16) !important;
    box-shadow: inset 0 1px 0 rgba(216, 182, 86, 0.48), inset 0 -1px 0 rgba(216, 182, 86, 0.30);
}

body.theme-obsidiana .ranking-unified .rank-table tbody tr.top-2 > * {
    background: rgba(200, 208, 212, 0.11) !important;
    box-shadow: inset 0 1px 0 rgba(200, 208, 212, 0.34), inset 0 -1px 0 rgba(200, 208, 212, 0.22);
}

body.theme-obsidiana .ranking-unified .rank-table tbody tr.top-3 > * {
    background: rgba(185, 111, 67, 0.14) !important;
    box-shadow: inset 0 1px 0 rgba(185, 111, 67, 0.42), inset 0 -1px 0 rgba(185, 111, 67, 0.26);
}

body.theme-obsidiana .ranking-unified .rank-table tbody tr.top-1:hover > * { background: rgba(216, 182, 86, 0.22) !important; }
body.theme-obsidiana .ranking-unified .rank-table tbody tr.top-2:hover > * { background: rgba(200, 208, 212, 0.16) !important; }
body.theme-obsidiana .ranking-unified .rank-table tbody tr.top-3:hover > * { background: rgba(185, 111, 67, 0.20) !important; }

body.theme-obsidiana .ranking-unified .rank-table tbody :is(td, th[scope="row"]) {
    padding: 8px 7px;
    border: 0;
    color: var(--c-text-soft);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.55;
    vertical-align: middle;
    white-space: nowrap;
}

body.theme-obsidiana .ranking-unified .rank-table :is(td, th):first-child { border-radius: 4px 0 0 4px; }
body.theme-obsidiana .ranking-unified .rank-table :is(td, th):last-child { border-radius: 0 4px 4px 0; }

body.theme-obsidiana .ranking-unified .col-name {
    min-width: 170px;
    max-width: 230px;
    color: #fff;
    font-size: 16px;
    font-weight: 900;
    line-height: 1.55;
    letter-spacing: 0;
    white-space: normal !important;
    overflow-wrap: anywhere;
}

body.theme-obsidiana .ranking-pvm-page .rank-table :is(.col-rank, .col-name),
body.theme-obsidiana .ranking-pvp-page .rank-table :is(.sticky-rank, .sticky-name) {
    position: static;
    left: auto;
    z-index: auto;
    background: transparent;
    box-shadow: none;
}

body.theme-obsidiana .ranking-pvm-page .rank-table .name-wrap {
    min-width: 0;
    color: #fff;
    font-size: 16px;
    font-weight: 900;
    line-height: 1.55;
    letter-spacing: 0;
}

body.theme-obsidiana .ranking-pvm-page .rank-table .name-wrap > * {
    color: inherit !important;
    font: inherit;
}

body.theme-obsidiana .ranking-guild-page .rank-table tbody td {
    height: 107px;
}

body.theme-obsidiana .ranking-guild-page .guild-cell {
    min-width: 260px;
}

body.theme-obsidiana .ranking-unified .rank-num,
body.theme-obsidiana .ranking-unified .medal {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    margin: 0;
    border: 1px solid var(--c-gold-dark);
    border-radius: 50%;
    font-size: 16px;
    font-weight: 900;
    line-height: 1.55;
}

body.theme-obsidiana .ranking-unified .rank-num {
    border-radius: 4px;
    background: #141a1e;
    color: var(--c-gold-bright);
}

body.theme-obsidiana .ranking-unified .medal.gold { color: #221806; background: #d8b656; }
body.theme-obsidiana .ranking-unified .medal.silver { color: #101416; background: #c8d0d4; border-color: #e4e9eb; }
body.theme-obsidiana .ranking-unified .medal.bronze { color: #1d0d06; background: #b96f43; border-color: #d78a5b; }

body.theme-obsidiana .ranking-unified .rank-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 48px;
    min-height: 28px;
    padding: 4px 7px;
    border: 1px solid #3a454c;
    border-radius: 4px;
    background: #141a1e;
    color: var(--c-text);
    font-size: 16px;
    font-weight: 900;
    line-height: 1.55;
}

body.theme-obsidiana .ranking-unified .empire-flag img {
    width: 34px;
    height: 21px;
    max-width: 34px;
    max-height: 21px;
    object-fit: cover;
}

body.theme-obsidiana .ranking-unified .score-badge {
    border-color: var(--c-gold-dark);
    background: #302610;
    color: var(--c-gold-bright);
}

body.theme-obsidiana .ranking-unified .guild-cell {
    display: flex;
    align-items: center;
    gap: 14px;
}

body.theme-obsidiana .ranking-unified .guild-emblem {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 82px;
    height: 82px;
    flex: 0 0 82px;
    border: 1px solid var(--c-gold-dark);
    border-radius: 4px;
    background: #17150d;
    color: var(--c-gold-bright);
    font-size: 30px;
    line-height: 1;
}

body.theme-obsidiana .ranking-unified .guild-name {
    color: #fff;
    font-size: 16px;
    font-weight: 900;
    line-height: 1.55;
    letter-spacing: 0;
}

body.theme-obsidiana .ranking-unified .rank-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 14px;
}

body.theme-obsidiana .ranking-unified :is(.page-pill, .page-chip) {
    min-height: 38px;
    padding: 8px 12px;
    font-size: 13px;
    font-weight: 900;
}

body.theme-obsidiana .ranking-unified .empty-rank {
    padding: 36px 12px;
    color: var(--c-text-muted);
    text-align: center;
    font-weight: 700;
}

/* Loja, conta, pedidos e conteudo */
body.theme-obsidiana .coin-card.featured { border-color: var(--c-gold-dark); }
body.theme-obsidiana :is(.menu-link, .quick-link, .quick-btn) { border-radius: 4px; }
body.theme-obsidiana .menu-link:hover,
body.theme-obsidiana .menu-link.active { background: #1b2227; color: var(--c-gold-bright); }

body.theme-obsidiana :is(.news-block, .post-card) {
    background: #101519;
    border-color: var(--c-line);
    border-radius: 4px;
}

body.theme-obsidiana .news-block:hover { background: #171d21; border-color: var(--c-gold-dark); }
body.theme-obsidiana .news-date { color: var(--c-red-bright); }
body.theme-obsidiana .alert-box { background: #17150d; border-color: var(--c-gold); border-radius: 4px; }
body.theme-obsidiana .alert-title { color: var(--c-gold-bright); }

/* Rodape */
body.theme-obsidiana .legado-footer {
    margin-top: 64px;
    padding: 48px 0 28px;
    background: #090c0e;
    border-top: 1px solid var(--c-line);
}

body.theme-obsidiana .legado-footer::before { display: none; }
body.theme-obsidiana .footer-title { font-size: 17px; }

body.theme-obsidiana .social-icon {
    width: 40px;
    height: 40px;
    margin: 0;
    background: #12171b;
    border-color: var(--c-line);
    border-radius: 4px;
}

body.theme-obsidiana .social-icon:hover {
    background: var(--c-red-dark);
    border-color: var(--c-red-bright);
    transform: translateY(-2px);
}

body.theme-obsidiana .floating-contacts {
    right: 24px;
    bottom: 24px;
    gap: 10px;
}

body.theme-obsidiana .float-contact {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.35);
    font-size: 24px;
}

body.theme-obsidiana .float-whatsapp { background: var(--c-jade-dark); border: 1px solid var(--c-jade); }
body.theme-obsidiana .float-whatsapp:hover { background: #2e805d; transform: translateY(-2px); }
body.theme-obsidiana .float-discord { background: #4d58c7; border: 1px solid #7a86f3; }
body.theme-obsidiana .float-discord:hover { background: #5d69dc; transform: translateY(-2px); }

@media (max-width: 1199px) {
    body.theme-obsidiana .nav-link { margin: 0 4px; font-size: 13px; }
}

@media (min-width: 1600px) and (max-height: 950px) {
    body.theme-obsidiana .hero-section,
    body.theme-obsidiana .hero-section .container {
        min-height: max(760px, calc(100vh - 157px));
    }
}

body.theme-obsidiana .swal2-container.swal2-backdrop-show {
    background: rgba(0, 0, 0, 0.76) !important;
    backdrop-filter: blur(3px);
}

body.theme-obsidiana .swal2-popup {
    width: min(500px, calc(100vw - 28px)) !important;
    padding: 24px 28px 22px !important;
    border: 1px solid rgba(255, 210, 125, 0.28) !important;
    border-radius: 8px !important;
    background:
        linear-gradient(180deg, rgba(18, 24, 27, 0.98), rgba(8, 11, 13, 0.98)) !important;
    box-shadow:
        0 22px 70px rgba(0, 0, 0, 0.72),
        inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
    color: #eef3f5 !important;
}

body.theme-obsidiana .swal2-title {
    padding: 0 !important;
    color: #fff !important;
    font-family: var(--font-body);
    font-size: 19px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    text-shadow: 0 2px 18px rgba(0, 0, 0, 0.55);
}

body.theme-obsidiana .swal2-html-container {
    margin: 16px 0 2px !important;
    color: #b6c0c5 !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
}

body.theme-obsidiana .swal2-popup.swal-account-result {
    width: min(430px, calc(100vw - 28px)) !important;
    padding: 22px 26px 20px !important;
}

body.theme-obsidiana .swal2-popup.swal-account-result .swal2-title {
    font-size: 18px !important;
    line-height: 1.28 !important;
}

body.theme-obsidiana .swal2-popup.swal-account-result .swal2-html-container {
    margin-top: 10px !important;
}

body.theme-obsidiana .swal-account-help {
    margin: 0 0 10px;
    color: #aeb8bd;
    font-size: 12px;
    line-height: 1.35;
}

body.theme-obsidiana .swal2-input,
body.theme-obsidiana .swal2-popup .form-control {
    width: 100% !important;
    height: 42px !important;
    margin: 0 !important;
    border: 1px solid rgba(255, 210, 125, 0.38) !important;
    border-radius: 5px !important;
    background: rgba(3, 7, 9, 0.92) !important;
    color: #fff !important;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.35) !important;
    font-size: 14px !important;
}

body.theme-obsidiana .swal2-input:focus,
body.theme-obsidiana .swal2-popup .form-control:focus {
    border-color: var(--c-gold) !important;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.35) !important;
    outline: none !important;
}

body.theme-obsidiana .swal2-input::placeholder,
body.theme-obsidiana .swal2-popup .form-control::placeholder {
    color: #7f8b91 !important;
}

body.theme-obsidiana .swal2-actions {
    gap: 10px;
    margin-top: 20px !important;
}

body.theme-obsidiana .swal2-styled {
    min-width: 96px;
    min-height: 40px;
    margin: 0 !important;
    border-radius: 5px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0;
}

body.theme-obsidiana .swal2-styled.swal2-confirm {
    background: linear-gradient(180deg, #b82732, #8a0000) !important;
    color: #fff !important;
    box-shadow: 0 10px 24px rgba(138, 0, 0, 0.28) !important;
}

body.theme-obsidiana .swal2-styled.swal2-confirm:hover {
    background: linear-gradient(180deg, #cf3440, #9f0505) !important;
}

body.theme-obsidiana .swal2-styled.swal2-cancel {
    background: rgba(103, 113, 120, 0.72) !important;
    color: #f1f5f6 !important;
}

body.theme-obsidiana .swal2-styled.swal2-cancel:hover {
    background: rgba(124, 136, 143, 0.88) !important;
}

body.theme-obsidiana .swal2-close {
    color: rgba(255, 255, 255, 0.58) !important;
}

body.theme-obsidiana .swal2-validation-message {
    margin: 14px 0 0 !important;
    border: 1px solid rgba(255, 210, 125, 0.2);
    border-radius: 5px;
    background: rgba(138, 0, 0, 0.28) !important;
    color: #ffd6d6 !important;
    font-size: 13px !important;
}

body.theme-obsidiana .swal2-icon.swal2-error {
    border-color: #e15a60 !important;
    color: #e15a60 !important;
}

body.theme-obsidiana .swal2-icon.swal2-info {
    border-color: var(--c-gold) !important;
    color: var(--c-gold) !important;
}

body.theme-obsidiana .swal-warehouse-secret,
body.theme-obsidiana .swal-account-secret {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 150px;
    max-width: min(320px, 100%);
    padding: 8px 14px;
    border: 1px solid rgba(255, 210, 125, 0.42);
    border-radius: 5px;
    background: rgba(3, 7, 9, 0.92);
    color: var(--c-gold);
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0;
    text-align: center;
    overflow-wrap: anywhere;
}

body.theme-obsidiana .swal-warehouse-note,
body.theme-obsidiana .swal-account-note {
    display: block;
    margin-top: 10px;
    color: #8f9ba1;
    font-size: 12px;
}

body.theme-obsidiana .swal-security-alert {
    display: grid;
    grid-template-columns: 34px 1fr;
    gap: 12px;
    align-items: center;
    margin: 0 0 14px;
    padding: 13px 14px;
    border: 1px solid rgba(255, 193, 7, 0.16);
    border-radius: 8px;
    background: rgba(255, 193, 7, 0.05);
    color: #d6dde0;
    font-size: 13px;
    line-height: 1.45;
    text-align: left;
}

body.theme-obsidiana .swal-security-alert i {
    color: #ffc107;
    font-size: 23px;
    text-align: center;
}

body.theme-obsidiana .swal-security-alert strong {
    display: block;
    margin-bottom: 2px;
    color: #f1d48a;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.4px;
    text-transform: uppercase;
}

@media (max-width: 991px) {
    body.theme-obsidiana .emperors-strip {
        grid-template-columns: 1fr;
    }

    body.theme-obsidiana .emperors-header {
        min-height: 0;
        border-right: 0;
        border-bottom: 1px solid var(--c-line);
    }

    body.theme-obsidiana .emperors-grid {
        grid-template-columns: 1fr;
    }

    body.theme-obsidiana .champions-strip {
        grid-template-columns: 1fr;
    }

    body.theme-obsidiana .champions-header {
        min-height: 0;
        border-right: 0;
        border-bottom: 1px solid var(--c-line);
    }

    body.theme-obsidiana .champions-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    body.theme-obsidiana .champion-card-gvg,
    body.theme-obsidiana .champion-card-gvg_sub55,
    body.theme-obsidiana .champion-card-guild-tournament {
        grid-column: span 2;
    }

    body.theme-obsidiana .champion-card-pvp_campeoes,
    body.theme-obsidiana .champion-card-pvp_sub55 {
        grid-column: 1 / -1;
    }

    body.theme-obsidiana .champion-card-pvp_campeoes .champion-list,
    body.theme-obsidiana .champion-card-pvp_sub55 .champion-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.theme-obsidiana .hall-of-fame-grid { grid-template-columns: 1fr; }
    body.theme-obsidiana .hall-podium-guild { min-height: 312px; }

    body.theme-obsidiana > main {
        background-size: 100% 100%, auto 820px;
        background-position: center top, 62% top;
    }

    body.theme-obsidiana .navbar-collapse {
        max-height: calc(100vh - 72px);
        overflow-y: auto;
        margin: 8px -12px -8px;
        padding: 14px 18px 20px;
        background: #0d1114;
        border-bottom: 1px solid var(--c-line);
        border-radius: 0;
    }

    body.theme-obsidiana .navbar-nav { align-items: stretch !important; }
    body.theme-obsidiana .nav-link,
    body.theme-obsidiana .btn-legado {
        width: 100%;
        margin: 2px 0;
        justify-content: flex-start;
        text-align: left;
    }

    body.theme-obsidiana .hero-section { min-height: 760px; padding: 0; }
    body.theme-obsidiana .hero-section .cta-btns { grid-template-columns: 1fr; width: 100%; max-width: 350px; }
    body.theme-obsidiana .hero-headline { font-size: 38px; }
    body.theme-obsidiana .features-bar { grid-template-columns: 1fr; gap: 18px; max-width: 560px; }

    body.theme-obsidiana .feature-item {
        display: grid;
        grid-template-columns: 34px 1fr;
        column-gap: 10px;
        text-align: left;
    }

    body.theme-obsidiana .feature-icon { grid-row: 1 / span 2; }
    body.theme-obsidiana .dash-hero { align-items: flex-start !important; gap: 20px; }
    body.theme-obsidiana .post-grid { grid-template-columns: 1fr; }
}

@media (max-width: 576px) {
    body.theme-obsidiana { font-size: 15px; }
    body.theme-obsidiana .champions-grid { grid-template-columns: 1fr; }
    body.theme-obsidiana .champion-card-gvg,
    body.theme-obsidiana .champion-card-gvg_sub55,
    body.theme-obsidiana .champion-card-guild-tournament,
    body.theme-obsidiana .champion-card-pvp_campeoes,
    body.theme-obsidiana .champion-card-pvp_sub55 {
        grid-column: 1 / -1;
    }
    body.theme-obsidiana .champion-card-pvp_campeoes .champion-list,
    body.theme-obsidiana .champion-card-pvp_sub55 .champion-list {
        grid-template-columns: 1fr;
    }
    body.theme-obsidiana .hall-header { min-height: 0; padding: 16px; align-items: flex-start; flex-direction: column; gap: 11px; }
    body.theme-obsidiana .hall-header h2 { font-size: 21px; }
    body.theme-obsidiana .hall-podium { min-height: 284px; padding: 22px 8px 0; gap: 4px; }
    body.theme-obsidiana .hall-podium-guild { min-height: 284px; padding-top: 10px; }
    body.theme-obsidiana .hall-podium-guild .hall-rank-1 { min-height: 262px; }
    body.theme-obsidiana .hall-place { padding-left: 5px; padding-right: 5px; }
    body.theme-obsidiana .hall-rank-1 { min-height: 252px; }
    body.theme-obsidiana .hall-rank-2 { min-height: 224px; }
    body.theme-obsidiana .hall-rank-3 { min-height: 212px; }
    body.theme-obsidiana .hall-avatar,
    body.theme-obsidiana .hall-guild-mark { width: 54px; height: 54px; }
    body.theme-obsidiana .hall-rank-1 :is(.hall-avatar, .hall-guild-mark) { width: 66px; height: 66px; }
    body.theme-obsidiana .hall-place h3 { font-size: 10px; }
    body.theme-obsidiana .hall-rank-1 h3 { font-size: 14px; }
    body.theme-obsidiana .hall-player-meta { gap: 4px; font-size: 9px; }
    body.theme-obsidiana .hall-empire img { width: 23px; height: 14px; }
    body.theme-obsidiana .hall-score { gap: 4px; }
    body.theme-obsidiana .hall-score span { display: none; }
    body.theme-obsidiana .hall-score strong { font-size: 17px; }
    body.theme-obsidiana .hall-rank-1 .hall-score strong { font-size: 20px; }
    body.theme-obsidiana .hall-ranked-stats span { font-size: 7px; }
    body.theme-obsidiana .hall-ranked-stats strong { font-size: 14px; }
    body.theme-obsidiana .hall-rank-1 .hall-ranked-stats strong { font-size: 16px; }
    body.theme-obsidiana .hall-pedestal { margin-left: -5px; margin-right: -5px; font-size: 9px; }
    body.theme-obsidiana .hall-runners { padding: 8px; }
    body.theme-obsidiana .hall-runner-row { grid-template-columns: 28px 30px minmax(0, 1fr) auto; gap: 7px; }
    body.theme-obsidiana .hall-runner-empire,
    body.theme-obsidiana .hall-runner-level { display: none; }
    body.theme-obsidiana :is(.home-content, .dashboard-container) { padding-top: 34px; padding-bottom: 52px; }
    body.theme-obsidiana .download-content { padding: 34px 0 52px !important; }
    body.theme-obsidiana :is(.rank-hero, .posts-hero, .post-header) { padding: 20px 8px 22px; }
    body.theme-obsidiana :is(.download-card, .reading-box) { padding: 24px 18px !important; }
    body.theme-obsidiana .promo-hero { padding: 30px 18px !important; }
    body.theme-obsidiana .dash-hero { padding: 22px 18px !important; }
    body.theme-obsidiana .hero-section { min-height: 900px; padding: 0; background-position: 72% center; }
    body.theme-obsidiana .hero-section::before { background: rgba(4, 6, 8, 0.62); }
    body.theme-obsidiana .hero-section .container { min-height: 900px; padding-top: 72px; padding-bottom: 38px; }
    body.theme-obsidiana .online-status { top: 20px; left: 18px; }
    body.theme-obsidiana .hero-logo { width: min(210px, 62vw); margin-top: 52px; }
    body.theme-obsidiana .hero-headline { font-size: 33px; }
    body.theme-obsidiana .hero-sub { margin-top: 115px; padding: 0 8px; font-size: 16px; }
    body.theme-obsidiana .cta-btns { max-width: none; padding: 0 6px; }

    body.theme-obsidiana .btn-play,
    body.theme-obsidiana .btn-download-hero,
    body.theme-obsidiana .btn-whatsapp-hero { width: 100%; min-width: 0; }

    body.theme-obsidiana :is(.login-card, .download-card, .rank-card, .form-box, .card) {
        padding-left: 16px;
        padding-right: 16px;
    }

    body.theme-obsidiana .table-scroll,
    body.theme-obsidiana .rank-table-scroll { overflow-x: auto; overscroll-behavior-inline: contain; }
    body.theme-obsidiana .floating-contacts { right: 16px; bottom: 16px; }
    body.theme-obsidiana .page-title h1 { font-size: 30px; }
}

@media (max-width: 767.98px) {
    body.theme-obsidiana {
        overflow-x: hidden;
    }

    body.theme-obsidiana .container {
        max-width: 100%;
        padding-left: 14px;
        padding-right: 14px;
    }

    body.theme-obsidiana :is(input, select, textarea, button, .btn, .btn-legado, .btn-main, .rank-btn, .filter-btn, .btn-play, .btn-download-hero, .btn-whatsapp-hero) {
        min-height: 44px;
    }

    body.theme-obsidiana :is(.rank-tabs, .ranking-unified .rank-tabs, .cash-tabs, .nav-tabs-royal) {
        flex-wrap: nowrap;
        justify-content: flex-start;
        max-width: 100%;
        overflow-x: auto;
        padding-bottom: 6px;
        -webkit-overflow-scrolling: touch;
    }

    body.theme-obsidiana :is(.rank-tab, .cash-tab-label, .nav-tabs-royal .nav-link) {
        flex: 0 0 auto;
        white-space: nowrap;
    }

    body.theme-obsidiana :is(.rank-tools, .ranking-unified .rank-tools, .posts-filter, .download-actions, .form-actions) {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
        width: 100%;
    }

    body.theme-obsidiana :is(.rank-input, .rank-select, .rank-btn, .filter-input, .filter-select, .filter-btn) {
        width: 100%;
    }

    body.theme-obsidiana :is(.table-scroll, .rank-table-scroll, .table-responsive, .cash-table-wrap, .cash-products-table-wrap) {
        max-width: 100%;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        -webkit-overflow-scrolling: touch;
    }

    body.theme-obsidiana :is(.dashboard-grid, .dash-grid, .quick-grid, .character-grid, .stats-grid, .shop-layout, .checkout-layout, .order-layout, .form-grid, .form-grid-2, .posts-grid, .post-grid) {
        grid-template-columns: 1fr !important;
    }

    body.theme-obsidiana :is(.dash-sidebar, .shop-sidebar, .account-sidebar) {
        position: static !important;
        width: 100%;
        max-width: 100%;
    }

    body.theme-obsidiana .shop-grid {
        grid-template-columns: minmax(0, 1fr);
        max-width: 440px;
        margin-left: auto;
        margin-right: auto;
    }

    body.theme-obsidiana :is(.download-card, .login-card, .reading-box, .rank-card, .form-box, .coin-card, .checkout-card, .order-card, .posts-card, .event-card, .mural-card) {
        width: 100%;
        max-width: 100%;
    }

    body.theme-obsidiana .floating-contacts {
        gap: 10px;
    }
}

@media (max-width: 420px) {
    body.theme-obsidiana .hero-logo {
        width: min(190px, 68vw);
    }

    body.theme-obsidiana .hero-sub {
        font-size: 15px;
        line-height: 1.5;
    }

    body.theme-obsidiana .feature-item {
        grid-template-columns: 30px 1fr;
    }

    body.theme-obsidiana .champion-entry,
    body.theme-obsidiana .emperor-entry {
        min-width: 0;
    }

    body.theme-obsidiana .hall-runner-row {
        grid-template-columns: 28px minmax(0, 1fr);
    }

    body.theme-obsidiana .hall-runner-score {
        grid-column: 2;
        justify-self: start;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.theme-obsidiana *,
    body.theme-obsidiana *::before,
    body.theme-obsidiana *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

@media print {
    body.theme-obsidiana { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
    body.theme-obsidiana .floating-contacts { display: none !important; }
}
