@import url('/public/css/themes/season21-dragonforge.css');

/* ═══════════════════════════════════════════════════════════
   Season 21 — Infernal Throne Theme
   Clean single-pass stylesheet — no duplicate rules
   ═══════════════════════════════════════════════════════════ */

/* ── 1. CSS Variables ── */
body.theme-season21-infernal-throne {
    --it21-bg: #0c0504;
    --it21-bg-soft: rgba(12, 5, 6, 0.88);
    --it21-panel: rgba(16, 7, 6, 0.92);
    --it21-panel-strong: rgba(10, 4, 4, 0.97);
    --it21-panel-soft: rgba(24, 10, 8, 0.72);
    --it21-line: rgba(255, 138, 56, 0.18);
    --it21-line-strong: rgba(255, 138, 56, 0.40);
    --it21-gold: #ff8a38;
    --it21-gold-soft: #ffcb8b;
    --it21-text: #f3e2d7;
    --it21-text-dim: #b59887;
    --it21-text-soft: rgba(243, 226, 215, 0.62);
    --it21-green: #44dd44;
    --it21-shadow: 0 12px 40px rgba(0,0,0,0.5);
    --it21-font-head: 'Cinzel', serif;
    --it21-font-ui: 'Exo 2', sans-serif;
    --it21-font-body: 'Source Sans 3', sans-serif;
    --it21-radius: 16px;
    --it21-radius-sm: 10px;

    font-family: var(--it21-font-body);
    font-size: 15px;
    color: var(--it21-text);
    line-height: 1.55;
}

/* Kill legacy-dragon button.jpg on ALL it21- buttons */
body.theme-season21-infernal-throne button[class*="it21-"] {
    background-image: none;
    background-size: auto;
    text-shadow: none;
    box-shadow: none;
    font-family: inherit;
    text-transform: none;
    padding: 0;
}
body.theme-season21-infernal-throne button[class*="it21-"]:hover {
    filter: none;
    box-shadow: none;
}

/* ── 2. Full Body Background (alive / moving) ── */
body.theme-season21-infernal-throne {
    background: var(--it21-bg);
    overflow-x: hidden;
}

/* Video background (MP4) — fixed fullscreen behind everything */
body.theme-season21-infernal-throne .it21-bg-video {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 0;
    min-width: 100vw;
    min-height: 100vh;
    width: auto;
    height: auto;
    object-fit: cover;
    pointer-events: none;
    transition: opacity 1.2s ease-in-out;
}

/* Hide the static image ::before when video is present */
body.theme-season21-infernal-throne[data-has-video="1"]::before {
    display: none;
}

/* Tone down the ::after overlay when video is present so it doesn't double-darken */
body.theme-season21-infernal-throne[data-has-video="1"]::after {
    opacity: 0.35;
    animation: none;
}

body.theme-season21-infernal-throne::before {
    content: '';
    position: fixed;
    inset: 0;
    z-index: 0;
    background: var(--it21-page-bg, none) center top / cover no-repeat;
    filter: brightness(0.70) saturate(1.5) contrast(1.1);
    pointer-events: none;
}

@keyframes it21-bg-drift {
    0%   { transform: scale(1)   translate(0, 0); }
    25%  { transform: scale(1.04) translate(-6px, -4px); }
    50%  { transform: scale(1.02) translate(4px, -8px); }
    75%  { transform: scale(1.05) translate(-3px, 2px); }
    100% { transform: scale(1.03) translate(5px, -3px); }
}

body.theme-season21-infernal-throne::after {
    content: '';
    position: fixed;
    inset: 0;
    z-index: 0;
    background:
        radial-gradient(ellipse at 15% 85%, rgba(255,50,0,0.14) 0%, transparent 55%),
        radial-gradient(ellipse at 85% 15%, rgba(255,100,20,0.10) 0%, transparent 50%),
        radial-gradient(ellipse at 50% 100%, rgba(255,60,0,0.18) 0%, transparent 45%),
        radial-gradient(ellipse at 30% 50%, rgba(255,40,0,0.06) 0%, transparent 40%),
        radial-gradient(ellipse at 70% 70%, rgba(255,80,10,0.08) 0%, transparent 45%),
        linear-gradient(180deg, transparent 0%, rgba(12,5,4,0.10) 30%, rgba(12,5,4,0.50) 75%, var(--it21-bg) 100%);
    pointer-events: none;
    animation: it21-overlay-pulse 10s ease-in-out infinite alternate;
}

@keyframes it21-overlay-pulse {
    0%   { opacity: 0.70; }
    50%  { opacity: 0.95; }
    100% { opacity: 0.80; }
}

/* ── 2a. Floating Ember Particles (12 elements) ── */
body.theme-season21-infernal-throne .it21-bg-embers {
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    overflow: hidden;
}

body.theme-season21-infernal-throne .it21-bg-embers span {
    position: absolute;
    bottom: -20px;
    border-radius: 50%;
    pointer-events: none;
    animation: it21-ember-float linear infinite;
    opacity: 0;
}

@keyframes it21-ember-float {
    0%   { transform: translateY(0) translateX(0) scale(1); opacity: 0; }
    8%   { opacity: 0.95; }
    25%  { opacity: 0.80; }
    50%  { opacity: 0.55; }
    75%  { opacity: 0.25; }
    100% { transform: translateY(-115vh) translateX(var(--drift)) scale(0.25); opacity: 0; }
}

body.theme-season21-infernal-throne .it21-bg-embers span:nth-child(1) {
    left: 5%; width: 5px; height: 5px;
    background: rgba(255,100,20,0.95);
    box-shadow: 0 0 8px 3px rgba(255,80,10,0.7);
    animation-duration: 8s; animation-delay: 0s; --drift: 40px;
}
body.theme-season21-infernal-throne .it21-bg-embers span:nth-child(2) {
    left: 15%; width: 4px; height: 4px;
    background: rgba(255,140,40,0.90);
    box-shadow: 0 0 7px 3px rgba(255,120,30,0.6);
    animation-duration: 10s; animation-delay: 1s; --drift: -50px;
}
body.theme-season21-infernal-throne .it21-bg-embers span:nth-child(3) {
    left: 28%; width: 6px; height: 6px;
    background: rgba(255,70,10,0.90);
    box-shadow: 0 0 10px 4px rgba(255,60,0,0.6);
    animation-duration: 7s; animation-delay: 2.5s; --drift: 55px;
}
body.theme-season21-infernal-throne .it21-bg-embers span:nth-child(4) {
    left: 40%; width: 4px; height: 4px;
    background: rgba(255,160,60,0.95);
    box-shadow: 0 0 6px 2px rgba(255,130,40,0.7);
    animation-duration: 12s; animation-delay: 0.5s; --drift: -30px;
}
body.theme-season21-infernal-throne .it21-bg-embers span:nth-child(5) {
    left: 55%; width: 5px; height: 5px;
    background: rgba(255,90,15,0.90);
    box-shadow: 0 0 9px 3px rgba(255,80,10,0.6);
    animation-duration: 9s; animation-delay: 3.5s; --drift: 45px;
}
body.theme-season21-infernal-throne .it21-bg-embers span:nth-child(6) {
    left: 65%; width: 4px; height: 4px;
    background: rgba(255,120,30,0.88);
    box-shadow: 0 0 7px 3px rgba(255,100,20,0.6);
    animation-duration: 11s; animation-delay: 2s; --drift: -60px;
}
body.theme-season21-infernal-throne .it21-bg-embers span:nth-child(7) {
    left: 75%; width: 6px; height: 6px;
    background: rgba(255,80,10,0.85);
    box-shadow: 0 0 10px 4px rgba(255,60,0,0.55);
    animation-duration: 8.5s; animation-delay: 4.5s; --drift: 50px;
}
body.theme-season21-infernal-throne .it21-bg-embers span:nth-child(8) {
    left: 85%; width: 4px; height: 4px;
    background: rgba(255,150,50,0.95);
    box-shadow: 0 0 6px 2px rgba(255,130,40,0.65);
    animation-duration: 13s; animation-delay: 0.8s; --drift: -35px;
}
body.theme-season21-infernal-throne .it21-bg-embers span:nth-child(9) {
    left: 92%; width: 5px; height: 5px;
    background: rgba(255,100,20,0.90);
    box-shadow: 0 0 8px 3px rgba(255,80,10,0.6);
    animation-duration: 9.5s; animation-delay: 3s; --drift: 25px;
}
body.theme-season21-infernal-throne .it21-bg-embers span:nth-child(10) {
    left: 35%; width: 3px; height: 3px;
    background: rgba(255,180,80,0.95);
    box-shadow: 0 0 5px 2px rgba(255,160,60,0.7);
    animation-duration: 14s; animation-delay: 5.5s; --drift: -18px;
}
body.theme-season21-infernal-throne .it21-bg-embers span:nth-child(11) {
    left: 50%; width: 7px; height: 7px;
    background: rgba(255,60,0,0.80);
    box-shadow: 0 0 14px 5px rgba(255,50,0,0.5);
    animation-duration: 6.5s; animation-delay: 1.5s; --drift: 70px;
}
body.theme-season21-infernal-throne .it21-bg-embers span:nth-child(12) {
    left: 10%; width: 3px; height: 3px;
    background: rgba(255,200,100,0.95);
    box-shadow: 0 0 5px 2px rgba(255,180,70,0.7);
    animation-duration: 15s; animation-delay: 6.5s; --drift: -25px;
}

/* ── 2b. Fire Ember Particles (CSS-only) ── */
body.theme-season21-infernal-throne .it21-site::before,
body.theme-season21-infernal-throne .it21-site::after {
    content: '';
    position: fixed;
    bottom: 0;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
    opacity: 0;
}

body.theme-season21-infernal-throne .it21-site::before {
    left: 10%;
    width: 8px;
    height: 8px;
    background: radial-gradient(circle, rgba(255,120,20,1) 0%, rgba(255,60,0,0.5) 60%, transparent 100%);
    box-shadow:
        0 0 10px 4px rgba(255,100,20,0.7),
        100px 30px 6px 2px rgba(255,80,10,0.5),
        250px -25px 7px 3px rgba(255,120,30,0.45),
        450px 50px 5px 2px rgba(255,90,20,0.4),
        650px -35px 6px 3px rgba(255,110,20,0.45),
        850px 40px 7px 2px rgba(255,70,10,0.5),
        1000px -45px 5px 2px rgba(255,100,20,0.35);
    animation: it21-embers-rise-1 7s ease-in infinite;
}

body.theme-season21-infernal-throne .it21-site::after {
    right: 15%;
    width: 7px;
    height: 7px;
    background: radial-gradient(circle, rgba(255,80,10,0.95) 0%, rgba(255,40,0,0.4) 60%, transparent 100%);
    box-shadow:
        0 0 8px 3px rgba(255,90,10,0.6),
        -70px 25px 6px 2px rgba(255,60,0,0.45),
        -180px -35px 5px 2px rgba(255,100,20,0.4),
        -350px 45px 7px 3px rgba(255,80,10,0.5),
        -550px -25px 6px 2px rgba(255,70,10,0.4),
        -750px 30px 5px 3px rgba(255,110,30,0.45);
    animation: it21-embers-rise-2 9s ease-in 1.5s infinite;
}

@keyframes it21-embers-rise-1 {
    0%   { transform: translateY(0) scale(1);   opacity: 0; }
    8%   { opacity: 0.95; }
    30%  { opacity: 0.75; }
    55%  { opacity: 0.45; transform: translateY(-45vh) scale(0.7) translateX(25px); }
    80%  { opacity: 0.20; transform: translateY(-75vh) scale(0.45) translateX(40px); }
    100% { opacity: 0;   transform: translateY(-105vh) scale(0.15) translateX(55px); }
}

@keyframes it21-embers-rise-2 {
    0%   { transform: translateY(0) scale(1);   opacity: 0; }
    8%   { opacity: 0.90; }
    35%  { opacity: 0.65; }
    60%  { opacity: 0.35; transform: translateY(-50vh) scale(0.6) translateX(-35px); }
    85%  { opacity: 0.15; transform: translateY(-80vh) scale(0.35) translateX(-55px); }
    100% { opacity: 0;   transform: translateY(-105vh) scale(0.12) translateX(-65px); }
}

/* ── 2c. Animated Fire Glow on Body ── */
body.theme-season21-infernal-throne {
    animation: it21-fire-ambient 5s ease-in-out infinite;
}

@keyframes it21-fire-ambient {
    0%, 100% { background: #0c0504; }
    30%      { background: #120805; }
    50%      { background: #160a04; }
    70%      { background: #130905; }
}

/* ── 2d. Lava-Rim Glow — bottom of viewport ── */
body.theme-season21-infernal-throne .it21-bg-embers::before {
    content: '';
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    height: 220px;
    z-index: 0;
    background:
        radial-gradient(ellipse at 25% 100%, rgba(255,50,0,0.22) 0%, transparent 60%),
        radial-gradient(ellipse at 75% 100%, rgba(255,80,10,0.18) 0%, transparent 55%),
        radial-gradient(ellipse at 50% 100%, rgba(255,60,0,0.25) 0%, transparent 50%);
    filter: blur(30px);
    pointer-events: none;
    animation: it21-lava-rim 6s ease-in-out infinite alternate;
}

@keyframes it21-lava-rim {
    0%   { opacity: 0.5; transform: scaleY(1); }
    50%  { opacity: 0.9; transform: scaleY(1.15); }
    100% { opacity: 0.6; transform: scaleY(0.95); }
}

/* ── 2e. Floating Heat Haze — large soft orbs ── */
body.theme-season21-infernal-throne .it21-bg-embers::after {
    content: '';
    position: fixed;
    inset: 0;
    z-index: 0;
    background:
        radial-gradient(circle 300px at 10% 60%, rgba(255,60,0,0.07) 0%, transparent 100%),
        radial-gradient(circle 250px at 90% 40%, rgba(255,100,20,0.05) 0%, transparent 100%),
        radial-gradient(circle 350px at 50% 80%, rgba(255,40,0,0.06) 0%, transparent 100%);
    pointer-events: none;
    animation: it21-heat-haze 14s ease-in-out infinite alternate;
}

@keyframes it21-heat-haze {
    0%   { opacity: 0.4; transform: scale(1) translateY(0); }
    50%  { opacity: 0.8; transform: scale(1.05) translateY(-10px); }
    100% { opacity: 0.5; transform: scale(0.98) translateY(5px); }
}

/* ── 3. Site Container ── */
body.theme-season21-infernal-throne .it21-site {
    position: relative;
    z-index: 1;
    width: min(1280px, calc(100vw - 24px));
    margin: 0 auto;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

/* ── 4. Header ── */
body.theme-season21-infernal-throne .it21-header {
    position: sticky;
    top: 0;
    z-index: 100;
    background:
        linear-gradient(180deg,
            rgba(6,2,1,0.98) 0%,
            rgba(12,4,3,0.96) 50%,
            rgba(16,5,3,0.93) 100%
        );
    backdrop-filter: blur(16px) saturate(1.3);
    box-shadow:
        0 2px 20px rgba(0,0,0,0.7),
        0 6px 40px rgba(0,0,0,0.35),
        inset 0 -1px 0 rgba(255,100,30,0.06);
}

/* Fire accent lines — top */
body.theme-season21-infernal-throne .it21-header__fireline {
    height: 2px;
    position: relative;
    background: linear-gradient(90deg,
        transparent 0%,
        rgba(180,50,0,0.35) 5%,
        rgba(255,100,20,0.75) 18%,
        rgba(255,180,60,0.95) 35%,
        rgba(255,220,120,1) 50%,
        rgba(255,180,60,0.95) 65%,
        rgba(255,100,20,0.75) 82%,
        rgba(180,50,0,0.35) 95%,
        transparent 100%
    );
    box-shadow:
        0 0 5px rgba(255,100,20,0.6),
        0 0 12px rgba(255,60,0,0.35),
        0 0 30px rgba(255,80,0,0.1),
        0 2px 6px rgba(255,120,40,0.25);
    animation: it21-fireline-breathe 4s ease-in-out infinite;
}

body.theme-season21-infernal-throne .it21-header__fireline::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg,
        transparent 10%,
        rgba(255,255,200,0.3) 48%,
        rgba(255,255,200,0.4) 50%,
        rgba(255,255,200,0.3) 52%,
        transparent 90%
    );
    animation: it21-fireline-sweep 6s ease-in-out infinite;
}

body.theme-season21-infernal-throne .it21-header__fireline--bottom {
    height: 1px;
    box-shadow:
        0 1px 8px rgba(255,100,20,0.4),
        0 0 16px rgba(255,60,0,0.15);
}

@keyframes it21-fireline-breathe {
    0%, 100% { opacity: 0.75; filter: brightness(0.95); }
    50%      { opacity: 1; filter: brightness(1.1); }
}

@keyframes it21-fireline-sweep {
    0%, 100% { transform: translateX(-30%); opacity: 0; }
    40%      { opacity: 1; }
    60%      { opacity: 1; }
    50%      { transform: translateX(30%); }
}

/* Main navigation bar */
body.theme-season21-infernal-throne .it21-topline {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 48px;
    padding: 0 20px;
    background: none;
    border: none;
    border-radius: 0;
    gap: 0;
    position: relative;
    z-index: 20;
}

/* Subtle inner shadow for depth */
body.theme-season21-infernal-throne .it21-topline::before,
body.theme-season21-infernal-throne .it21-topline::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: 120px;
    pointer-events: none;
    z-index: 1;
}

body.theme-season21-infernal-throne .it21-topline::before {
    left: 0;
    background: linear-gradient(90deg, rgba(255,80,10,0.04) 0%, transparent 100%);
}

body.theme-season21-infernal-throne .it21-topline::after {
    right: 0;
    background: linear-gradient(270deg, rgba(255,80,10,0.04) 0%, transparent 100%);
}

body.theme-season21-infernal-throne .it21-brandmark {
    display: none;
}

/* Center diamond emblem — molten core */
body.theme-season21-infernal-throne .it21-header__emblem {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    flex-shrink: 0;
    position: relative;
    z-index: 2;
    overflow: visible;
}

body.theme-season21-infernal-throne .it21-header__diamond {
    display: block;
    width: 10px;
    height: 10px;
    background: linear-gradient(135deg, #ffa040 0%, #ffe8b0 40%, #fff4d6 50%, #ffe8b0 60%, #ff8020 100%);
    transform: rotate(45deg);
    box-shadow:
        0 0 6px rgba(255,160,60,0.9),
        0 0 16px rgba(255,100,20,0.4),
        0 0 32px rgba(255,60,0,0.15);
    animation: it21-diamond-pulse 3s ease-in-out infinite;
    position: relative;
}

body.theme-season21-infernal-throne .it21-header__diamond::before {
    content: '';
    position: absolute;
    inset: -3px;
    border: 1px solid rgba(255,180,80,0.25);
    transform: rotate(0deg);
    border-radius: 1px;
    animation: it21-diamond-ring 6s linear infinite;
}

body.theme-season21-infernal-throne .it21-header__emblem::before,
body.theme-season21-infernal-throne .it21-header__emblem::after {
    content: '';
    position: absolute;
    top: 50%;
    height: 1px;
    width: 20px;
    transform: translateY(-50%);
}

body.theme-season21-infernal-throne .it21-header__emblem::before {
    right: calc(50% + 10px);
    background: linear-gradient(90deg, transparent, rgba(255,138,56,0.5));
}

body.theme-season21-infernal-throne .it21-header__emblem::after {
    left: calc(50% + 10px);
    background: linear-gradient(270deg, transparent, rgba(255,138,56,0.5));
}

@keyframes it21-diamond-pulse {
    0%, 100% {
        box-shadow: 0 0 8px rgba(255,160,60,0.7), 0 0 20px rgba(255,100,20,0.3), 0 0 40px rgba(255,60,0,0.1);
    }
    50% {
        box-shadow: 0 0 14px rgba(255,180,80,1), 0 0 32px rgba(255,120,40,0.6), 0 0 56px rgba(255,60,0,0.25);
    }
}

@keyframes it21-diamond-ring {
    0%   { transform: rotate(0deg); opacity: 0.4; }
    50%  { opacity: 0.8; }
    100% { transform: rotate(360deg); opacity: 0.4; }
}

/* Navigation — split left/right */
body.theme-season21-infernal-throne .it21-nav {
    display: flex;
    gap: 0;
    align-items: center;
    position: relative;
    z-index: 2;
}

body.theme-season21-infernal-throne .it21-nav--left {
    justify-content: flex-end;
    flex: 1;
}

body.theme-season21-infernal-throne .it21-nav--right {
    justify-content: flex-start;
    flex: 1;
}

body.theme-season21-infernal-throne .it21-nav a {
    font-family: var(--it21-font-ui);
    font-size: 0.74rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.13em;
    color: rgba(255,225,205,0.72);
    padding: 14px 13px;
    position: relative;
    transition: color 0.25s, text-shadow 0.25s;
    white-space: nowrap;
    text-shadow: 0 1px 3px rgba(0,0,0,0.7);
}

body.theme-season21-infernal-throne .it21-nav a:hover,
body.theme-season21-infernal-throne .it21-nav a.is-active {
    color: #fff;
    text-shadow:
        0 0 8px rgba(255,160,60,0.4),
        0 0 18px rgba(255,80,0,0.2),
        0 1px 3px rgba(0,0,0,0.7);
}

/* Hover fire underline */
body.theme-season21-infernal-throne .it21-nav a::before {
    content: '';
    position: absolute;
    bottom: 8px;
    left: 50%;
    width: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(255,180,60,0.9), rgba(255,120,30,0.8), transparent);
    transform: translateX(-50%);
    transition: width 0.3s cubic-bezier(0.23, 1, 0.32, 1);
    border-radius: 1px;
}

body.theme-season21-infernal-throne .it21-nav a:hover::before,
body.theme-season21-infernal-throne .it21-nav a.is-active::before {
    width: 65%;
    box-shadow: 0 0 5px rgba(255,120,30,0.5), 0 0 12px rgba(255,80,0,0.15);
}

/* Molten glow bloom under link */
body.theme-season21-infernal-throne .it21-nav a::after {
    content: '';
    position: absolute;
    bottom: 3px;
    left: 50%;
    width: 0;
    height: 8px;
    background: radial-gradient(ellipse, rgba(255,100,20,0.2) 0%, transparent 70%);
    transform: translateX(-50%);
    transition: width 0.3s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.25s;
    filter: blur(3px);
    opacity: 0;
}

body.theme-season21-infernal-throne .it21-nav a:hover::after,
body.theme-season21-infernal-throne .it21-nav a.is-active::after {
    width: 90%;
    opacity: 1;
}

/* ── Nav Dropdowns ── */
body.theme-season21-infernal-throne .it21-nav-dropdown {
    position: relative;
    display: inline-flex;
}

body.theme-season21-infernal-throne .it21-nav-dropdown__trigger {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

body.theme-season21-infernal-throne .it21-nav-dropdown__trigger .ph {
    font-size: 0.6rem;
    opacity: 0.6;
    transition: transform 0.25s, opacity 0.25s;
}

body.theme-season21-infernal-throne .it21-nav-dropdown:hover .it21-nav-dropdown__trigger .ph {
    transform: rotate(180deg);
    opacity: 1;
}

body.theme-season21-infernal-throne .it21-nav-dropdown__menu {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(6px);
    min-width: 190px;
    background:
        radial-gradient(ellipse at 50% 0%, rgba(255,80,10,0.08) 0%, transparent 60%),
        rgba(14,5,3,0.97);
    border: 1px solid rgba(255,120,50,0.18);
    border-top: 2px solid rgba(255,140,50,0.5);
    border-radius: 8px;
    padding: 6px 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.25s, visibility 0.25s, transform 0.25s;
    box-shadow:
        0 8px 32px rgba(0,0,0,0.7),
        0 0 24px rgba(255,80,0,0.1),
        0 0 1px rgba(255,120,50,0.3),
        inset 0 1px 0 rgba(255,180,80,0.06);
    z-index: 999;
    backdrop-filter: blur(20px);
}

body.theme-season21-infernal-throne .it21-nav-dropdown__menu::before {
    content: '';
    position: absolute;
    top: -2px;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent 10%, rgba(255,160,60,0.8) 30%, rgba(255,200,100,1) 50%, rgba(255,160,60,0.8) 70%, transparent 90%);
    border-radius: 8px 8px 0 0;
    box-shadow: 0 0 8px rgba(255,120,40,0.5), 0 0 16px rgba(255,80,0,0.2);
}

body.theme-season21-infernal-throne .it21-nav-dropdown:hover .it21-nav-dropdown__menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0);
}

body.theme-season21-infernal-throne .it21-nav-dropdown__menu a {
    display: block;
    padding: 10px 22px !important;
    font-size: 0.74rem !important;
    font-weight: 600;
    letter-spacing: 0.1em;
    color: rgba(255,220,190,0.8);
    transition: background 0.2s, color 0.2s, padding-left 0.25s;
    white-space: nowrap;
    position: relative;
}

body.theme-season21-infernal-throne .it21-nav-dropdown__menu a::before,
body.theme-season21-infernal-throne .it21-nav-dropdown__menu a::after {
    display: none !important;
}

body.theme-season21-infernal-throne .it21-nav-dropdown__menu a:hover {
    background:
        linear-gradient(90deg, rgba(255,100,20,0.15) 0%, rgba(255,80,10,0.06) 100%);
    color: #fff;
    padding-left: 26px !important;
    text-shadow: 0 0 8px rgba(255,160,60,0.3);
}

body.theme-season21-infernal-throne .it21-nav-dropdown__menu a:hover::before {
    display: block !important;
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    width: 2px !important;
    height: auto !important;
    background: var(--it21-gold) !important;
    border-radius: 0 !important;
    transform: none !important;
    box-shadow: 0 0 6px rgba(255,120,40,0.5) !important;
    opacity: 1 !important;
    filter: none !important;
}

/* (Mobile drawer group/sub styles moved to drawer section) */

/* Auth Line */
body.theme-season21-infernal-throne .it21-authline {
    display: flex;
    align-items: center;
    gap: 6px;
    position: relative;
    z-index: 2;
    margin-left: 6px;
    padding-left: 14px;
    border-left: 1px solid rgba(255,120,50,0.12);
}

body.theme-season21-infernal-throne .it21-authline__text {
    font-family: var(--it21-font-ui);
    font-size: 0.74rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: rgba(255,225,205,0.72);
    padding: 6px 6px;
    transition: color 0.25s, text-shadow 0.25s;
    white-space: nowrap;
    text-shadow: 0 1px 3px rgba(0,0,0,0.7);
}

body.theme-season21-infernal-throne .it21-authline__text:hover {
    color: #fff;
    text-shadow: 0 0 8px rgba(255,160,60,0.4), 0 1px 3px rgba(0,0,0,0.7);
}

body.theme-season21-infernal-throne .it21-authline__action {
    font-family: var(--it21-font-ui);
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #fff;
    background:
        linear-gradient(135deg, rgba(200,80,10,0.9) 0%, rgba(255,100,20,0.85) 50%, rgba(255,140,50,0.9) 100%);
    padding: 7px 20px;
    border-radius: 4px;
    min-height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: filter 0.25s, transform 0.2s, box-shadow 0.25s;
    white-space: nowrap;
    box-shadow:
        0 2px 10px rgba(255,100,20,0.3),
        0 0 16px rgba(255,60,0,0.12),
        inset 0 1px 0 rgba(255,255,255,0.1);
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255,140,50,0.25);
    text-shadow: 0 1px 3px rgba(0,0,0,0.5);
}

body.theme-season21-infernal-throne .it21-authline__action::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, transparent 30%, rgba(255,255,255,0.12) 50%, transparent 70%);
    transform: translateX(-100%);
    transition: transform 0.6s;
}

body.theme-season21-infernal-throne .it21-authline__action:hover::before {
    transform: translateX(100%);
}

body.theme-season21-infernal-throne .it21-authline__action:hover {
    filter: brightness(1.15);
    transform: translateY(-1px);
    box-shadow:
        0 4px 24px rgba(255,100,20,0.5),
        0 0 32px rgba(255,60,0,0.2),
        inset 0 1px 0 rgba(255,255,255,0.15);
}

/* Sub-line (info bar) — dark forge strip */
body.theme-season21-infernal-throne .it21-subline {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 28px;
    padding: 0 20px;
    background:
        linear-gradient(90deg, rgba(255,80,10,0.03) 0%, rgba(255,120,40,0.05) 50%, rgba(255,80,10,0.03) 100%),
        rgba(6,2,1,0.6);
    border: none;
    border-top: 1px solid rgba(255,100,30,0.06);
    border-radius: 0;
    font-family: var(--it21-font-ui);
    font-size: 0.68rem;
    letter-spacing: 0.06em;
    color: rgba(210,180,160,0.8);
    gap: 12px;
    flex-wrap: wrap;
    box-shadow: none;
    backdrop-filter: none;
    text-shadow: 0 1px 3px rgba(0,0,0,0.7);
}

body.theme-season21-infernal-throne .it21-ratebar {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
}

body.theme-season21-infernal-throne .it21-ratebar span {
    white-space: nowrap;
}

body.theme-season21-infernal-throne .it21-ratebar__sep {
    font-size: 0.35rem;
    color: rgba(255,120,50,0.4);
    line-height: 1;
    text-shadow: 0 0 4px rgba(255,80,20,0.3);
}

body.theme-season21-infernal-throne .it21-ratebar strong {
    color: var(--it21-gold);
    font-weight: 600;
    text-shadow: 0 0 6px rgba(255,138,56,0.35), 0 1px 3px rgba(0,0,0,0.7);
}

body.theme-season21-infernal-throne .it21-clockbar {
    display: flex;
    gap: 16px;
}

body.theme-season21-infernal-throne .it21-clockbar span {
    white-space: nowrap;
}

body.theme-season21-infernal-throne .it21-clockbar strong {
    color: var(--it21-gold);
    font-weight: 600;
    text-shadow: 0 0 6px rgba(255,138,56,0.35), 0 1px 3px rgba(0,0,0,0.7);
}

/* ── Grand Opening Countdown Bar ── */
body.theme-season21-infernal-throne .it21-countdown-bar {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(ellipse at 50% 100%, rgba(255,80,10,0.18) 0%, transparent 60%),
        radial-gradient(ellipse at 20% 50%, rgba(255,120,30,0.08) 0%, transparent 50%),
        radial-gradient(ellipse at 80% 50%, rgba(255,60,10,0.08) 0%, transparent 50%),
        linear-gradient(180deg, rgba(20,8,4,0.97) 0%, rgba(14,5,3,0.98) 100%);
    border-bottom: 1px solid rgba(255,138,56,0.15);
    padding: 10px 24px;
    z-index: 10;
}

body.theme-season21-infernal-throne .it21-countdown-bar__fire {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg,
        transparent 0%,
        rgba(255,60,10,0.4) 15%,
        rgba(255,138,56,0.9) 30%,
        rgba(255,200,60,1) 50%,
        rgba(255,138,56,0.9) 70%,
        rgba(255,60,10,0.4) 85%,
        transparent 100%
    );
    animation: it21-countdown-fire 2s ease-in-out infinite alternate;
}

@keyframes it21-countdown-fire {
    0% {
        opacity: 0.7;
        filter: blur(0px);
        box-shadow: 0 0 8px rgba(255,100,20,0.4), 0 -4px 12px rgba(255,60,10,0.3);
    }
    100% {
        opacity: 1;
        filter: blur(0.5px);
        box-shadow: 0 0 16px rgba(255,100,20,0.7), 0 -8px 24px rgba(255,60,10,0.4);
    }
}

body.theme-season21-infernal-throne .it21-countdown-bar__inner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    flex-wrap: wrap;
    position: relative;
    z-index: 2;
}

body.theme-season21-infernal-throne .it21-countdown-bar__label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: var(--it21-font-head);
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--it21-gold);
    text-shadow: 0 0 12px rgba(255,138,56,0.5), 0 0 30px rgba(255,80,10,0.2);
    animation: it21-label-glow 3s ease-in-out infinite alternate;
}

@keyframes it21-label-glow {
    0%   { text-shadow: 0 0 12px rgba(255,138,56,0.5), 0 0 30px rgba(255,80,10,0.2); }
    100% { text-shadow: 0 0 18px rgba(255,138,56,0.8), 0 0 40px rgba(255,80,10,0.35); }
}

body.theme-season21-infernal-throne .it21-countdown-bar__label i {
    font-size: 1.1rem;
    animation: it21-sword-pulse 2s ease-in-out infinite;
}

@keyframes it21-sword-pulse {
    0%, 100% { transform: scale(1); filter: drop-shadow(0 0 4px rgba(255,138,56,0.5)); }
    50%      { transform: scale(1.15); filter: drop-shadow(0 0 8px rgba(255,138,56,0.8)); }
}

body.theme-season21-infernal-throne .it21-countdown-bar__timer {
    display: flex;
    align-items: center;
    gap: 6px;
}

body.theme-season21-infernal-throne .it21-cd-unit {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    min-width: 46px;
    padding: 6px 8px 5px;
    background:
        radial-gradient(ellipse at 50% 0%, rgba(255,138,56,0.08) 0%, transparent 70%),
        rgba(10,4,3,0.85);
    border: 1px solid rgba(255,138,56,0.2);
    border-radius: 8px;
    position: relative;
    overflow: hidden;
    box-shadow:
        0 0 12px rgba(255,100,20,0.08),
        inset 0 1px 0 rgba(255,200,100,0.05);
}

body.theme-season21-infernal-throne .it21-cd-unit::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255,138,56,0.4), transparent);
}

body.theme-season21-infernal-throne .it21-cd-unit span {
    font-family: var(--it21-font-head);
    font-size: 1.4rem;
    font-weight: 700;
    color: #fff;
    line-height: 1;
    text-shadow: 0 0 10px rgba(255,138,56,0.3);
    font-variant-numeric: tabular-nums;
    letter-spacing: 1px;
}

body.theme-season21-infernal-throne .it21-cd-unit small {
    font-family: var(--it21-font-ui);
    font-size: 0.55rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    color: rgba(255,180,120,0.5);
}

body.theme-season21-infernal-throne .it21-cd-sep {
    font-family: var(--it21-font-head);
    font-size: 1.2rem;
    color: var(--it21-gold);
    opacity: 0.6;
    animation: it21-sep-blink 1s step-end infinite;
    line-height: 1;
    padding-bottom: 12px;
}

@keyframes it21-sep-blink {
    0%, 100% { opacity: 0.6; }
    50%      { opacity: 0.15; }
}

body.theme-season21-infernal-throne .it21-countdown-bar__date {
    display: flex;
    align-items: center;
    gap: 6px;
    font-family: var(--it21-font-ui);
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.6px;
    color: var(--it21-text-dim);
}

body.theme-season21-infernal-throne .it21-countdown-bar__date i {
    font-size: 0.85rem;
    color: rgba(255,138,56,0.5);
}

/* Countdown embers */
body.theme-season21-infernal-throne .it21-countdown-bar__embers {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
    z-index: 1;
}

body.theme-season21-infernal-throne .it21-countdown-bar__embers span {
    position: absolute;
    bottom: 0;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: rgba(255,120,30,0.9);
    box-shadow: 0 0 4px rgba(255,80,10,0.6);
    animation: it21-cd-ember 4s ease-out infinite;
    opacity: 0;
}

@keyframes it21-cd-ember {
    0%   { transform: translateY(0) scale(1); opacity: 0; }
    10%  { opacity: 0.8; }
    100% { transform: translateY(-50px) scale(0.2); opacity: 0; }
}

body.theme-season21-infernal-throne .it21-countdown-bar__embers span:nth-child(1) { left: 10%; animation-delay: 0s; animation-duration: 3s; }
body.theme-season21-infernal-throne .it21-countdown-bar__embers span:nth-child(2) { left: 25%; animation-delay: 0.7s; animation-duration: 3.5s; }
body.theme-season21-infernal-throne .it21-countdown-bar__embers span:nth-child(3) { left: 40%; animation-delay: 1.4s; animation-duration: 2.8s; }
body.theme-season21-infernal-throne .it21-countdown-bar__embers span:nth-child(4) { left: 55%; animation-delay: 0.3s; animation-duration: 4s; }
body.theme-season21-infernal-throne .it21-countdown-bar__embers span:nth-child(5) { left: 72%; animation-delay: 2s; animation-duration: 3.2s; }
body.theme-season21-infernal-throne .it21-countdown-bar__embers span:nth-child(6) { left: 88%; animation-delay: 1s; animation-duration: 3.8s; }

/* Launched state */
body.theme-season21-infernal-throne .it21-countdown-bar.is-launched .it21-countdown-bar__label span {
    color: var(--it21-green);
    text-shadow: 0 0 12px rgba(68,221,68,0.5);
}
body.theme-season21-infernal-throne .it21-countdown-bar.is-launched .it21-countdown-bar__label span::after {
    content: ' — LIVE NOW!';
}

/* Mobile Toggle */
body.theme-season21-infernal-throne .it21-mobile-toggle {
    display: none;
    background: none;
    border: none;
    color: var(--it21-text);
    font-size: 1.6rem;
    cursor: pointer;
    padding: 6px;
    align-items: center;
    justify-content: center;
}

/* ── Mobile Drawer (fullscreen slide-in) ── */
body.theme-season21-infernal-throne .it21-mobile-drawer {
    display: none;
}

body.theme-season21-infernal-throne .it21-mobile-drawer.is-open {
    display: block;
}

body.theme-season21-infernal-throne .it21-mobile-drawer__backdrop {
    position: fixed;
    inset: 0;
    z-index: 10000;
    background: rgba(0,0,0,0.6);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

body.theme-season21-infernal-throne .it21-mobile-drawer__body {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: min(340px, 85vw);
    z-index: 10001;
    background: linear-gradient(180deg, rgba(18,8,4,0.99) 0%, rgba(10,4,2,0.99) 100%);
    border-left: 1px solid rgba(255,138,56,0.15);
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    transform: translateX(100%);
    transition: transform 0.35s cubic-bezier(0.32, 0.72, 0, 1);
}

body.theme-season21-infernal-throne .it21-mobile-drawer.is-open .it21-mobile-drawer__body {
    transform: translateX(0);
}

body.theme-season21-infernal-throne .it21-mobile-drawer__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 20px 16px;
    border-bottom: 1px solid rgba(255,138,56,0.1);
}

body.theme-season21-infernal-throne .it21-mobile-drawer__logo {
    max-width: 140px;
    height: auto;
    filter: drop-shadow(0 0 12px rgba(255,100,20,0.5));
}

body.theme-season21-infernal-throne .it21-mobile-drawer__close {
    background: rgba(255,138,56,0.1);
    border: 1px solid rgba(255,138,56,0.2);
    color: var(--it21-gold, #ff8a38);
    width: 44px;
    height: 44px;
    border-radius: 12px;
    font-size: 1.3rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s, border-color 0.2s;
}

body.theme-season21-infernal-throne .it21-mobile-drawer__close:hover {
    background: rgba(255,138,56,0.2);
    border-color: rgba(255,138,56,0.4);
}

body.theme-season21-infernal-throne .it21-mobile-drawer__nav {
    flex: 1;
    padding: 12px 0;
    display: flex;
    flex-direction: column;
}

body.theme-season21-infernal-throne .it21-mobile-drawer__link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 24px;
    font-family: var(--it21-font-ui);
    font-size: 0.95rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--it21-text-dim, #b0a090);
    border-left: 3px solid transparent;
    transition: all 0.2s;
    min-height: 48px;
}

body.theme-season21-infernal-throne .it21-mobile-drawer__link:hover,
body.theme-season21-infernal-throne .it21-mobile-drawer__link.is-active {
    color: var(--it21-gold, #ff8a38);
    background: rgba(255,138,56,0.06);
    border-left-color: var(--it21-gold, #ff8a38);
}

body.theme-season21-infernal-throne .it21-mobile-drawer__group {
    padding: 8px 0 4px;
}

body.theme-season21-infernal-throne .it21-mobile-drawer__group-label {
    display: block;
    padding: 8px 24px 4px;
    font-family: var(--it21-font-ui);
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: rgba(255,138,56,0.5);
}

body.theme-season21-infernal-throne .it21-mobile-drawer__sub {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px 12px 36px;
    font-family: var(--it21-font-ui);
    font-size: 0.88rem;
    font-weight: 500;
    color: var(--it21-text-dim, #b0a090);
    min-height: 44px;
    transition: color 0.2s, background 0.2s;
}

body.theme-season21-infernal-throne .it21-mobile-drawer__sub:hover {
    color: var(--it21-text, #f0e6d8);
    background: rgba(255,255,255,0.03);
}

body.theme-season21-infernal-throne .it21-mobile-drawer__footer {
    padding: 16px 20px 24px;
    border-top: 1px solid rgba(255,138,56,0.1);
    display: flex;
    flex-direction: column;
    gap: 14px;
}

body.theme-season21-infernal-throne .it21-mobile-drawer__social {
    display: flex;
    gap: 12px;
    justify-content: center;
}

body.theme-season21-infernal-throne .it21-mobile-drawer__social a {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: rgba(255,138,56,0.08);
    border: 1px solid rgba(255,138,56,0.15);
    color: var(--it21-gold, #ff8a38);
    font-size: 1.2rem;
    transition: background 0.2s, transform 0.2s;
}

body.theme-season21-infernal-throne .it21-mobile-drawer__social a:hover {
    background: rgba(255,138,56,0.18);
    transform: scale(1.05);
}

body.theme-season21-infernal-throne .it21-mobile-drawer__auth {
    display: flex;
    gap: 10px;
}

body.theme-season21-infernal-throne .it21-mobile-drawer__auth-btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 12px 16px;
    font-family: var(--it21-font-ui);
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    border-radius: 10px;
    min-height: 48px;
    background: linear-gradient(135deg, var(--it21-gold, #ff8a38), #e06010);
    color: #0a0200;
    border: none;
    transition: filter 0.2s;
}

body.theme-season21-infernal-throne .it21-mobile-drawer__auth-btn:hover {
    filter: brightness(1.1);
}

body.theme-season21-infernal-throne .it21-mobile-drawer__auth-btn--outline {
    background: transparent;
    border: 1px solid rgba(255,138,56,0.3);
    color: var(--it21-gold, #ff8a38);
}

body.theme-season21-infernal-throne .it21-mobile-drawer__auth-btn--outline:hover {
    background: rgba(255,138,56,0.1);
    filter: none;
}

body.theme-season21-infernal-throne .it21-mobile-drawer__info {
    display: flex;
    justify-content: center;
    gap: 16px;
    font-size: 0.75rem;
    color: var(--it21-text-dim, #b0a090);
    opacity: 0.7;
}

body.theme-season21-infernal-throne .it21-mobile-drawer__info strong {
    color: var(--it21-gold, #ff8a38);
}

/* ── 5. Shell (content wrapper) ── */
body.theme-season21-infernal-throne .it21-shell {
    flex: 1;
}

/* ── 6. Flash Messages ── */
body.theme-season21-infernal-throne .it21-flash {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 20px;
    margin: 12px 0;
    border-radius: var(--it21-radius-sm);
    font-size: 0.92rem;
    font-weight: 500;
    border: 1px solid var(--it21-line);
    background: var(--it21-panel);
}

body.theme-season21-infernal-throne .it21-flash--success {
    border-color: rgba(68, 221, 68, 0.3);
    background: rgba(20, 60, 20, 0.85);
}

body.theme-season21-infernal-throne .it21-flash--error {
    border-color: rgba(255, 80, 80, 0.3);
    background: rgba(60, 20, 20, 0.85);
}

body.theme-season21-infernal-throne .it21-flash__close {
    background: none;
    border: none;
    color: var(--it21-text-dim);
    font-size: 1.3rem;
    cursor: pointer;
    padding: 0 0 0 16px;
    line-height: 1;
}

/* ═══════════════════════════════════════════════════════════
   HOME PAGE v2
   ═══════════════════════════════════════════════════════════ */

/* ── 7. Hero Banner ── */
body.theme-season21-infernal-throne .it21-home-v2 {
    display: flex;
    flex-direction: column;
}

body.theme-season21-infernal-throne .it21-hero-v2 {
    position: relative;
    min-height: 702px;
    overflow: hidden;
    background: transparent;
}

body.theme-season21-infernal-throne .it21-hero-v2__vignette {
    display: block;
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        radial-gradient(ellipse at 50% 100%, rgba(255,60,0,0.22) 0%, transparent 55%),
        radial-gradient(ellipse at 20% 90%, rgba(255,40,0,0.10) 0%, transparent 50%),
        radial-gradient(ellipse at 80% 85%, rgba(255,80,0,0.08) 0%, transparent 45%);
    animation: it21-hero-fire-glow 3.5s ease-in-out infinite;
    pointer-events: none;
}

body.theme-season21-infernal-throne .it21-hero-v2__glow {
    display: block;
    position: absolute;
    bottom: -50px;
    left: 0;
    right: 0;
    height: 180px;
    z-index: 1;
    background:
        radial-gradient(ellipse at 30% 100%, rgba(255,50,0,0.15) 0%, transparent 60%),
        radial-gradient(ellipse at 70% 100%, rgba(255,80,10,0.12) 0%, transparent 55%),
        linear-gradient(0deg, rgba(255,60,0,0.14) 0%, transparent 100%);
    filter: blur(25px);
    animation: it21-hero-fire-glow 4s ease-in-out 0.5s infinite;
    pointer-events: none;
}

@keyframes it21-hero-fire-glow {
    0%, 100% { opacity: 0.5; }
    50%      { opacity: 1; }
}

/* Ember particles floating up */
body.theme-season21-infernal-throne .it21-hero-v2__embers {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    overflow: hidden;
}

body.theme-season21-infernal-throne .it21-hero-v2__embers span {
    position: absolute;
    bottom: -10px;
    display: block;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255,140,40,1) 0%, rgba(255,80,0,0.6) 50%, transparent 100%);
    box-shadow: 0 0 6px 2px rgba(255,100,20,0.4);
    opacity: 0;
    animation: it21-ember-float var(--dur, 6s) var(--delay, 0s) ease-in infinite;
}

body.theme-season21-infernal-throne .it21-hero-v2__embers span:nth-child(1)  { left: 8%;  --dur: 7s;  --delay: 0s;   width: 3px; height: 3px; }
body.theme-season21-infernal-throne .it21-hero-v2__embers span:nth-child(2)  { left: 18%; --dur: 5s;  --delay: 1.2s; width: 5px; height: 5px; }
body.theme-season21-infernal-throne .it21-hero-v2__embers span:nth-child(3)  { left: 30%; --dur: 8s;  --delay: 0.5s; width: 3px; height: 3px; }
body.theme-season21-infernal-throne .it21-hero-v2__embers span:nth-child(4)  { left: 42%; --dur: 6s;  --delay: 2.8s; width: 4px; height: 4px; }
body.theme-season21-infernal-throne .it21-hero-v2__embers span:nth-child(5)  { left: 55%; --dur: 9s;  --delay: 0.8s; width: 3px; height: 3px; }
body.theme-season21-infernal-throne .it21-hero-v2__embers span:nth-child(6)  { left: 65%; --dur: 5.5s; --delay: 3.5s; width: 5px; height: 5px; }
body.theme-season21-infernal-throne .it21-hero-v2__embers span:nth-child(7)  { left: 75%; --dur: 7.5s; --delay: 1.8s; width: 2px; height: 2px; }
body.theme-season21-infernal-throne .it21-hero-v2__embers span:nth-child(8)  { left: 82%; --dur: 6.5s; --delay: 4s;   width: 4px; height: 4px; }
body.theme-season21-infernal-throne .it21-hero-v2__embers span:nth-child(9)  { left: 90%; --dur: 8.5s; --delay: 0.3s; width: 3px; height: 3px; }
body.theme-season21-infernal-throne .it21-hero-v2__embers span:nth-child(10) { left: 50%; --dur: 10s;  --delay: 2s;   width: 2px; height: 2px; }

@keyframes it21-ember-float {
    0%   { transform: translateY(0) translateX(0) scale(1);    opacity: 0; }
    5%   { opacity: 0.9; }
    30%  { opacity: 0.7; transform: translateY(-140px) translateX(15px) scale(0.9); }
    60%  { opacity: 0.4; transform: translateY(-320px) translateX(-10px) scale(0.6); }
    100% { opacity: 0;   transform: translateY(-560px) translateX(20px) scale(0.2); }
}

body.theme-season21-infernal-throne .it21-hero-v2__brand {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    min-height: 648px;
    padding: 0 24px 40px 48px;
}

body.theme-season21-infernal-throne .it21-hero-v2__logo {
    width: min(55%, 360px);
    height: auto;
    filter: drop-shadow(0 0 20px rgba(255,100,20,0.6)) drop-shadow(0 0 60px rgba(255,60,0,0.35)) drop-shadow(0 8px 32px rgba(0,0,0,0.7));
    animation: it21-logo-fire 3s ease-in-out infinite;
}

@keyframes it21-logo-fire {
    0%, 100% {
        transform: scale(1);
        filter: drop-shadow(0 0 20px rgba(255,100,20,0.6)) drop-shadow(0 0 60px rgba(255,60,0,0.35)) drop-shadow(0 8px 32px rgba(0,0,0,0.7));
    }
    25% {
        transform: scale(1.012) translateY(-2px);
        filter: drop-shadow(0 0 28px rgba(255,120,30,0.7)) drop-shadow(0 0 80px rgba(255,80,0,0.4)) drop-shadow(0 12px 40px rgba(0,0,0,0.6));
    }
    50% {
        transform: scale(1.02) translateY(-4px);
        filter: drop-shadow(0 0 35px rgba(255,140,40,0.8)) drop-shadow(0 0 90px rgba(255,60,0,0.5)) drop-shadow(0 16px 48px rgba(0,0,0,0.5));
    }
    75% {
        transform: scale(1.012) translateY(-2px);
        filter: drop-shadow(0 0 24px rgba(255,90,10,0.65)) drop-shadow(0 0 70px rgba(255,50,0,0.38)) drop-shadow(0 10px 36px rgba(0,0,0,0.6));
    }
}

/* Hero Clock — hidden (clock is in subline) */
body.theme-season21-infernal-throne .it21-hero-v2__clock {
    display: none;
}

/* ── Hero Character Image ── */
body.theme-season21-infernal-throne .it21-hero-v2__character {
    position: absolute;
    right: 2%;
    bottom: 0;
    z-index: 2;
    pointer-events: none;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

body.theme-season21-infernal-throne .it21-hero-v2__char-img {
    max-height: 600px;
    width: auto;
    object-fit: contain;
    filter: drop-shadow(0 0 30px rgba(255,80,0,0.4)) drop-shadow(0 8px 40px rgba(0,0,0,0.8));
    animation: it21-char-idle 4s ease-in-out infinite;
}

@keyframes it21-char-idle {
    0%, 100% {
        transform: translateY(0);
        filter: drop-shadow(0 0 30px rgba(255,80,0,0.4)) drop-shadow(0 8px 40px rgba(0,0,0,0.8));
    }
    50% {
        transform: translateY(-6px);
        filter: drop-shadow(0 0 40px rgba(255,100,20,0.5)) drop-shadow(0 14px 50px rgba(0,0,0,0.7));
    }
}

/* Hero fire divider with diamond */
body.theme-season21-infernal-throne .it21-hero-v2__divider {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 3;
    display: flex;
    align-items: center;
    gap: 0;
    height: 3px;
}

body.theme-season21-infernal-throne .it21-hero-v2__fireline {
    flex: 1;
    height: 2px;
    position: relative;
}
body.theme-season21-infernal-throne .it21-hero-v2__fireline::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent, rgba(255,100,20,0.6) 30%, var(--it21-gold) 50%, rgba(255,100,20,0.6) 70%, transparent);
    box-shadow: 0 0 8px rgba(255,80,0,0.35), 0 0 2px rgba(255,138,56,0.5);
}
body.theme-season21-infernal-throne .it21-hero-v2__fireline::after {
    content: '';
    position: absolute;
    top: -1px;
    height: 4px;
    left: 0;
    right: 0;
    background: linear-gradient(90deg, transparent, rgba(255,138,56,0.08) 20%, rgba(255,80,0,0.15) 50%, rgba(255,138,56,0.08) 80%, transparent);
    filter: blur(3px);
}
body.theme-season21-infernal-throne .it21-hero-v2__fireline--left::before {
    background: linear-gradient(90deg, transparent 0%, rgba(255,100,20,0.5) 40%, var(--it21-gold) 100%);
}
body.theme-season21-infernal-throne .it21-hero-v2__fireline--right::before {
    background: linear-gradient(90deg, var(--it21-gold) 0%, rgba(255,100,20,0.5) 60%, transparent 100%);
}
body.theme-season21-infernal-throne .it21-hero-v2__fireline--left::after {
    background: linear-gradient(90deg, transparent 0%, rgba(255,80,0,0.12) 50%, rgba(255,138,56,0.2) 100%);
}
body.theme-season21-infernal-throne .it21-hero-v2__fireline--right::after {
    background: linear-gradient(90deg, rgba(255,138,56,0.2) 0%, rgba(255,80,0,0.12) 50%, transparent 100%);
}

/* Flame emblem center piece */
body.theme-season21-infernal-throne .it21-hero-v2__flame-emblem {
    position: relative;
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    z-index: 2;
}
body.theme-season21-infernal-throne .it21-hero-v2__flame-emblem > i {
    font-size: 1.15rem;
    color: var(--it21-gold);
    filter: drop-shadow(0 0 6px rgba(255,100,20,0.6)) drop-shadow(0 0 14px rgba(255,60,0,0.3));
    animation: it21-flame-pulse 2.5s ease-in-out infinite alternate;
    z-index: 2;
    position: relative;
}
@keyframes it21-flame-pulse {
    0%   { filter: drop-shadow(0 0 4px rgba(255,100,20,0.5)) drop-shadow(0 0 10px rgba(255,60,0,0.2)); transform: scale(1); }
    100% { filter: drop-shadow(0 0 8px rgba(255,100,20,0.8)) drop-shadow(0 0 20px rgba(255,60,0,0.4)); transform: scale(1.08); }
}
body.theme-season21-infernal-throne .it21-hero-v2__flame-ring {
    position: absolute;
    inset: 2px;
    border-radius: 50%;
    border: 1px solid rgba(255,138,56,0.2);
    background: radial-gradient(circle, rgba(255,80,0,0.12) 0%, rgba(10,4,3,0.9) 70%);
    box-shadow: 0 0 16px rgba(255,80,0,0.15), inset 0 0 10px rgba(255,60,0,0.08);
}

/* Floating sparks around the flame */
body.theme-season21-infernal-throne .it21-hero-v2__flame-spark {
    position: absolute;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: var(--it21-gold);
    box-shadow: 0 0 4px rgba(255,100,20,0.6);
    animation: it21-spark-float 3s ease-in-out infinite;
    animation-delay: calc(var(--d) * 0.75s);
    opacity: 0;
}
body.theme-season21-infernal-throne .it21-hero-v2__flame-spark:nth-child(3) {
    top: 2px; left: 50%;
}
body.theme-season21-infernal-throne .it21-hero-v2__flame-spark:nth-child(4) {
    top: 50%; right: 0;
}
body.theme-season21-infernal-throne .it21-hero-v2__flame-spark:nth-child(5) {
    bottom: 2px; left: 50%;
}
body.theme-season21-infernal-throne .it21-hero-v2__flame-spark:nth-child(6) {
    top: 50%; left: 0;
}
@keyframes it21-spark-float {
    0%   { opacity: 0; transform: translateY(0) scale(0.5); }
    30%  { opacity: 0.9; }
    70%  { opacity: 0.7; }
    100% { opacity: 0; transform: translateY(-12px) scale(0.2); }
}

/* ── 8. Home 3-Column Grid ── */
body.theme-season21-infernal-throne .it21-home-v2__columns {
    display: grid;
    grid-template-columns: 230px 1fr 260px;
    gap: 16px;
    position: relative;
    z-index: 3;
}

body.theme-season21-infernal-throne .it21-home-v2__rail {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

body.theme-season21-infernal-throne .it21-home-v2__center {
    display: flex;
    flex-direction: column;
    gap: 0;
    min-width: 0;
}

/* ── 9. Spotlight Slider (3-news rotating hero) ── */
body.theme-season21-infernal-throne .it21-spotlight-slider {
    position: relative;
    border-radius: var(--it21-radius);
    overflow: hidden;
    border: 1px solid var(--it21-line);
    box-shadow: 0 4px 30px rgba(0,0,0,0.4), 0 0 0 1px rgba(255,138,56,0.06);
}

body.theme-season21-infernal-throne .it21-spotlight-slider__track {
    display: flex;
    transition: transform 0.6s cubic-bezier(0.22, 0.61, 0.36, 1);
    will-change: transform;
}

body.theme-season21-infernal-throne .it21-spotlight-slide {
    flex: 0 0 100%;
    position: relative;
    min-height: 300px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    background: var(--it21-slide-bg, none) center / cover no-repeat;
    overflow: hidden;
}

body.theme-season21-infernal-throne .it21-spotlight-slide__video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
    pointer-events: none;
}

body.theme-season21-infernal-throne .it21-spotlight-slide__overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(10,4,4,0.10) 0%, rgba(10,4,4,0.30) 35%, rgba(10,4,4,0.88) 75%, rgba(10,4,4,0.96) 100%),
        linear-gradient(90deg, rgba(10,4,4,0.5) 0%, transparent 60%);
    pointer-events: none;
}

body.theme-season21-infernal-throne .it21-spotlight-slide__content {
    position: relative;
    z-index: 2;
    padding: 70px 30px 50px;
    max-width: 600px;
}

body.theme-season21-infernal-throne .it21-spotlight-slide__kicker {
    display: inline-block;
    font-family: var(--it21-font-ui);
    font-size: 0.62rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    color: var(--it21-gold);
    margin-bottom: 8px;
    padding: 3px 10px;
    background: rgba(255,138,56,0.1);
    border: 1px solid rgba(255,138,56,0.2);
    border-radius: 4px;
}

body.theme-season21-infernal-throne .it21-spotlight-slide__title {
    font-family: var(--it21-font-head);
    font-size: clamp(1.2rem, 2.8vw, 1.65rem);
    font-weight: 700;
    color: var(--it21-text);
    line-height: 1.25;
    margin: 0 0 10px;
    text-shadow: 0 2px 16px rgba(0,0,0,0.6);
}

body.theme-season21-infernal-throne .it21-spotlight-slide__meta {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: var(--it21-font-ui);
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--it21-text-dim);
    margin-bottom: 10px;
}

body.theme-season21-infernal-throne .it21-spotlight-slide__cat {
    background: rgba(255,138,56,0.15);
    color: var(--it21-gold);
    padding: 2px 9px;
    border-radius: 4px;
    font-weight: 600;
    font-size: 0.58rem;
    letter-spacing: 0.05em;
}

body.theme-season21-infernal-throne .it21-spotlight-slide__excerpt {
    font-size: 0.8rem;
    line-height: 1.6;
    color: var(--it21-text-soft);
    max-width: 480px;
    margin-bottom: 16px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Read More button */
body.theme-season21-infernal-throne .it21-spotlight-slide .it21-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 20px;
    font-size: 0.72rem;
    font-weight: 600;
    border-radius: var(--it21-radius-sm);
    background: transparent;
    border: 1px solid rgba(255,138,56,0.35);
    color: var(--it21-gold);
    transition: all 0.25s;
    text-decoration: none;
}
body.theme-season21-infernal-throne .it21-spotlight-slide .it21-btn:hover {
    background: rgba(255,138,56,0.12);
    border-color: var(--it21-gold);
    box-shadow: 0 0 14px rgba(255,138,56,0.15);
}
body.theme-season21-infernal-throne .it21-spotlight-slide .it21-btn i {
    font-size: 0.68rem;
    transition: transform 0.25s;
}
body.theme-season21-infernal-throne .it21-spotlight-slide .it21-btn:hover i {
    transform: translateX(3px);
}

/* Nav pill (arrows + dots) */
body.theme-season21-infernal-throne .it21-spotlight-slider__nav {
    position: absolute;
    bottom: 14px;
    right: 16px;
    z-index: 3;
    display: flex;
    align-items: center;
    gap: 0;
    background: rgba(10,4,4,0.8);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255,138,56,0.15);
    border-radius: 20px;
    padding: 4px 6px;
}

body.theme-season21-infernal-throne .it21-spotlight-slider__arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    border: none;
    background: none;
    color: var(--it21-gold);
    cursor: pointer;
    transition: color 0.2s, background 0.2s;
    font-size: 0.7rem;
    padding: 0;
    margin: 0;
    line-height: 1;
}
body.theme-season21-infernal-throne .it21-spotlight-slider__arrow:hover {
    background: rgba(255,138,56,0.15);
    color: #fff;
}

body.theme-season21-infernal-throne .it21-spotlight-slider__dots {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 0 6px;
}

body.theme-season21-infernal-throne .it21-spotlight-slider__dot {
    display: block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    border: none;
    background: rgba(255,138,56,0.25);
    cursor: pointer;
    transition: all 0.25s;
    padding: 0;
    margin: 0;
}
body.theme-season21-infernal-throne .it21-spotlight-slider__dot.is-active {
    background: var(--it21-gold);
    box-shadow: 0 0 6px rgba(255,120,40,0.5);
    transform: scale(1.3);
}
body.theme-season21-infernal-throne .it21-spotlight-slider__dot:hover {
    background: rgba(255,138,56,0.5);
}

/* Progress bar at bottom of slider */
body.theme-season21-infernal-throne .it21-spotlight-slider__fireline {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 3;
    height: 2px;
    background: rgba(255,138,56,0.12);
    overflow: hidden;
}
body.theme-season21-infernal-throne .it21-spotlight-slider__fireline::after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    background: linear-gradient(90deg, var(--it21-gold), #ff6a1a);
    transform-origin: left;
    transform: scaleX(0);
}
body.theme-season21-infernal-throne .it21-spotlight-slider__fireline.is-running::after {
    animation: it21-spot-progress 6s linear infinite;
}
@keyframes it21-spot-progress {
    0%   { transform: scaleX(0); }
    100% { transform: scaleX(1); }
}

/* Slide counter badge (top-right) */
body.theme-season21-infernal-throne .it21-spotlight-slider__counter {
    position: absolute;
    top: 14px;
    right: 16px;
    z-index: 3;
    font-family: var(--it21-font-ui);
    font-size: 0.6rem;
    font-weight: 600;
    color: var(--it21-text-dim);
    letter-spacing: 0.1em;
    background: rgba(10,4,4,0.7);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255,138,56,0.15);
    border-radius: 6px;
    padding: 4px 10px;
}

/* ── 10. Realm Stats Bar ── */
body.theme-season21-infernal-throne .it21-realm-stats {
    display: flex;
    background: rgba(12,5,4,0.94);
    border: 1px solid rgba(255,138,56,0.1);
    border-top: none;
    backdrop-filter: blur(12px);
}

body.theme-season21-infernal-throne .it21-realm-stats__item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    padding: 14px 6px;
    position: relative;
    transition: background 0.2s;
}
body.theme-season21-infernal-throne .it21-realm-stats__item:hover {
    background: rgba(255,138,56,0.04);
}
body.theme-season21-infernal-throne .it21-realm-stats__item + .it21-realm-stats__item::before {
    content: '';
    position: absolute;
    left: 0;
    top: 20%;
    height: 60%;
    width: 1px;
    background: rgba(255,138,56,0.1);
}

body.theme-season21-infernal-throne .it21-realm-stats__item i {
    font-size: 1rem;
    color: var(--it21-gold);
    opacity: 0.6;
}
body.theme-season21-infernal-throne .it21-realm-stats__item strong {
    font-family: var(--it21-font-ui);
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--it21-text-bright);
    line-height: 1;
}
body.theme-season21-infernal-throne .it21-realm-stats__item span {
    font-family: var(--it21-font-ui);
    font-size: 0.58rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--it21-text-dim);
}

/* ── 10b. Server Features Grid ── */
body.theme-season21-infernal-throne .it21-features-grid {
    background: rgba(12,5,4,0.92);
    border: 1px solid rgba(255,138,56,0.1);
    border-top: none;
    backdrop-filter: blur(12px);
}

body.theme-season21-infernal-throne .it21-features-grid__header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 20px 12px;
    border-bottom: 1px solid rgba(255,138,56,0.06);
}

body.theme-season21-infernal-throne .it21-features-grid__icon {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: rgba(255,138,56,0.06);
    border: 1px solid rgba(255,138,56,0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
body.theme-season21-infernal-throne .it21-features-grid__icon i {
    font-size: 0.95rem;
    color: var(--it21-gold);
}

body.theme-season21-infernal-throne .it21-features-grid__eyebrow {
    display: block;
    font-family: var(--it21-font-ui);
    font-size: 0.55rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--it21-text-dim);
}
body.theme-season21-infernal-throne .it21-features-grid__title {
    font-family: var(--it21-font-head);
    font-size: 0.95rem;
    color: var(--it21-text-bright);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    line-height: 1.2;
}

body.theme-season21-infernal-throne .it21-features-grid__body {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    background: rgba(255,138,56,0.04);
    padding: 0;
}

body.theme-season21-infernal-throne .it21-feature-tile {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 16px 10px;
    background: rgba(12,5,4,0.92);
    transition: background 0.2s;
}
body.theme-season21-infernal-throne .it21-feature-tile:hover {
    background: rgba(20,10,6,0.98);
}

body.theme-season21-infernal-throne .it21-feature-tile__icon {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: linear-gradient(135deg, rgba(255,138,56,0.1), rgba(255,80,0,0.04));
    border: 1px solid rgba(255,138,56,0.12);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 2px;
}
body.theme-season21-infernal-throne .it21-feature-tile__icon i {
    font-size: 0.9rem;
    color: var(--it21-gold);
    opacity: 0.75;
}

body.theme-season21-infernal-throne .it21-feature-tile__label {
    font-family: var(--it21-font-ui);
    font-size: 0.58rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--it21-text-dim);
}
body.theme-season21-infernal-throne .it21-feature-tile__value {
    font-family: var(--it21-font-head);
    font-size: 0.95rem;
    color: var(--it21-text-bright);
    font-weight: 600;
    letter-spacing: 0.02em;
}

/* ── 10c. Why Play Here Section ── */
body.theme-season21-infernal-throne .it21-whyplay {
    position: relative;
    background: rgba(12,5,4,0.92);
    border: 1px solid rgba(255,138,56,0.1);
    backdrop-filter: blur(12px);
    overflow: hidden;
    margin-top: 14px;
    border-radius: var(--it21-radius);
}

body.theme-season21-infernal-throne .it21-whyplay__header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 20px 12px;
    border-bottom: 1px solid rgba(255,138,56,0.06);
}

body.theme-season21-infernal-throne .it21-whyplay__icon {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255,100,20,0.08);
    border: 1px solid rgba(255,138,56,0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
body.theme-season21-infernal-throne .it21-whyplay__icon i {
    font-size: 1rem;
    color: var(--it21-gold);
    text-shadow: 0 0 8px rgba(255,120,40,0.4);
}

body.theme-season21-infernal-throne .it21-whyplay__eyebrow {
    display: block;
    font-family: var(--it21-font-ui);
    font-size: 0.56rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--it21-text-dim);
}
body.theme-season21-infernal-throne .it21-whyplay__title {
    font-family: var(--it21-font-head);
    font-size: 0.95rem;
    color: var(--it21-text);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    line-height: 1.2;
}

body.theme-season21-infernal-throne .it21-whyplay__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1px;
    background: rgba(255,138,56,0.04);
}

body.theme-season21-infernal-throne .it21-whyplay__card {
    background: rgba(12,5,4,0.92);
    padding: 20px 18px;
    transition: background 0.3s;
    position: relative;
}
body.theme-season21-infernal-throne .it21-whyplay__card:hover {
    background: rgba(255,100,20,0.05);
}

body.theme-season21-infernal-throne .it21-whyplay__card-icon {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: linear-gradient(135deg, rgba(255,100,20,0.12) 0%, rgba(255,60,0,0.06) 100%);
    border: 1px solid rgba(255,138,56,0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
}
body.theme-season21-infernal-throne .it21-whyplay__card-icon i {
    font-size: 0.95rem;
    color: var(--it21-gold);
}

body.theme-season21-infernal-throne .it21-whyplay__card-title {
    font-family: var(--it21-font-ui);
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--it21-text);
    margin: 0 0 6px;
}

body.theme-season21-infernal-throne .it21-whyplay__card-desc {
    font-size: 0.78rem;
    line-height: 1.5;
    color: var(--it21-text-dim);
    margin: 0;
}

/* ── 10d. Getting Started / Quick Start Section ── */
body.theme-season21-infernal-throne .it21-quickstart {
    background: rgba(12,5,4,0.92);
    border: 1px solid rgba(255,138,56,0.1);
    border-radius: var(--it21-radius);
    backdrop-filter: blur(12px);
    overflow: hidden;
    margin-top: 14px;
}

body.theme-season21-infernal-throne .it21-quickstart__header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 20px 12px;
    border-bottom: 1px solid rgba(255,138,56,0.06);
}

body.theme-season21-infernal-throne .it21-quickstart__icon {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255,100,20,0.08);
    border: 1px solid rgba(255,138,56,0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
body.theme-season21-infernal-throne .it21-quickstart__icon i {
    font-size: 1rem;
    color: var(--it21-gold);
    text-shadow: 0 0 8px rgba(255,120,40,0.4);
}

body.theme-season21-infernal-throne .it21-quickstart__eyebrow {
    display: block;
    font-family: var(--it21-font-ui);
    font-size: 0.56rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--it21-text-dim);
}
body.theme-season21-infernal-throne .it21-quickstart__title {
    font-family: var(--it21-font-head);
    font-size: 0.95rem;
    color: var(--it21-text);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    line-height: 1.2;
}

body.theme-season21-infernal-throne .it21-quickstart__steps {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 0;
    padding: 24px 16px 12px;
}

body.theme-season21-infernal-throne .it21-quickstart__step {
    flex: 1;
    text-align: center;
    padding: 0 10px;
    position: relative;
}

body.theme-season21-infernal-throne .it21-quickstart__num {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(255,120,30,0.25), rgba(255,60,0,0.12));
    border: 1px solid rgba(255,138,56,0.35);
    color: var(--it21-gold);
    font-family: var(--it21-font-ui);
    font-size: 0.65rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 10px;
    box-shadow: 0 0 10px rgba(255,100,20,0.15);
}

body.theme-season21-infernal-throne .it21-quickstart__step-icon {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(255,100,20,0.1) 0%, rgba(255,60,0,0.04) 100%);
    border: 1px solid rgba(255,138,56,0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 10px;
    transition: border-color 0.3s, box-shadow 0.3s;
}
body.theme-season21-infernal-throne .it21-quickstart__step:hover .it21-quickstart__step-icon {
    border-color: rgba(255,138,56,0.35);
    box-shadow: 0 0 16px rgba(255,100,20,0.15);
}
body.theme-season21-infernal-throne .it21-quickstart__step-icon i {
    font-size: 1.15rem;
    color: var(--it21-gold);
}

body.theme-season21-infernal-throne .it21-quickstart__step-title {
    font-family: var(--it21-font-ui);
    font-size: 0.76rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--it21-text);
    margin: 0 0 4px;
}

body.theme-season21-infernal-throne .it21-quickstart__step-desc {
    font-size: 0.72rem;
    line-height: 1.45;
    color: var(--it21-text-dim);
    margin: 0;
}

body.theme-season21-infernal-throne .it21-quickstart__connector {
    display: flex;
    align-items: center;
    padding-top: 36px;
    color: rgba(255,138,56,0.3);
    font-size: 0.85rem;
    flex-shrink: 0;
}

body.theme-season21-infernal-throne .it21-quickstart__cta {
    text-align: center;
    padding: 8px 20px 20px;
}

body.theme-season21-infernal-throne .it21-btn--lg {
    padding: 10px 28px;
    font-size: 0.82rem;
    gap: 6px;
}

/* ═══════════════════════════════════════════════════════════
   SIDEBAR COMPONENTS (Rail Cards)
   ═══════════════════════════════════════════════════════════ */

/* ── 11. Rail Card (sidebar panel) ── */
body.theme-season21-infernal-throne .it21-rail-card {
    background: linear-gradient(180deg, rgba(14,6,4,0.94) 0%, rgba(10,4,3,0.88) 100%);
    border: 1px solid rgba(255,138,56,0.12);
    border-radius: var(--it21-radius);
    overflow: hidden;
    transition: border-color 0.4s, box-shadow 0.4s;
    backdrop-filter: blur(14px);
    position: relative;
}

/* Fire accent line at top of each card */
body.theme-season21-infernal-throne .it21-rail-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent 0%, rgba(255,138,56,0.5) 20%, var(--it21-gold) 50%, rgba(255,138,56,0.5) 80%, transparent 100%);
    z-index: 1;
}

body.theme-season21-infernal-throne .it21-rail-card:hover {
    border-color: rgba(255,138,56,0.25);
    box-shadow: 0 4px 20px rgba(255,80,0,0.08), 0 0 1px rgba(255,138,56,0.2);
}

body.theme-season21-infernal-throne .it21-rail-card__head {
    padding: 18px 20px 14px;
    border-bottom: 1px solid rgba(255,138,56,0.1);
    position: relative;
}

/* Subtle fire glow at bottom of head */
body.theme-season21-infernal-throne .it21-rail-card__head::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 20%;
    right: 20%;
    height: 1px;
    background: radial-gradient(ellipse at center, rgba(255,138,56,0.3) 0%, transparent 70%);
}

body.theme-season21-infernal-throne .it21-panel__eyebrow {
    display: block;
    font-family: var(--it21-font-ui);
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    color: var(--it21-gold);
    line-height: 1.3;
    margin-bottom: 3px;
    text-shadow: 0 0 12px rgba(255,138,56,0.3);
}

body.theme-season21-infernal-throne .it21-rail-card__head h3 {
    font-family: var(--it21-font-head);
    font-size: 1.15rem;
    font-weight: 600;
    color: #fff;
    margin: 0;
    line-height: 1.2;
    text-shadow: 0 1px 3px rgba(0,0,0,0.5);
}

body.theme-season21-infernal-throne .it21-rail-card__body {
    padding: 14px 20px 20px;
}

body.theme-season21-infernal-throne .it21-rail-card__body p {
    font-size: 0.84rem;
    line-height: 1.55;
    color: var(--it21-text-dim);
    margin: 0 0 12px;
}

/* Stat Row (key-value in sidebar) */
body.theme-season21-infernal-throne .it21-rail-stat {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid rgba(255,138,56,0.08);
    font-size: 0.84rem;
}

body.theme-season21-infernal-throne .it21-rail-stat:last-of-type {
    border-bottom: none;
}

body.theme-season21-infernal-throne .it21-rail-stat span {
    color: rgba(200,175,160,0.7);
}

body.theme-season21-infernal-throne .it21-rail-stat strong {
    color: #fff;
    font-weight: 700;
    text-shadow: 0 0 8px rgba(255,138,56,0.15);
}

/* Action buttons row in sidebar */
body.theme-season21-infernal-throne .it21-rail-actions {
    display: flex;
    gap: 8px;
    margin-top: 16px;
}

/* Text links row */
body.theme-season21-infernal-throne .it21-rail-links {
    display: flex;
    gap: 14px;
    margin-top: 12px;
}

body.theme-season21-infernal-throne .it21-rail-links a {
    font-family: var(--it21-font-ui);
    font-size: 0.76rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--it21-gold);
    transition: color 0.25s, text-shadow 0.25s;
}

body.theme-season21-infernal-throne .it21-rail-links a:hover {
    color: var(--it21-gold-soft);
    text-shadow: 0 0 10px rgba(255,138,56,0.3);
}

/* ── 12. Status Display ── */
body.theme-season21-infernal-throne .it21-status-number {
    font-family: var(--it21-font-head);
    font-size: 3rem;
    font-weight: 700;
    color: #fff;
    line-height: 1;
    margin-bottom: 2px;
    text-shadow: 0 0 20px rgba(255,138,56,0.25), 0 2px 4px rgba(0,0,0,0.4);
}

body.theme-season21-infernal-throne .it21-status-caption {
    font-family: var(--it21-font-ui);
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: rgba(200,175,160,0.6);
    margin-bottom: 12px;
}

body.theme-season21-infernal-throne .it21-loadbar {
    height: 5px;
    background: rgba(255, 138, 56, 0.08);
    border-radius: 3px;
    margin: 14px 0;
    overflow: hidden;
    position: relative;
}

body.theme-season21-infernal-throne .it21-loadbar span {
    display: block;
    height: 100%;
    background: linear-gradient(90deg, var(--it21-gold), #e06820);
    border-radius: 3px;
    min-width: 6%;
    transition: width 0.6s ease;
    box-shadow: 0 0 8px rgba(255,138,56,0.4), 0 0 2px rgba(255,80,0,0.3);
}

body.theme-season21-infernal-throne .it21-status-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1px;
    background: rgba(255,138,56,0.08);
    border-radius: 8px;
    overflow: hidden;
}

body.theme-season21-infernal-throne .it21-status-grid div {
    display: flex;
    flex-direction: column;
    padding: 10px 12px;
    background: rgba(8,3,2,0.8);
}

body.theme-season21-infernal-throne .it21-status-grid span {
    font-family: var(--it21-font-ui);
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: rgba(200,175,160,0.5);
}

body.theme-season21-infernal-throne .it21-status-grid strong {
    font-size: 0.92rem;
    color: #fff;
    text-shadow: 0 0 6px rgba(255,138,56,0.1);
}

body.theme-season21-infernal-throne .it21-status--online {
    color: var(--it21-green) !important;
    text-shadow: 0 0 8px rgba(0,255,100,0.2) !important;
}

/* ── 13. Listing (ranking rows) ── */
body.theme-season21-infernal-throne .it21-listing {
    display: flex;
    flex-direction: column;
    padding: 0 !important;
}

body.theme-season21-infernal-throne .it21-listing__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 20px;
    font-size: 0.84rem;
    border-bottom: 1px solid rgba(255,138,56,0.06);
    transition: background 0.25s;
    color: var(--it21-text);
    text-decoration: none;
}

body.theme-season21-infernal-throne .it21-listing__row:last-child {
    border-bottom: none;
}

body.theme-season21-infernal-throne .it21-listing__row:hover {
    background: rgba(255, 138, 56, 0.08);
}

body.theme-season21-infernal-throne .it21-listing__pos {
    font-family: var(--it21-font-ui);
    font-weight: 700;
    font-size: 0.72rem;
    min-width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    background: rgba(255, 138, 56, 0.08);
    color: rgba(200,175,160,0.6);
    flex-shrink: 0;
    transition: box-shadow 0.3s;
}

body.theme-season21-infernal-throne .it21-listing__row--top1 .it21-listing__pos {
    background: linear-gradient(135deg, rgba(255,215,0,0.2), rgba(255,170,0,0.12));
    color: #ffd700;
    box-shadow: 0 0 8px rgba(255,215,0,0.2);
}

body.theme-season21-infernal-throne .it21-listing__row--top2 .it21-listing__pos {
    background: linear-gradient(135deg, rgba(200,200,210,0.15), rgba(170,170,190,0.1));
    color: #d0d0d8;
    box-shadow: 0 0 6px rgba(200,200,220,0.12);
}

body.theme-season21-infernal-throne .it21-listing__row--top3 .it21-listing__pos {
    background: linear-gradient(135deg, rgba(205,127,50,0.2), rgba(180,100,30,0.12));
    color: #cd7f32;
    box-shadow: 0 0 6px rgba(205,127,50,0.15);
}

body.theme-season21-infernal-throne .it21-listing__name {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: rgba(255,240,225,0.9);
}

body.theme-season21-infernal-throne .it21-listing__row strong {
    flex-shrink: 0;
    font-size: 0.8rem;
    color: var(--it21-gold-soft);
    text-shadow: 0 0 6px rgba(255,138,56,0.15);
}

body.theme-season21-infernal-throne .it21-listing__row--event {
    cursor: default;
}

body.theme-season21-infernal-throne .it21-listing__row--event span {
    color: rgba(255,240,225,0.85);
}

body.theme-season21-infernal-throne .it21-listing__row--event strong {
    color: var(--it21-gold);
    text-shadow: 0 0 8px rgba(255,138,56,0.2);
}

/* ── 14. Winner Grid ── */
body.theme-season21-infernal-throne .it21-winner-grid {
    display: grid;
    gap: 0;
    padding: 0 !important;
}

body.theme-season21-infernal-throne .it21-winner-tile {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 20px;
    border-bottom: 1px solid rgba(255,138,56,0.06);
    font-size: 0.84rem;
}

body.theme-season21-infernal-throne .it21-winner-tile:last-child {
    border-bottom: none;
}

body.theme-season21-infernal-throne .it21-winner-tile span {
    color: rgba(200,175,160,0.6);
}

body.theme-season21-infernal-throne .it21-winner-tile strong {
    font-family: var(--it21-font-head);
    font-size: 0.88rem;
    color: #fff;
    text-shadow: 0 0 6px rgba(255,138,56,0.12);
}

/* ── 15. Mini Ledger (voter list) ── */
body.theme-season21-infernal-throne .it21-mini-ledger {
    margin-bottom: 12px;
}

body.theme-season21-infernal-throne .it21-mini-ledger__row {
    display: flex;
    justify-content: space-between;
    padding: 7px 0;
    border-bottom: 1px solid rgba(255,138,56,0.06);
    font-size: 0.82rem;
}

body.theme-season21-infernal-throne .it21-mini-ledger__row span {
    color: rgba(255,240,225,0.85);
}

body.theme-season21-infernal-throne .it21-mini-ledger__row strong {
    color: var(--it21-gold-soft);
    text-shadow: 0 0 6px rgba(255,138,56,0.15);
}

/* ── 16. Community Links ── */
body.theme-season21-infernal-throne .it21-community-links {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

/* ═══════════════════════════════════════════════════════════
   DISCORD PANEL (Compact centered CTA)
   ═══════════════════════════════════════════════════════════ */

body.theme-season21-infernal-throne .it21-discord-panel {
    position: relative;
    border-radius: var(--it21-radius);
    overflow: hidden;
    background: linear-gradient(165deg, rgba(12,8,28,0.96) 0%, rgba(8,5,20,0.94) 50%, rgba(5,3,14,0.98) 100%);
    border: 1px solid rgba(88,101,242,0.18);
    backdrop-filter: blur(14px);
    transition: border-color 0.4s, box-shadow 0.4s;
}

body.theme-season21-infernal-throne .it21-discord-panel:hover {
    border-color: rgba(88,101,242,0.4);
    box-shadow: 0 4px 32px rgba(88,101,242,0.15), 0 0 1px rgba(88,101,242,0.3);
}

body.theme-season21-infernal-throne .it21-discord-panel__glow {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 160%;
    height: 120%;
    transform: translate(-50%, -50%);
    background: radial-gradient(ellipse at center, rgba(88,101,242,0.06) 0%, transparent 65%);
    pointer-events: none;
    z-index: 0;
    animation: it21-dc-glow-breathe 5s ease-in-out infinite;
}

@keyframes it21-dc-glow-breathe {
    0%, 100% { opacity: 0.3; }
    50% { opacity: 1; }
}

body.theme-season21-infernal-throne .it21-discord-panel__fireline {
    height: 2px;
    background: linear-gradient(90deg, transparent 5%, rgba(88,101,242,0.5) 25%, #7289da 50%, rgba(88,101,242,0.5) 75%, transparent 95%);
    box-shadow: 0 0 10px rgba(88,101,242,0.3), 0 0 3px rgba(88,101,242,0.4);
    position: relative;
    z-index: 1;
}

body.theme-season21-infernal-throne .it21-discord-panel__fireline--bottom {
    box-shadow: 0 0 8px rgba(88,101,242,0.15);
}

body.theme-season21-infernal-throne .it21-discord-panel__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 22px 18px 18px;
    position: relative;
    z-index: 1;
    gap: 4px;
}

body.theme-season21-infernal-throne .it21-discord-panel__icon {
    position: relative;
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: radial-gradient(circle, rgba(88,101,242,0.14) 0%, rgba(88,101,242,0.04) 80%);
    border: 1px solid rgba(88,101,242,0.22);
    border-radius: 50%;
    color: #7289da;
    flex-shrink: 0;
    box-shadow: 0 0 18px rgba(88,101,242,0.08), inset 0 0 10px rgba(88,101,242,0.04);
    animation: it21-dl-icon-float 3s ease-in-out infinite;
}

body.theme-season21-infernal-throne .it21-discord-panel__pulse {
    position: absolute;
    inset: -5px;
    border-radius: 50%;
    border: 1px solid rgba(88,101,242,0.15);
    animation: it21-dc-pulse 3s ease-out infinite;
    pointer-events: none;
}

@keyframes it21-dc-pulse {
    0% { transform: scale(1); opacity: 0.6; }
    100% { transform: scale(1.35); opacity: 0; }
}

body.theme-season21-infernal-throne .it21-discord-panel__title {
    font-family: var(--it21-font-head);
    font-size: 1.1rem;
    font-weight: 700;
    color: #fff;
    margin: 6px 0 0;
    letter-spacing: 0.04em;
    line-height: 1.2;
    text-shadow: 0 1px 6px rgba(0,0,0,0.5);
}

body.theme-season21-infernal-throne .it21-discord-panel__eyebrow {
    font-family: var(--it21-font-ui);
    font-size: 0.56rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    color: rgba(114,137,218,0.5);
    display: block;
    line-height: 1;
}

body.theme-season21-infernal-throne .it21-discord-panel__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 12px 20px;
    margin-top: 10px;
    border: none;
    border-radius: 10px;
    background: linear-gradient(135deg, #5865F2 0%, #4752c4 100%);
    color: #fff;
    font-family: var(--it21-font-ui);
    font-size: 0.76rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    text-decoration: none;
    text-shadow: 0 1px 3px rgba(0,0,0,0.3);
    cursor: pointer;
    position: relative;
    overflow: hidden;
    transition: transform 0.2s, box-shadow 0.3s, filter 0.3s;
    box-shadow:
        0 2px 10px rgba(88,101,242,0.3),
        0 0 0 1px rgba(88,101,242,0.2),
        inset 0 1px 0 rgba(255,255,255,0.1);
}

body.theme-season21-infernal-throne .it21-discord-panel__btn:hover {
    transform: translateY(-2px);
    filter: brightness(1.15);
    box-shadow:
        0 6px 24px rgba(88,101,242,0.4),
        0 0 0 1px rgba(88,101,242,0.35),
        0 0 20px rgba(88,101,242,0.12),
        inset 0 1px 0 rgba(255,255,255,0.15);
}

body.theme-season21-infernal-throne .it21-discord-panel__btn:active {
    transform: translateY(0);
}

body.theme-season21-infernal-throne .it21-discord-panel__btn-glow {
    position: absolute;
    top: 0;
    left: -100%;
    width: 50%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.12), transparent);
    animation: it21-dl-btn-shine 3.5s ease-in-out infinite;
    pointer-events: none;
}

/* ═══════════════════════════════════════════════════════════
   GUILD PANEL (Top Guilds with score bars)
   ═══════════════════════════════════════════════════════════ */

body.theme-season21-infernal-throne .it21-guild-panel {
    position: relative;
    border-radius: var(--it21-radius);
    overflow: hidden;
    background: linear-gradient(165deg, rgba(20,8,4,0.96) 0%, rgba(12,5,3,0.94) 50%, rgba(8,3,2,0.98) 100%);
    border: 1px solid rgba(255,138,56,0.15);
    backdrop-filter: blur(14px);
    transition: border-color 0.4s, box-shadow 0.4s;
}

body.theme-season21-infernal-throne .it21-guild-panel:hover {
    border-color: rgba(255,138,56,0.3);
    box-shadow: 0 4px 28px rgba(255,80,0,0.12);
}

body.theme-season21-infernal-throne .it21-guild-panel__fireline {
    height: 2px;
    background: linear-gradient(90deg, transparent 5%, rgba(255,138,56,0.6) 25%, var(--it21-gold) 50%, rgba(255,138,56,0.6) 75%, transparent 95%);
    box-shadow: 0 0 10px rgba(255,80,0,0.35), 0 0 3px rgba(255,138,56,0.4);
}

body.theme-season21-infernal-throne .it21-guild-panel__fireline--bottom {
    box-shadow: 0 0 8px rgba(255,80,0,0.2);
}

body.theme-season21-infernal-throne .it21-guild-panel__head {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 18px 12px;
}

body.theme-season21-infernal-throne .it21-guild-panel__icon {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: radial-gradient(circle, rgba(255,138,56,0.12) 0%, rgba(255,80,0,0.04) 80%);
    border: 1px solid rgba(255,138,56,0.2);
    border-radius: 50%;
    color: var(--it21-gold);
    font-size: 1.1rem;
    flex-shrink: 0;
    box-shadow: 0 0 12px rgba(255,138,56,0.08);
}

body.theme-season21-infernal-throne .it21-guild-panel__title {
    font-family: var(--it21-font-head);
    font-size: 1rem;
    font-weight: 700;
    color: #fff;
    margin: 0;
    line-height: 1.2;
}

body.theme-season21-infernal-throne .it21-guild-panel__body {
    padding: 0;
}

/* Guild row with score bar */
body.theme-season21-infernal-throne .it21-guild-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 18px;
    border-bottom: 1px solid rgba(255,138,56,0.05);
    text-decoration: none;
    color: var(--it21-text);
    transition: background 0.25s;
}

body.theme-season21-infernal-throne .it21-guild-row:last-child {
    border-bottom: none;
}

body.theme-season21-infernal-throne .it21-guild-row:hover {
    background: rgba(255,138,56,0.06);
}

body.theme-season21-infernal-throne .it21-guild-row--first {
    background: linear-gradient(90deg, rgba(255,215,0,0.04) 0%, transparent 100%);
    padding: 12px 18px;
}

body.theme-season21-infernal-throne .it21-guild-row__rank {
    width: 26px;
    height: 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-family: var(--it21-font-ui);
    font-weight: 700;
    font-size: 0.7rem;
    background: rgba(255,138,56,0.06);
    color: rgba(200,175,160,0.5);
    flex-shrink: 0;
}

body.theme-season21-infernal-throne .it21-guild-row--first .it21-guild-row__rank {
    background: linear-gradient(135deg, rgba(255,215,0,0.25), rgba(255,170,0,0.15));
    color: #ffd700;
    box-shadow: 0 0 10px rgba(255,215,0,0.2);
    font-size: 0.95rem;
}

body.theme-season21-infernal-throne .it21-guild-row:nth-child(2) .it21-guild-row__rank {
    background: linear-gradient(135deg, rgba(200,200,220,0.18), rgba(170,170,200,0.1));
    color: #d0d0d8;
    box-shadow: 0 0 8px rgba(200,200,220,0.12);
    font-size: 0.85rem;
}

body.theme-season21-infernal-throne .it21-guild-row:nth-child(3) .it21-guild-row__rank {
    background: linear-gradient(135deg, rgba(205,127,50,0.22), rgba(180,100,30,0.12));
    color: #cd7f32;
    box-shadow: 0 0 8px rgba(205,127,50,0.15);
    font-size: 0.85rem;
}

body.theme-season21-infernal-throne .it21-guild-row__info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

body.theme-season21-infernal-throne .it21-guild-row__name {
    font-size: 0.82rem;
    color: rgba(255,240,225,0.85);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.theme-season21-infernal-throne .it21-guild-row--first .it21-guild-row__name {
    color: #fff;
    font-weight: 600;
}

body.theme-season21-infernal-throne .it21-guild-row__bar {
    height: 3px;
    background: rgba(255,138,56,0.08);
    border-radius: 2px;
    overflow: hidden;
}

body.theme-season21-infernal-throne .it21-guild-row__bar span {
    display: block;
    height: 100%;
    background: linear-gradient(90deg, var(--it21-gold), #e06820);
    border-radius: 2px;
    min-width: 4%;
    transition: width 0.6s ease;
    box-shadow: 0 0 4px rgba(255,138,56,0.3);
}

body.theme-season21-infernal-throne .it21-guild-row--first .it21-guild-row__bar span {
    box-shadow: 0 0 8px rgba(255,138,56,0.5);
}

body.theme-season21-infernal-throne .it21-guild-row__score {
    font-size: 0.78rem;
    color: var(--it21-gold-soft);
    text-shadow: 0 0 6px rgba(255,138,56,0.15);
    flex-shrink: 0;
    min-width: 36px;
    text-align: right;
}

/* ═══════════════════════════════════════════════════════════
   VOTE PANEL (Compact centered CTA)
   ═══════════════════════════════════════════════════════════ */

body.theme-season21-infernal-throne .it21-vote-panel {
    position: relative;
    border-radius: var(--it21-radius);
    overflow: hidden;
    background: linear-gradient(165deg, rgba(20,8,4,0.96) 0%, rgba(12,5,3,0.94) 50%, rgba(8,3,2,0.98) 100%);
    border: 1px solid rgba(255,138,56,0.15);
    backdrop-filter: blur(14px);
    transition: border-color 0.4s, box-shadow 0.4s;
}

body.theme-season21-infernal-throne .it21-vote-panel:hover {
    border-color: rgba(255,138,56,0.35);
    box-shadow: 0 4px 32px rgba(255,80,0,0.18), 0 0 1px rgba(255,138,56,0.3);
}

body.theme-season21-infernal-throne .it21-vote-panel__glow {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 160%;
    height: 120%;
    transform: translate(-50%, -50%);
    background: radial-gradient(ellipse at center, rgba(255,200,50,0.05) 0%, transparent 65%);
    pointer-events: none;
    z-index: 0;
    animation: it21-dl-glow-breathe 4.5s ease-in-out infinite;
}

body.theme-season21-infernal-throne .it21-vote-panel__fireline {
    height: 2px;
    background: linear-gradient(90deg, transparent 5%, rgba(255,138,56,0.6) 25%, var(--it21-gold) 50%, rgba(255,138,56,0.6) 75%, transparent 95%);
    box-shadow: 0 0 10px rgba(255,80,0,0.35), 0 0 3px rgba(255,138,56,0.4);
    position: relative;
    z-index: 1;
}

body.theme-season21-infernal-throne .it21-vote-panel__fireline--bottom {
    box-shadow: 0 0 8px rgba(255,80,0,0.2);
}

body.theme-season21-infernal-throne .it21-vote-panel__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 22px 18px 18px;
    position: relative;
    z-index: 1;
    gap: 4px;
}

body.theme-season21-infernal-throne .it21-vote-panel__icon {
    position: relative;
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: radial-gradient(circle, rgba(255,200,50,0.12) 0%, rgba(255,170,0,0.04) 80%);
    border: 1px solid rgba(255,200,50,0.2);
    border-radius: 50%;
    color: #ffc832;
    font-size: 1.4rem;
    flex-shrink: 0;
    box-shadow: 0 0 18px rgba(255,200,50,0.08), inset 0 0 10px rgba(255,200,50,0.04);
    animation: it21-dl-icon-float 3s ease-in-out infinite;
}

body.theme-season21-infernal-throne .it21-vote-panel__pulse {
    position: absolute;
    inset: -5px;
    border-radius: 50%;
    border: 1px solid rgba(255,200,50,0.15);
    animation: it21-dl-pulse 2.8s ease-out infinite;
    pointer-events: none;
}

body.theme-season21-infernal-throne .it21-vote-panel__title {
    font-family: var(--it21-font-head);
    font-size: 1.1rem;
    font-weight: 700;
    color: #fff;
    margin: 6px 0 0;
    letter-spacing: 0.04em;
    line-height: 1.2;
    text-shadow: 0 1px 6px rgba(0,0,0,0.5);
}

body.theme-season21-infernal-throne .it21-vote-panel__eyebrow {
    font-family: var(--it21-font-ui);
    font-size: 0.56rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    color: rgba(255,200,100,0.45);
    display: block;
    line-height: 1;
}

body.theme-season21-infernal-throne .it21-vote-panel__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 12px 20px;
    margin-top: 10px;
    border: none;
    border-radius: 10px;
    background: linear-gradient(135deg, #e07018 0%, #c44e0c 40%, #a83a08 100%);
    color: #fff;
    font-family: var(--it21-font-ui);
    font-size: 0.76rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    text-decoration: none;
    text-shadow: 0 1px 3px rgba(0,0,0,0.4);
    cursor: pointer;
    position: relative;
    overflow: hidden;
    transition: transform 0.2s, box-shadow 0.3s, filter 0.3s;
    box-shadow:
        0 2px 10px rgba(255,100,20,0.35),
        0 0 0 1px rgba(255,138,56,0.2),
        inset 0 1px 0 rgba(255,255,255,0.1);
}

body.theme-season21-infernal-throne .it21-vote-panel__btn:hover {
    transform: translateY(-2px);
    filter: brightness(1.15);
    box-shadow:
        0 6px 24px rgba(255,100,20,0.45),
        0 0 0 1px rgba(255,138,56,0.35),
        0 0 20px rgba(255,80,0,0.15),
        inset 0 1px 0 rgba(255,255,255,0.15);
}

body.theme-season21-infernal-throne .it21-vote-panel__btn:active {
    transform: translateY(0);
}

body.theme-season21-infernal-throne .it21-vote-panel__btn-glow {
    position: absolute;
    top: 0;
    left: -100%;
    width: 50%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.15), transparent);
    animation: it21-dl-btn-shine 3.5s ease-in-out infinite;
    pointer-events: none;
}

/* ── 17. Empty State ── */
body.theme-season21-infernal-throne .it21-empty-note {
    font-size: 0.84rem;
    color: var(--it21-text-dim);
    font-style: italic;
    padding: 4px 0;
}

/* ═══════════════════════════════════════════════════════════
   DOWNLOAD PANEL (Compact centered CTA)
   ═══════════════════════════════════════════════════════════ */

body.theme-season21-infernal-throne .it21-download-panel {
    position: relative;
    border-radius: var(--it21-radius);
    overflow: hidden;
    background: linear-gradient(165deg, rgba(20,8,4,0.96) 0%, rgba(12,5,3,0.94) 50%, rgba(8,3,2,0.98) 100%);
    border: 1px solid rgba(255,138,56,0.15);
    backdrop-filter: blur(14px);
    transition: border-color 0.4s, box-shadow 0.4s;
}

body.theme-season21-infernal-throne .it21-download-panel:hover {
    border-color: rgba(255,138,56,0.35);
    box-shadow: 0 4px 32px rgba(255,80,0,0.18), 0 0 1px rgba(255,138,56,0.3);
}

/* Ambient fire glow behind the card */
body.theme-season21-infernal-throne .it21-download-panel__glow {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 160%;
    height: 120%;
    transform: translate(-50%, -50%);
    background: radial-gradient(ellipse at center, rgba(255,80,0,0.08) 0%, transparent 65%);
    pointer-events: none;
    z-index: 0;
    animation: it21-dl-glow-breathe 4s ease-in-out infinite;
}

@keyframes it21-dl-glow-breathe {
    0%, 100% { opacity: 0.4; }
    50% { opacity: 1; }
}

/* Fire accent lines */
body.theme-season21-infernal-throne .it21-download-panel__fireline {
    height: 2px;
    background: linear-gradient(90deg, transparent 5%, rgba(255,138,56,0.6) 25%, var(--it21-gold) 50%, rgba(255,138,56,0.6) 75%, transparent 95%);
    box-shadow: 0 0 10px rgba(255,80,0,0.35), 0 0 3px rgba(255,138,56,0.4);
    position: relative;
    z-index: 1;
}

body.theme-season21-infernal-throne .it21-download-panel__fireline--bottom {
    box-shadow: 0 0 8px rgba(255,80,0,0.2);
}

/* Inner content — centered vertically */
body.theme-season21-infernal-throne .it21-download-panel__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 22px 18px 18px;
    position: relative;
    z-index: 1;
    gap: 6px;
}

/* Animated icon — large centered circle */
body.theme-season21-infernal-throne .it21-download-panel__icon {
    position: relative;
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: radial-gradient(circle, rgba(255,138,56,0.14) 0%, rgba(255,80,0,0.05) 80%);
    border: 1px solid rgba(255,138,56,0.25);
    border-radius: 50%;
    color: var(--it21-gold);
    font-size: 1.5rem;
    flex-shrink: 0;
    box-shadow: 0 0 20px rgba(255,138,56,0.1), inset 0 0 12px rgba(255,80,0,0.06);
    animation: it21-dl-icon-float 3s ease-in-out infinite;
}

@keyframes it21-dl-icon-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-3px); }
}

/* Pulsing ring around icon */
body.theme-season21-infernal-throne .it21-download-panel__pulse {
    position: absolute;
    inset: -5px;
    border-radius: 50%;
    border: 1px solid rgba(255,138,56,0.18);
    animation: it21-dl-pulse 2.8s ease-out infinite;
    pointer-events: none;
}

@keyframes it21-dl-pulse {
    0% { transform: scale(1); opacity: 0.6; }
    100% { transform: scale(1.35); opacity: 0; }
}

body.theme-season21-infernal-throne .it21-download-panel__title {
    font-family: var(--it21-font-head);
    font-size: 1.15rem;
    font-weight: 700;
    color: #fff;
    margin: 4px 0 0;
    text-shadow: 0 1px 6px rgba(0,0,0,0.5), 0 0 14px rgba(255,100,20,0.15);
    line-height: 1.2;
    letter-spacing: 0.04em;
}

body.theme-season21-infernal-throne .it21-download-panel__eyebrow {
    font-family: var(--it21-font-ui);
    font-size: 0.56rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    color: rgba(255,180,100,0.5);
    display: block;
    line-height: 1;
}

/* Download button — full width, prominent */
body.theme-season21-infernal-throne .it21-download-panel__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 12px 20px;
    margin-top: 8px;
    border: none;
    border-radius: 10px;
    background: linear-gradient(135deg, #e07018 0%, #c44e0c 40%, #a83a08 100%);
    color: #fff;
    font-family: var(--it21-font-ui);
    font-size: 0.76rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    text-decoration: none;
    text-shadow: 0 1px 3px rgba(0,0,0,0.4);
    cursor: pointer;
    position: relative;
    overflow: hidden;
    transition: transform 0.2s, box-shadow 0.3s, filter 0.3s;
    box-shadow:
        0 2px 10px rgba(255,100,20,0.35),
        0 0 0 1px rgba(255,138,56,0.2),
        inset 0 1px 0 rgba(255,255,255,0.1);
}

body.theme-season21-infernal-throne .it21-download-panel__btn:hover {
    transform: translateY(-2px);
    filter: brightness(1.15);
    box-shadow:
        0 6px 24px rgba(255,100,20,0.45),
        0 0 0 1px rgba(255,138,56,0.35),
        0 0 20px rgba(255,80,0,0.15),
        inset 0 1px 0 rgba(255,255,255,0.15);
}

body.theme-season21-infernal-throne .it21-download-panel__btn:active {
    transform: translateY(0);
}

/* Shine sweep on button */
body.theme-season21-infernal-throne .it21-download-panel__btn-glow {
    position: absolute;
    top: 0;
    left: -100%;
    width: 50%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.15), transparent);
    animation: it21-dl-btn-shine 3s ease-in-out infinite;
    pointer-events: none;
}

@keyframes it21-dl-btn-shine {
    0%, 70% { left: -100%; }
    100% { left: 200%; }
}

/* ═══════════════════════════════════════════════════════════
   SERVER STATUS PANEL — Beacon / radar aesthetic
   ═══════════════════════════════════════════════════════════ */

body.theme-season21-infernal-throne .it21-server-panel {
    position: relative;
    border-radius: var(--it21-radius);
    overflow: hidden;
    background: #0a0302;
    border: 1px solid rgba(255,138,56,0.22);
    transition: border-color 0.5s, box-shadow 0.5s;
}
body.theme-season21-infernal-throne .it21-server-panel:hover {
    border-color: rgba(255,138,56,0.55);
    box-shadow: 0 0 60px rgba(255,80,0,0.2), 0 0 1px rgba(255,138,56,0.5);
}

/* ── Volcanic background — layered lava scene ── */
body.theme-season21-infernal-throne .it21-server-panel__glow {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
        radial-gradient(ellipse at 50% 20%, rgba(255,120,40,0.18) 0%, transparent 50%),
        radial-gradient(ellipse at 30% 85%, rgba(255,60,10,0.12) 0%, transparent 40%),
        radial-gradient(ellipse at 70% 80%, rgba(200,50,0,0.10) 0%, transparent 35%),
        radial-gradient(ellipse at 50% 100%, rgba(255,80,20,0.22) 0%, transparent 55%),
        linear-gradient(180deg, rgba(10,3,2,0.1) 0%, rgba(30,8,4,0.6) 40%, rgba(60,15,5,0.35) 70%, rgba(10,3,2,0.95) 100%);
    animation: it21-sv-lava-shift 8s ease-in-out infinite alternate;
}
@keyframes it21-sv-lava-shift {
    0%   { opacity: 0.8; filter: hue-rotate(0deg) brightness(0.9); }
    50%  { opacity: 1;   filter: hue-rotate(4deg) brightness(1.1); }
    100% { opacity: 0.85; filter: hue-rotate(-3deg) brightness(1); }
}

/* ── Heat shimmer overlay ── */
body.theme-season21-infernal-throne .it21-server-panel__glow::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        repeating-linear-gradient(0deg,
            transparent 0px,
            rgba(255,120,40,0.015) 2px,
            transparent 4px
        );
    animation: it21-sv-heat-shimmer 3s linear infinite;
}
@keyframes it21-sv-heat-shimmer {
    0%   { transform: translateY(0); }
    100% { transform: translateY(-8px); }
}

/* ── Cinder particles (CSS-only, 8 sparks) ── */
body.theme-season21-infernal-throne .it21-server-panel__embers {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    overflow: hidden;
}
body.theme-season21-infernal-throne .it21-server-panel__embers span {
    position: absolute;
    bottom: -4px;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: #ff9944;
    opacity: 0;
    animation: it21-sv-ember-rise 4s ease-out infinite;
}
body.theme-season21-infernal-throne .it21-server-panel__embers span:nth-child(1) { left: 12%; animation-delay: 0s;   animation-duration: 3.5s; }
body.theme-season21-infernal-throne .it21-server-panel__embers span:nth-child(2) { left: 28%; animation-delay: .6s;  animation-duration: 4.2s; width: 2px; height: 2px; }
body.theme-season21-infernal-throne .it21-server-panel__embers span:nth-child(3) { left: 45%; animation-delay: 1.2s; animation-duration: 3.8s; }
body.theme-season21-infernal-throne .it21-server-panel__embers span:nth-child(4) { left: 62%; animation-delay: .3s;  animation-duration: 4.5s; width: 2px; height: 2px; }
body.theme-season21-infernal-throne .it21-server-panel__embers span:nth-child(5) { left: 78%; animation-delay: 1.8s; animation-duration: 3.3s; }
body.theme-season21-infernal-throne .it21-server-panel__embers span:nth-child(6) { left: 88%; animation-delay: .9s;  animation-duration: 4s;   width: 2px; height: 2px; }
body.theme-season21-infernal-throne .it21-server-panel__embers span:nth-child(7) { left: 35%; animation-delay: 2.1s; animation-duration: 3.6s; }
body.theme-season21-infernal-throne .it21-server-panel__embers span:nth-child(8) { left: 55%; animation-delay: 1.5s; animation-duration: 4.8s; width: 2px; height: 2px; }

@keyframes it21-sv-ember-rise {
    0%   { opacity: 0; transform: translateY(0) scale(1); }
    15%  { opacity: 0.9; }
    60%  { opacity: 0.6; }
    100% { opacity: 0; transform: translateY(-180px) translateX(8px) scale(0.3); }
}

/* Fire lines */
body.theme-season21-infernal-throne .it21-server-panel__fireline {
    height: 2px;
    background: linear-gradient(90deg, transparent 2%, rgba(255,100,30,0.5) 20%, #ff8a38 50%, rgba(255,100,30,0.5) 80%, transparent 98%);
    box-shadow: 0 0 12px rgba(255,80,0,0.45), 0 2px 20px rgba(255,60,0,0.2);
    position: relative;
    z-index: 2;
}
body.theme-season21-infernal-throne .it21-server-panel__fireline--bottom {
    box-shadow: 0 0 10px rgba(255,80,0,0.3), 0 -2px 16px rgba(255,60,0,0.12);
}

/* ── Animated radar/sonar rings ── */
body.theme-season21-infernal-throne .it21-server-panel__rings {
    position: absolute;
    top: 28%;
    left: 50%;
    width: 0;
    height: 0;
    z-index: 0;
    pointer-events: none;
}
body.theme-season21-infernal-throne .it21-server-panel__ring {
    position: absolute;
    border-radius: 50%;
    border: 1px solid rgba(255,138,56,0.06);
    transform: translate(-50%, -50%);
}
body.theme-season21-infernal-throne .it21-server-panel__ring--1 {
    width: 70px; height: 70px;
    animation: it21-sv-ring-expand 5s ease-out infinite;
}
body.theme-season21-infernal-throne .it21-server-panel__ring--2 {
    width: 120px; height: 120px;
    animation: it21-sv-ring-expand 5s ease-out infinite 1.2s;
}
body.theme-season21-infernal-throne .it21-server-panel__ring--3 {
    width: 180px; height: 180px;
    animation: it21-sv-ring-expand 5s ease-out infinite 2.4s;
}
@keyframes it21-sv-ring-expand {
    0%   { transform: translate(-50%, -50%) scale(0.3); opacity: 0; border-color: rgba(255,138,56,0.15); }
    15%  { opacity: 0.7; }
    100% { transform: translate(-50%, -50%) scale(2); opacity: 0; border-color: rgba(255,138,56,0.01); }
}

/* ── Inner content column ── */
body.theme-season21-infernal-throne .it21-server-panel__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 28px 18px 22px;
    position: relative;
    z-index: 1;
    gap: 0;
}

/* ── Beacon — infernal eye with layered glow ── */
body.theme-season21-infernal-throne .it21-server-panel__beacon {
    position: relative;
    width: 72px;
    height: 72px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
}

/* Outer halo ring */
body.theme-season21-infernal-throne .it21-server-panel__beacon::before {
    content: '';
    position: absolute;
    inset: -4px;
    border-radius: 50%;
    border: 2px solid rgba(255,138,56,0.10);
    animation: it21-sv-halo-spin 12s linear infinite;
    background: conic-gradient(from 0deg, transparent 0%, rgba(255,138,56,0.12) 25%, transparent 50%, rgba(255,100,30,0.08) 75%, transparent 100%);
    mask-image: radial-gradient(circle, transparent 55%, black 56%);
    -webkit-mask-image: radial-gradient(circle, transparent 55%, black 56%);
}
@keyframes it21-sv-halo-spin {
    to { transform: rotate(360deg); }
}

body.theme-season21-infernal-throne .it21-server-panel__beacon-core {
    position: relative;
    z-index: 2;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: radial-gradient(circle, #ffc06a 0%, #ff8a38 35%, #e05500 65%, rgba(180,40,0,.8) 100%);
    box-shadow:
        0 0 15px rgba(255,138,56,0.8),
        0 0 40px rgba(255,100,30,0.45),
        0 0 70px rgba(255,60,0,0.2),
        inset 0 0 6px rgba(255,200,120,0.4);
    animation: it21-sv-core-pulse 2.5s ease-in-out infinite;
}
@keyframes it21-sv-core-pulse {
    0%, 100% {
        box-shadow:
            0 0 15px rgba(255,138,56,0.8),
            0 0 40px rgba(255,100,30,0.45),
            0 0 70px rgba(255,60,0,0.2),
            inset 0 0 6px rgba(255,200,120,0.4);
        transform: scale(1);
    }
    50% {
        box-shadow:
            0 0 22px rgba(255,138,56,1),
            0 0 55px rgba(255,100,30,0.55),
            0 0 90px rgba(255,60,0,0.25),
            inset 0 0 10px rgba(255,220,150,0.5);
        transform: scale(1.12);
    }
}

/* Beacon pulse waves */
body.theme-season21-infernal-throne .it21-server-panel__beacon-wave {
    position: absolute;
    inset: 4px;
    border-radius: 50%;
    border: 1.5px solid rgba(255,138,56,0.4);
    animation: it21-sv-beacon-wave 3.5s ease-out infinite;
}
body.theme-season21-infernal-throne .it21-server-panel__beacon-wave--2 {
    animation-delay: 1.75s;
}
@keyframes it21-sv-beacon-wave {
    0%   { transform: scale(0.4); opacity: 0.9; border-color: rgba(255,160,70,0.6); }
    100% { transform: scale(4);   opacity: 0;   border-color: rgba(255,138,56,0.02); }
}

/* ── Player count ── */
body.theme-season21-infernal-throne .it21-server-panel__count {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    margin-bottom: 6px;
}
body.theme-season21-infernal-throne .it21-server-panel__number {
    font-family: var(--it21-font-head);
    font-size: 3rem;
    font-weight: 700;
    color: #fff;
    line-height: 1;
    text-shadow:
        0 0 40px rgba(255,138,56,0.4),
        0 0 80px rgba(255,100,30,0.15),
        0 2px 10px rgba(0,0,0,0.6);
    letter-spacing: .03em;
}
body.theme-season21-infernal-throne .it21-server-panel__label {
    font-family: var(--it21-font-ui);
    font-size: 0.54rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.22em;
    color: rgba(255,138,56,0.40);
}

/* ── Server name ── */
body.theme-season21-infernal-throne .it21-server-panel__title {
    font-family: var(--it21-font-head);
    font-size: 0.9rem;
    font-weight: 600;
    color: rgba(235,215,195,0.55);
    margin: 4px 0 12px;
    letter-spacing: 0.06em;
    line-height: 1.2;
}

/* ── EXP / DROP stats bar ── */
body.theme-season21-infernal-throne .it21-server-panel__meta {
    display: flex;
    align-items: center;
    gap: 0;
    margin-bottom: 14px;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid rgba(255,138,56,0.10);
    background: rgba(0,0,0,0.3);
}
body.theme-season21-infernal-throne .it21-server-panel__meta-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    padding: 8px 20px;
    position: relative;
}
body.theme-season21-infernal-throne .it21-server-panel__meta-item span {
    font-family: var(--it21-font-ui);
    font-size: 0.5rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    color: rgba(200,175,160,0.35);
}
body.theme-season21-infernal-throne .it21-server-panel__meta-item strong {
    font-family: var(--it21-font-head);
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--it21-gold-soft);
    text-shadow: 0 0 12px rgba(255,138,56,0.2);
}
body.theme-season21-infernal-throne .it21-server-panel__meta-divider {
    width: 1px;
    align-self: stretch;
    background: linear-gradient(180deg, transparent, rgba(255,138,56,0.15), transparent);
}

/* ── Online status pill ── */
body.theme-season21-infernal-throne .it21-server-panel__status {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 6px 18px;
    border-radius: 20px;
    background: rgba(80,200,120,0.06);
    border: 1px solid rgba(80,200,120,0.18);
    font-family: var(--it21-font-ui);
    font-size: 0.6rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: #5ddb7a;
    box-shadow: 0 0 20px rgba(80,200,120,0.06);
}
body.theme-season21-infernal-throne .it21-server-panel__dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #5ddb7a;
    box-shadow: 0 0 6px rgba(80,200,120,0.7), 0 0 14px rgba(80,200,120,0.3);
    animation: it21-sv-dot-blink 2s ease-in-out infinite;
}
@keyframes it21-sv-dot-blink {
    0%, 100% { opacity: 1; box-shadow: 0 0 6px rgba(80,200,120,0.7), 0 0 14px rgba(80,200,120,0.3); }
    50%      { opacity: 0.3; box-shadow: 0 0 3px rgba(80,200,120,0.3); }
}

/* ═══════════════════════════════════════════════════════════
   HALL OF FAME CARDS (Rankings)
   ═══════════════════════════════════════════════════════════ */

body.theme-season21-infernal-throne .it21-hall-card {
    background: linear-gradient(180deg, rgba(14,6,4,0.94) 0%, rgba(10,4,3,0.88) 100%);
    border: 1px solid rgba(255,138,56,0.12);
    border-radius: var(--it21-radius);
    overflow: hidden;
    backdrop-filter: blur(14px);
    position: relative;
    transition: border-color 0.4s, box-shadow 0.4s;
}

body.theme-season21-infernal-throne .it21-hall-card:hover {
    border-color: rgba(255,138,56,0.25);
    box-shadow: 0 4px 20px rgba(255,80,0,0.08);
}

/* Head with centered icon */
body.theme-season21-infernal-throne .it21-hall-card__head {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 20px 14px;
    text-align: center;
    position: relative;
}

body.theme-season21-infernal-throne .it21-hall-card__head h3 {
    font-family: var(--it21-font-head);
    font-size: 1.1rem;
    color: #fff;
    margin: 0;
    text-shadow: 0 1px 3px rgba(0,0,0,0.4);
}

/* Fire line at top of hall card */
body.theme-season21-infernal-throne .it21-hall-card__fireline {
    width: 100%;
    height: 2px;
    margin-bottom: 16px;
    background: linear-gradient(90deg, transparent 0%, rgba(255,138,56,0.5) 20%, var(--it21-gold) 50%, rgba(255,138,56,0.5) 80%, transparent 100%);
    box-shadow: 0 0 8px rgba(255,80,0,0.25);
    align-self: stretch;
}

/* Icon circle */
body.theme-season21-infernal-throne .it21-hall-card__icon {
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(255,138,56,0.15), rgba(255,80,0,0.08));
    border: 1px solid rgba(255,138,56,0.25);
    border-radius: 50%;
    margin-bottom: 8px;
    color: var(--it21-gold);
    font-size: 1.1rem;
    box-shadow: 0 0 12px rgba(255,138,56,0.12);
}

body.theme-season21-infernal-throne .it21-hall-card__body {
    padding: 0;
}

/* Hall row — each ranking entry */
body.theme-season21-infernal-throne .it21-hall-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 20px;
    border-bottom: 1px solid rgba(255,138,56,0.06);
    transition: background 0.25s;
    text-decoration: none;
    color: var(--it21-text);
}

body.theme-season21-infernal-throne .it21-hall-row:last-child {
    border-bottom: none;
}

body.theme-season21-infernal-throne .it21-hall-row:hover {
    background: rgba(255,138,56,0.06);
}

/* Rank badge */
body.theme-season21-infernal-throne .it21-hall-row__rank {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-family: var(--it21-font-ui);
    font-weight: 700;
    font-size: 0.72rem;
    background: rgba(255,138,56,0.06);
    color: rgba(200,175,160,0.5);
    flex-shrink: 0;
    transition: box-shadow 0.3s;
}

/* Champion row (1st place) — highlighted */
body.theme-season21-infernal-throne .it21-hall-row--champion {
    background: linear-gradient(90deg, rgba(255,215,0,0.05) 0%, transparent 100%);
    padding: 14px 20px;
}

body.theme-season21-infernal-throne .it21-hall-row--champion .it21-hall-row__name {
    font-weight: 600;
    color: #fff;
}

/* Top 1: gold */
body.theme-season21-infernal-throne .it21-hall-row--top1 .it21-hall-row__rank {
    background: linear-gradient(135deg, rgba(255,215,0,0.25), rgba(255,170,0,0.15));
    color: #ffd700;
    box-shadow: 0 0 10px rgba(255,215,0,0.2);
    font-size: 1rem;
}

/* Top 2: silver */
body.theme-season21-infernal-throne .it21-hall-row--top2 .it21-hall-row__rank {
    background: linear-gradient(135deg, rgba(200,200,220,0.18), rgba(170,170,200,0.1));
    color: #d0d0d8;
    box-shadow: 0 0 8px rgba(200,200,220,0.12);
    font-size: 0.9rem;
}

/* Top 3: bronze */
body.theme-season21-infernal-throne .it21-hall-row--top3 .it21-hall-row__rank {
    background: linear-gradient(135deg, rgba(205,127,50,0.22), rgba(180,100,30,0.12));
    color: #cd7f32;
    box-shadow: 0 0 8px rgba(205,127,50,0.15);
    font-size: 0.9rem;
}

body.theme-season21-infernal-throne .it21-hall-row__name {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: rgba(255,240,225,0.85);
    font-size: 0.86rem;
}

body.theme-season21-infernal-throne .it21-hall-row__value {
    flex-shrink: 0;
    font-size: 0.82rem;
    color: var(--it21-gold-soft);
    text-shadow: 0 0 6px rgba(255,138,56,0.15);
}

body.theme-season21-infernal-throne .it21-hall-row__value small {
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    opacity: 0.6;
}

/* Footer link */
body.theme-season21-infernal-throne .it21-hall-card__foot {
    padding: 0 20px 16px;
    text-align: center;
}

body.theme-season21-infernal-throne .it21-hall-card__more {
    font-family: var(--it21-font-ui);
    font-size: 0.70rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--it21-gold);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 8px 16px;
    border: 1px solid rgba(255,138,56,0.15);
    border-radius: 20px;
    transition: color 0.25s, background 0.25s, border-color 0.25s, text-shadow 0.25s;
}

body.theme-season21-infernal-throne .it21-hall-card__more:hover {
    color: #fff;
    background: rgba(255,138,56,0.08);
    border-color: rgba(255,138,56,0.35);
    text-shadow: 0 0 10px rgba(255,138,56,0.3);
}

/* ═══════════════════════════════════════════════════════════
   BUTTONS & FORMS
   ═══════════════════════════════════════════════════════════ */

/* ── 18. Buttons ── */
body.theme-season21-infernal-throne .it21-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: var(--it21-font-ui);
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: rgba(255,240,225,0.85);
    background: rgba(255,138,56,0.06);
    border: 1px solid rgba(255,138,56,0.2);
    padding: 10px 22px;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.25s, border-color 0.25s, transform 0.15s, color 0.25s, box-shadow 0.25s;
    text-decoration: none;
    white-space: nowrap;
    min-height: 40px;
    gap: 6px;
    position: relative;
    overflow: hidden;
}

body.theme-season21-infernal-throne .it21-btn:hover {
    background: rgba(255, 138, 56, 0.14);
    border-color: rgba(255,138,56,0.45);
    color: #fff;
    box-shadow: 0 0 12px rgba(255,138,56,0.1);
}

body.theme-season21-infernal-throne .it21-btn--primary {
    background: linear-gradient(135deg, var(--it21-gold) 0%, #d45a10 60%, #b84000 100%);
    border: none;
    color: #fff;
    text-shadow: 0 1px 3px rgba(0,0,0,0.4);
    box-shadow: 0 2px 10px rgba(255,100,20,0.25), inset 0 1px 0 rgba(255,255,255,0.1);
}

/* Shine sweep on primary button */
body.theme-season21-infernal-throne .it21-btn--primary::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 60%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.12), transparent);
    transition: left 0.5s ease;
}

body.theme-season21-infernal-throne .it21-btn--primary:hover::after {
    left: 120%;
}

body.theme-season21-infernal-throne .it21-btn--primary:hover {
    filter: brightness(1.15);
    transform: translateY(-1px);
    color: #fff;
    box-shadow: 0 4px 16px rgba(255,100,20,0.35), inset 0 1px 0 rgba(255,255,255,0.1);
}

body.theme-season21-infernal-throne .it21-btn--block {
    width: 100%;
}

body.theme-season21-infernal-throne .it21-btn--small {
    font-size: 0.70rem;
    padding: 7px 14px;
    min-height: 32px;
}

body.theme-season21-infernal-throne .it21-btn--discord {
    background: #5865F2;
    border-color: #5865F2;
    color: #fff;
}

body.theme-season21-infernal-throne .it21-btn--discord:hover {
    background: #4752c4;
    border-color: #4752c4;
    color: #fff;
    box-shadow: 0 0 12px rgba(88,101,242,0.25);
}

/* ── 19. Login Form ── */
body.theme-season21-infernal-throne .it21-login-form {
    display: grid;
    gap: 10px;
}

body.theme-season21-infernal-throne .it21-login-form input[type="text"],
body.theme-season21-infernal-throne .it21-login-form input[type="password"] {
    width: 100%;
    min-height: 40px;
    padding: 8px 14px;
    background: rgba(0, 0, 0, 0.4);
    border: 1px solid rgba(255,138,56,0.12);
    border-radius: 8px;
    color: #fff;
    font-family: var(--it21-font-body);
    font-size: 0.88rem;
    outline: none;
    transition: border-color 0.25s, box-shadow 0.25s;
}

body.theme-season21-infernal-throne .it21-login-form input[type="text"]:focus,
body.theme-season21-infernal-throne .it21-login-form input[type="password"]:focus {
    border-color: var(--it21-gold);
    box-shadow: 0 0 0 3px rgba(255, 138, 56, 0.1), 0 0 12px rgba(255,138,56,0.08);
}

body.theme-season21-infernal-throne .it21-login-form input::placeholder {
    color: rgba(200,175,160,0.4);
}

/* ═══════════════════════════════════════════════════════════
   ACCOUNT PANEL
   ═══════════════════════════════════════════════════════════ */

body.theme-season21-infernal-throne .it21-account-panel {
    position: relative;
    border-radius: var(--it21-radius);
    background: rgba(20,8,4,0.96);
    border: 1px solid rgba(255,138,56,0.12);
    overflow: hidden;
    transition: border-color 0.3s;
}
body.theme-season21-infernal-throne .it21-account-panel:hover {
    border-color: rgba(255,138,56,0.22);
}

body.theme-season21-infernal-throne .it21-account-panel__fireline {
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--it21-gold) 50%, transparent);
    box-shadow: 0 0 8px rgba(255,80,0,0.35), 0 2px 12px rgba(255,80,0,0.15);
}
body.theme-season21-infernal-throne .it21-account-panel__fireline--bottom {
    box-shadow: 0 0 8px rgba(255,80,0,0.35), 0 -2px 12px rgba(255,80,0,0.15);
}

body.theme-season21-infernal-throne .it21-account-panel__glow {
    position: absolute;
    top: 0; left: 50%;
    transform: translateX(-50%);
    width: 70%;
    height: 50px;
    background: radial-gradient(ellipse, rgba(255,138,56,0.1), transparent 70%);
    pointer-events: none;
}

body.theme-season21-infernal-throne .it21-account-panel__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 22px 18px 18px;
    gap: 6px;
}

body.theme-season21-infernal-throne .it21-account-panel__icon {
    position: relative;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: rgba(255,138,56,0.08);
    border: 1px solid rgba(255,138,56,0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 4px;
}
body.theme-season21-infernal-throne .it21-account-panel__icon i {
    font-size: 1.3rem;
    color: var(--it21-gold);
    animation: it21-dl-icon-float 3s ease-in-out infinite;
}

body.theme-season21-infernal-throne .it21-account-panel__pulse {
    position: absolute;
    inset: -6px;
    border-radius: 50%;
    border: 1px solid rgba(255,138,56,0.15);
    animation: it21-dl-pulse 2.5s ease-out infinite;
}

body.theme-season21-infernal-throne .it21-account-panel__title {
    font-family: var(--it21-font-head);
    font-size: 1.05rem;
    color: var(--it21-text-bright);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

body.theme-season21-infernal-throne .it21-account-panel__eyebrow {
    font-family: var(--it21-font-ui);
    font-size: 0.68rem;
    color: var(--it21-text-dim);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 6px;
}

/* Balance coins */
body.theme-season21-infernal-throne .it21-account-panel__balances {
    display: flex;
    flex-direction: column;
    gap: 4px;
    width: 100%;
    margin: 10px 0 6px;
}

body.theme-season21-infernal-throne .it21-account-panel__coin {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 10px;
    background: rgba(0,0,0,.3);
    border: 1px solid rgba(255,255,255,.04);
    transition: border-color .25s, background .25s;
}
body.theme-season21-infernal-throne .it21-account-panel__coin:hover {
    border-color: rgba(255,138,56,.12);
    background: rgba(255,138,56,.04);
}
body.theme-season21-infernal-throne .it21-account-panel__coin-icon {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: rgba(255,138,56,.08);
    border: 1px solid rgba(255,138,56,.1);
    flex-shrink: 0;
}
body.theme-season21-infernal-throne .it21-account-panel__coin-icon i {
    font-size: .95rem;
    color: var(--it21-gold);
}
body.theme-season21-infernal-throne .it21-account-panel__coin-info {
    display: flex;
    flex-direction: column;
    gap: 1px;
    min-width: 0;
    flex: 1;
}
body.theme-season21-infernal-throne .it21-account-panel__coin-info small {
    font: 600 .55rem var(--it21-font-ui);
    text-transform: uppercase;
    letter-spacing: .1em;
    color: var(--it21-text-dim);
    opacity: .7;
}
body.theme-season21-infernal-throne .it21-account-panel__coin-info strong {
    font: 700 1rem var(--it21-font-ui);
    color: var(--it21-text);
    line-height: 1.1;
}

/* Account panel buttons */
body.theme-season21-infernal-throne .it21-account-panel__actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
    width: 100%;
    margin-top: 10px;
}

body.theme-season21-infernal-throne .it21-account-panel__btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 10px 14px;
    border-radius: 8px;
    background: rgba(255,138,56,.06);
    border: 1px solid rgba(255,138,56,.12);
    color: var(--it21-text-dim);
    font-family: var(--it21-font-ui);
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    cursor: pointer;
    overflow: hidden;
    transition: color .25s, border-color .25s, background .25s, box-shadow .25s, transform .15s;
    text-decoration: none;
}
body.theme-season21-infernal-throne .it21-account-panel__btn:hover {
    color: var(--it21-text);
    border-color: rgba(255,138,56,.3);
    background: rgba(255,138,56,.1);
    transform: translateY(-1px);
    box-shadow: 0 2px 12px rgba(255,80,0,.1);
}
body.theme-season21-infernal-throne .it21-account-panel__btn i {
    font-size: 0.85rem;
}

body.theme-season21-infernal-throne .it21-account-panel__btn--cta {
    width: 100%;
    margin-top: 6px;
    background: linear-gradient(135deg, var(--it21-gold), #d05510);
    border-color: transparent;
    color: #0e0604;
    font-weight: 700;
    box-shadow: 0 2px 12px rgba(255,100,20,.2);
}
body.theme-season21-infernal-throne .it21-account-panel__btn--cta:hover {
    filter: brightness(1.12);
    color: #0e0604;
    transform: translateY(-1px);
    box-shadow: 0 4px 18px rgba(255,100,20,.3);
}

body.theme-season21-infernal-throne .it21-account-panel__btn--submit {
    background: linear-gradient(135deg, rgba(255,138,56,0.18), rgba(255,80,0,0.12));
    border-color: rgba(255,138,56,0.3);
    width: 100%;
}
body.theme-season21-infernal-throne .it21-account-panel__btn--submit:hover {
    border-color: rgba(255,138,56,0.55);
    box-shadow: 0 0 22px rgba(255,80,0,0.2);
}

body.theme-season21-infernal-throne .it21-account-panel__btn-glow {
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg, transparent 40%, rgba(255,255,255,0.08) 50%, transparent 60%);
    transform: translateX(-100%);
    transition: transform 0.6s ease;
    pointer-events: none;
}
body.theme-season21-infernal-throne .it21-account-panel__btn:hover .it21-account-panel__btn-glow {
    transform: translateX(100%);
}

/* Account form */
body.theme-season21-infernal-throne .it21-account-panel__form {
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 100%;
    margin-top: 10px;
}
body.theme-season21-infernal-throne .it21-account-panel__form input[type="text"],
body.theme-season21-infernal-throne .it21-account-panel__form input[type="password"] {
    width: 100%;
    padding: 10px 12px;
    border-radius: 6px;
    border: 1px solid rgba(255,138,56,0.12);
    background: rgba(10,4,2,0.6);
    color: var(--it21-text-bright);
    font-family: var(--it21-font-ui);
    font-size: 0.8rem;
    transition: border-color 0.3s, box-shadow 0.3s;
}
body.theme-season21-infernal-throne .it21-account-panel__form input[type="text"]:focus,
body.theme-season21-infernal-throne .it21-account-panel__form input[type="password"]:focus {
    outline: none;
    border-color: rgba(255,138,56,0.35);
    box-shadow: 0 0 0 3px rgba(255,138,56,0.08), 0 0 12px rgba(255,138,56,0.06);
}
body.theme-season21-infernal-throne .it21-account-panel__form input::placeholder {
    color: rgba(200,175,160,0.35);
}

/* Account links */
body.theme-season21-infernal-throne .it21-account-panel__links {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 10px;
    font-family: var(--it21-font-ui);
    font-size: 0.68rem;
}
body.theme-season21-infernal-throne .it21-account-panel__links a {
    color: var(--it21-gold);
    text-decoration: none;
    opacity: 0.65;
    transition: opacity 0.2s;
}
body.theme-season21-infernal-throne .it21-account-panel__links a:hover {
    opacity: 1;
}
body.theme-season21-infernal-throne .it21-account-panel__sep {
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: rgba(255,138,56,0.3);
}

/* ═══════════════════════════════════════════════════════════
   HALL OF FAME PANEL
   ═══════════════════════════════════════════════════════════ */

body.theme-season21-infernal-throne .it21-fame-panel {
    position: relative;
    border-radius: var(--it21-radius);
    background: rgba(20,8,4,0.96);
    border: 1px solid rgba(255,138,56,0.12);
    overflow: hidden;
    transition: border-color 0.3s;
}
body.theme-season21-infernal-throne .it21-fame-panel:hover {
    border-color: rgba(255,138,56,0.22);
}

body.theme-season21-infernal-throne .it21-fame-panel__fireline {
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--it21-gold) 50%, transparent);
    box-shadow: 0 0 8px rgba(255,80,0,0.35), 0 2px 12px rgba(255,80,0,0.15);
}
body.theme-season21-infernal-throne .it21-fame-panel__fireline--bottom {
    box-shadow: 0 0 8px rgba(255,80,0,0.35), 0 -2px 12px rgba(255,80,0,0.15);
}

body.theme-season21-infernal-throne .it21-fame-panel__head {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px 10px;
}
body.theme-season21-infernal-throne .it21-fame-panel__icon {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(255,138,56,0.08);
    border: 1px solid rgba(255,138,56,0.18);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
body.theme-season21-infernal-throne .it21-fame-panel__icon i {
    font-size: 0.9rem;
    color: var(--it21-gold);
}

body.theme-season21-infernal-throne .it21-fame-panel__eyebrow {
    font-family: var(--it21-font-ui);
    font-size: 0.58rem;
    color: var(--it21-text-dim);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    display: block;
}
body.theme-season21-infernal-throne .it21-fame-panel__title {
    font-family: var(--it21-font-head);
    font-size: 0.9rem;
    color: var(--it21-text-bright);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    line-height: 1.2;
}

body.theme-season21-infernal-throne .it21-fame-panel__body {
    padding: 0 6px 6px;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

/* Fame row */
body.theme-season21-infernal-throne .it21-fame-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    border-radius: 6px;
    background: rgba(255,138,56,0.02);
    border: 1px solid transparent;
    transition: background 0.2s, border-color 0.2s;
    text-decoration: none;
    color: inherit;
}
body.theme-season21-infernal-throne .it21-fame-row:hover {
    background: rgba(255,138,56,0.06);
    border-color: rgba(255,138,56,0.1);
}

body.theme-season21-infernal-throne .it21-fame-row__rank {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--it21-font-ui);
    font-size: 0.7rem;
    font-weight: 700;
    color: var(--it21-text-dim);
    background: rgba(255,138,56,0.04);
    border: 1px solid rgba(255,138,56,0.08);
    flex-shrink: 0;
}

body.theme-season21-infernal-throne .it21-fame-row--top1 .it21-fame-row__rank {
    background: rgba(255,200,50,0.12);
    border-color: rgba(255,200,50,0.25);
    color: #ffd700;
}
body.theme-season21-infernal-throne .it21-fame-row--top1 .it21-fame-row__rank i {
    font-size: 0.75rem;
    color: #ffd700;
}
body.theme-season21-infernal-throne .it21-fame-row--top2 .it21-fame-row__rank {
    background: rgba(192,192,192,0.1);
    border-color: rgba(192,192,192,0.2);
    color: #c0c0c0;
}
body.theme-season21-infernal-throne .it21-fame-row--top2 .it21-fame-row__rank i {
    font-size: 0.7rem;
    color: #c0c0c0;
}
body.theme-season21-infernal-throne .it21-fame-row--top3 .it21-fame-row__rank {
    background: rgba(205,127,50,0.1);
    border-color: rgba(205,127,50,0.2);
    color: #cd7f32;
}
body.theme-season21-infernal-throne .it21-fame-row--top3 .it21-fame-row__rank i {
    font-size: 0.7rem;
    color: #cd7f32;
}

body.theme-season21-infernal-throne .it21-fame-row--champion {
    background: rgba(255,200,50,0.04);
    border-color: rgba(255,200,50,0.1);
}

body.theme-season21-infernal-throne .it21-fame-row__name {
    flex: 1;
    font-family: var(--it21-font-ui);
    font-size: 0.78rem;
    color: var(--it21-text-soft);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
body.theme-season21-infernal-throne .it21-fame-row--champion .it21-fame-row__name {
    color: var(--it21-text-bright);
    font-weight: 600;
}

body.theme-season21-infernal-throne .it21-fame-row__value {
    font-family: var(--it21-font-ui);
    font-size: 0.78rem;
    color: var(--it21-gold);
    font-weight: 600;
    white-space: nowrap;
}
body.theme-season21-infernal-throne .it21-fame-row__value small {
    font-size: 0.6rem;
    font-weight: 400;
    opacity: 0.6;
    margin-left: 2px;
}

/* Fame footer */
body.theme-season21-infernal-throne .it21-fame-panel__foot {
    padding: 8px 16px 12px;
    text-align: center;
}
body.theme-season21-infernal-throne .it21-fame-panel__more {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--it21-font-ui);
    font-size: 0.7rem;
    color: var(--it21-gold);
    text-decoration: none;
    opacity: 0.6;
    transition: opacity 0.2s;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
body.theme-season21-infernal-throne .it21-fame-panel__more:hover {
    opacity: 1;
}
body.theme-season21-infernal-throne .it21-fame-panel__more i {
    font-size: 0.8rem;
}

/* ═══════════════════════════════════════════════════════════
   WAR WINNERS PANEL
   ═══════════════════════════════════════════════════════════ */

body.theme-season21-infernal-throne .it21-war-panel {
    position: relative;
    border-radius: var(--it21-radius);
    background: rgba(20,8,4,0.96);
    border: 1px solid rgba(255,138,56,0.12);
    overflow: hidden;
    transition: border-color 0.3s;
}
body.theme-season21-infernal-throne .it21-war-panel:hover {
    border-color: rgba(255,138,56,0.22);
}

body.theme-season21-infernal-throne .it21-war-panel__fireline {
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--it21-gold) 50%, transparent);
    box-shadow: 0 0 8px rgba(255,80,0,0.35), 0 2px 12px rgba(255,80,0,0.15);
}
body.theme-season21-infernal-throne .it21-war-panel__fireline--bottom {
    box-shadow: 0 0 8px rgba(255,80,0,0.35), 0 -2px 12px rgba(255,80,0,0.15);
}

body.theme-season21-infernal-throne .it21-war-panel__head {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px 10px;
}
body.theme-season21-infernal-throne .it21-war-panel__icon {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(255,80,60,0.08);
    border: 1px solid rgba(255,80,60,0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
body.theme-season21-infernal-throne .it21-war-panel__icon i {
    font-size: 0.9rem;
    color: #ff6b4a;
}
body.theme-season21-infernal-throne .it21-war-panel__title {
    font-family: var(--it21-font-head);
    font-size: 0.9rem;
    color: var(--it21-text-bright);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

body.theme-season21-infernal-throne .it21-war-panel__body {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 0 6px 6px;
}

/* War row */
body.theme-season21-infernal-throne .it21-war-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 6px;
    background: rgba(255,80,60,0.02);
    transition: background 0.2s;
}
body.theme-season21-infernal-throne .it21-war-row:hover {
    background: rgba(255,80,60,0.05);
}

body.theme-season21-infernal-throne .it21-war-row__badge {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: rgba(255,80,60,0.06);
    border: 1px solid rgba(255,80,60,0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
body.theme-season21-infernal-throne .it21-war-row__badge i {
    font-size: 0.85rem;
    color: #ff6b4a;
    opacity: 0.8;
}

body.theme-season21-infernal-throne .it21-war-row__info {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}
body.theme-season21-infernal-throne .it21-war-row__label {
    font-family: var(--it21-font-ui);
    font-size: 0.6rem;
    color: var(--it21-text-dim);
    text-transform: uppercase;
    letter-spacing: 0.08em;
}
body.theme-season21-infernal-throne .it21-war-row__value {
    font-family: var(--it21-font-ui);
    font-size: 0.82rem;
    color: var(--it21-text-bright);
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ═══════════════════════════════════════════════════════════
   EVENTS PANEL
   ═══════════════════════════════════════════════════════════ */

body.theme-season21-infernal-throne .it21-events-panel {
    position: relative;
    border-radius: var(--it21-radius);
    background: rgba(20,8,4,0.96);
    border: 1px solid rgba(255,138,56,0.12);
    overflow: hidden;
    transition: border-color 0.3s;
}
body.theme-season21-infernal-throne .it21-events-panel:hover {
    border-color: rgba(255,138,56,0.22);
}

body.theme-season21-infernal-throne .it21-events-panel__fireline {
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--it21-gold) 50%, transparent);
    box-shadow: 0 0 8px rgba(255,80,0,0.35), 0 2px 12px rgba(255,80,0,0.15);
}
body.theme-season21-infernal-throne .it21-events-panel__fireline--bottom {
    box-shadow: 0 0 8px rgba(255,80,0,0.35), 0 -2px 12px rgba(255,80,0,0.15);
}

body.theme-season21-infernal-throne .it21-events-panel__head {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px 10px;
}
body.theme-season21-infernal-throne .it21-events-panel__icon {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(100,180,255,0.06);
    border: 1px solid rgba(100,180,255,0.18);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
body.theme-season21-infernal-throne .it21-events-panel__icon i {
    font-size: 0.9rem;
    color: #64b4ff;
}
body.theme-season21-infernal-throne .it21-events-panel__title {
    font-family: var(--it21-font-head);
    font-size: 0.9rem;
    color: var(--it21-text-bright);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

body.theme-season21-infernal-throne .it21-events-panel__body {
    display: flex;
    flex-direction: column;
    gap: 1px;
    padding: 0 6px 6px;
}

/* Event row */
body.theme-season21-infernal-throne .it21-event-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 8px 12px;
    border-radius: 6px;
    transition: background 0.2s;
}
body.theme-season21-infernal-throne .it21-event-row:hover {
    background: rgba(100,180,255,0.04);
}

body.theme-season21-infernal-throne .it21-event-row__name {
    display: flex;
    align-items: center;
    gap: 6px;
    font-family: var(--it21-font-ui);
    font-size: 0.75rem;
    color: var(--it21-text-soft);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
body.theme-season21-infernal-throne .it21-event-row__name i {
    font-size: 0.7rem;
    color: #64b4ff;
    opacity: 0.6;
    flex-shrink: 0;
}

body.theme-season21-infernal-throne .it21-event-row__time {
    font-family: var(--it21-font-ui);
    font-size: 0.72rem;
    color: var(--it21-gold);
    font-weight: 600;
    white-space: nowrap;
    flex-shrink: 0;
}

/* ═══════════════════════════════════════════════════════════
   INNER PAGES
   ═══════════════════════════════════════════════════════════ */

/* ── 20. Breadcrumbs ── */
body.theme-season21-infernal-throne .it21-breadcrumbs {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 16px 4px;
    font-family: var(--it21-font-ui);
    font-size: 0.78rem;
    color: var(--it21-text-dim);
}

body.theme-season21-infernal-throne .it21-breadcrumbs a {
    color: var(--it21-gold);
    transition: color 0.2s;
}

body.theme-season21-infernal-throne .it21-breadcrumbs a:hover {
    color: var(--it21-gold-soft);
}

/* ── 21. Inner Page Layout ── */
body.theme-season21-infernal-throne .it21-inner-stage {
    padding: 0 0 32px;
}

body.theme-season21-infernal-throne .it21-main-grid {
    display: grid;
    grid-template-columns: 230px 1fr 260px;
    gap: 16px;
}

body.theme-season21-infernal-throne .it21-rail {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

body.theme-season21-infernal-throne .it21-content-shell {
    min-width: 0;
}

/* ═══════════════════════════════════════════════════════════
   AUTH / REGISTRATION PAGE
   ═══════════════════════════════════════════════════════════ */

body.theme-season21-infernal-throne .it21-auth-page {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 18px;
    padding: 0 0 32px;
}

/* ── Auth Card (main form panel) ── */
body.theme-season21-infernal-throne .it21-auth-card {
    position: relative;
    border-radius: var(--it21-radius);
    background: rgba(20,8,4,0.96);
    border: 1px solid rgba(255,138,56,0.12);
    overflow: hidden;
    transition: border-color 0.3s;
}
body.theme-season21-infernal-throne .it21-auth-card:hover {
    border-color: rgba(255,138,56,0.2);
}

body.theme-season21-infernal-throne .it21-auth-card__fireline {
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--it21-gold) 50%, transparent);
    box-shadow: 0 0 8px rgba(255,80,0,0.35), 0 2px 12px rgba(255,80,0,0.15);
}
body.theme-season21-infernal-throne .it21-auth-card__fireline--bottom {
    box-shadow: 0 0 8px rgba(255,80,0,0.35), 0 -2px 12px rgba(255,80,0,0.15);
}

body.theme-season21-infernal-throne .it21-auth-card__glow {
    position: absolute;
    top: 0; left: 50%;
    transform: translateX(-50%);
    width: 60%;
    height: 80px;
    background: radial-gradient(ellipse, rgba(255,138,56,0.08), transparent 70%);
    pointer-events: none;
}

body.theme-season21-infernal-throne .it21-auth-card__inner {
    padding: 32px 32px 28px;
}

body.theme-season21-infernal-throne .it21-auth-card__header {
    text-align: center;
    margin-bottom: 28px;
}

body.theme-season21-infernal-throne .it21-auth-card__icon {
    position: relative;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: rgba(255,138,56,0.08);
    border: 1px solid rgba(255,138,56,0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 12px;
}
body.theme-season21-infernal-throne .it21-auth-card__icon i {
    font-size: 1.4rem;
    color: var(--it21-gold);
    animation: it21-dl-icon-float 3s ease-in-out infinite;
}
body.theme-season21-infernal-throne .it21-auth-card__pulse {
    position: absolute;
    inset: -6px;
    border-radius: 50%;
    border: 1px solid rgba(255,138,56,0.15);
    animation: it21-dl-pulse 2.5s ease-out infinite;
}

body.theme-season21-infernal-throne .it21-auth-card__eyebrow {
    display: block;
    font-family: var(--it21-font-ui);
    font-size: 0.62rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--it21-gold);
    margin-bottom: 4px;
}

body.theme-season21-infernal-throne .it21-auth-card__title {
    font-family: var(--it21-font-head);
    font-size: 1.6rem;
    color: var(--it21-text-bright);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin: 0 0 8px;
}

body.theme-season21-infernal-throne .it21-auth-card__subtitle {
    font-family: var(--it21-font-body);
    font-size: 0.85rem;
    line-height: 1.5;
    color: var(--it21-text-dim);
    max-width: 480px;
    margin: 0 auto;
}

/* ── Auth Form ── */
body.theme-season21-infernal-throne .it21-auth-form {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

body.theme-season21-infernal-throne .it21-auth-form__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

body.theme-season21-infernal-throne .it21-auth-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

body.theme-season21-infernal-throne .it21-auth-field__label {
    display: flex;
    align-items: center;
    gap: 6px;
    font-family: var(--it21-font-ui);
    font-size: 0.68rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--it21-gold);
    opacity: 0.7;
}
body.theme-season21-infernal-throne .it21-auth-field__label i {
    font-size: 0.8rem;
    opacity: 0.6;
}

body.theme-season21-infernal-throne .it21-auth-field__input {
    width: 100%;
    padding: 11px 14px;
    border-radius: 8px;
    border: 1px solid rgba(255,138,56,0.12);
    background: rgba(10,4,2,0.6);
    color: var(--it21-text-bright);
    font-family: var(--it21-font-ui);
    font-size: 0.85rem;
    transition: border-color 0.3s, box-shadow 0.3s, background 0.3s;
}
body.theme-season21-infernal-throne .it21-auth-field__input:focus {
    outline: none;
    border-color: rgba(255,138,56,0.35);
    background: rgba(10,4,2,0.8);
    box-shadow: 0 0 0 3px rgba(255,138,56,0.08), 0 0 16px rgba(255,138,56,0.06);
}
body.theme-season21-infernal-throne .it21-auth-field__input::placeholder {
    color: rgba(200,175,160,0.3);
}
body.theme-season21-infernal-throne .it21-auth-field__input[readonly] {
    opacity: 0.5;
    cursor: default;
}

/* Checkbox */
body.theme-season21-infernal-throne .it21-auth-check {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 0;
    cursor: pointer;
}
body.theme-season21-infernal-throne .it21-auth-check input[type="checkbox"] {
    width: 16px;
    height: 16px;
    accent-color: var(--it21-gold);
    cursor: pointer;
}
body.theme-season21-infernal-throne .it21-auth-check span {
    font-family: var(--it21-font-ui);
    font-size: 0.78rem;
    color: var(--it21-text-dim);
}

/* Submit button */
body.theme-season21-infernal-throne .it21-auth-submit {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 14px 24px;
    border-radius: 8px;
    border: 1px solid rgba(255,138,56,0.3);
    background: linear-gradient(135deg, rgba(255,138,56,0.18), rgba(255,80,0,0.12));
    color: var(--it21-gold);
    font-family: var(--it21-font-ui);
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    cursor: pointer;
    overflow: hidden;
    transition: border-color 0.3s, background 0.3s, box-shadow 0.3s, color 0.3s;
}
body.theme-season21-infernal-throne .it21-auth-submit:hover {
    border-color: rgba(255,138,56,0.55);
    background: linear-gradient(135deg, rgba(255,138,56,0.25), rgba(255,80,0,0.18));
    color: var(--it21-text-bright);
    box-shadow: 0 0 24px rgba(255,80,0,0.2), 0 4px 16px rgba(255,80,0,0.1);
}
body.theme-season21-infernal-throne .it21-auth-submit i {
    font-size: 1rem;
}
body.theme-season21-infernal-throne .it21-auth-submit__glow {
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg, transparent 40%, rgba(255,255,255,0.08) 50%, transparent 60%);
    transform: translateX(-100%);
    transition: transform 0.6s ease;
    pointer-events: none;
}
body.theme-season21-infernal-throne .it21-auth-submit:hover .it21-auth-submit__glow {
    transform: translateX(100%);
}

body.theme-season21-infernal-throne .it21-auth-form__actions {
    margin-top: 4px;
}

body.theme-season21-infernal-throne .it21-auth-form__footer {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding-top: 8px;
    font-family: var(--it21-font-ui);
    font-size: 0.75rem;
    color: var(--it21-text-dim);
}
body.theme-season21-infernal-throne .it21-auth-form__footer a {
    color: var(--it21-gold);
    text-decoration: none;
    transition: color 0.2s;
}
body.theme-season21-infernal-throne .it21-auth-form__footer a:hover {
    color: var(--it21-gold-soft);
}

/* ── Auth Aside (right panel) ── */
body.theme-season21-infernal-throne .it21-auth-aside {
    display: flex;
    flex-direction: column;
    gap: 14px;
    align-content: start;
}

/* Info panel (steps) */
body.theme-season21-infernal-throne .it21-auth-info {
    position: relative;
    border-radius: var(--it21-radius);
    background: rgba(20,8,4,0.96);
    border: 1px solid rgba(255,138,56,0.12);
    overflow: hidden;
}

body.theme-season21-infernal-throne .it21-auth-info__fireline {
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(100,200,120,0.4) 50%, transparent);
    box-shadow: 0 0 6px rgba(100,200,120,0.15);
}
body.theme-season21-infernal-throne .it21-auth-info__fireline--bottom {
    box-shadow: 0 0 6px rgba(100,200,120,0.15), 0 -2px 8px rgba(100,200,120,0.05);
}

body.theme-season21-infernal-throne .it21-auth-info__head {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px 10px;
}
body.theme-season21-infernal-throne .it21-auth-info__icon {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(100,200,120,0.06);
    border: 1px solid rgba(100,200,120,0.18);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
body.theme-season21-infernal-throne .it21-auth-info__icon i {
    font-size: 0.9rem;
    color: #6ec87a;
}
body.theme-season21-infernal-throne .it21-auth-info__eyebrow {
    display: block;
    font-family: var(--it21-font-ui);
    font-size: 0.55rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--it21-text-dim);
}
body.theme-season21-infernal-throne .it21-auth-info__title {
    font-family: var(--it21-font-head);
    font-size: 0.9rem;
    color: var(--it21-text-bright);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    line-height: 1.2;
}

body.theme-season21-infernal-throne .it21-auth-info__body {
    padding: 4px 12px 12px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

/* Steps */
body.theme-season21-infernal-throne .it21-auth-step {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 10px 10px;
    border-radius: 8px;
    transition: background 0.2s;
}
body.theme-season21-infernal-throne .it21-auth-step:hover {
    background: rgba(100,200,120,0.03);
}

body.theme-season21-infernal-throne .it21-auth-step__num {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: rgba(100,200,120,0.08);
    border: 1px solid rgba(100,200,120,0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--it21-font-ui);
    font-size: 0.7rem;
    font-weight: 700;
    color: #6ec87a;
    flex-shrink: 0;
    margin-top: 1px;
}

body.theme-season21-infernal-throne .it21-auth-step__content {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
body.theme-season21-infernal-throne .it21-auth-step__content strong {
    font-family: var(--it21-font-ui);
    font-size: 0.8rem;
    color: var(--it21-text-soft);
    font-weight: 600;
}
body.theme-season21-infernal-throne .it21-auth-step__content span {
    font-family: var(--it21-font-ui);
    font-size: 0.72rem;
    color: var(--it21-text-dim);
    line-height: 1.4;
}

/* Stats panel */
body.theme-season21-infernal-throne .it21-auth-stats {
    position: relative;
    border-radius: var(--it21-radius);
    background: rgba(20,8,4,0.96);
    border: 1px solid rgba(255,138,56,0.12);
    overflow: hidden;
}

body.theme-season21-infernal-throne .it21-auth-stats__fireline {
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--it21-gold) 50%, transparent);
    box-shadow: 0 0 6px rgba(255,80,0,0.2);
}
body.theme-season21-infernal-throne .it21-auth-stats__fireline--bottom {
    box-shadow: 0 0 6px rgba(255,80,0,0.2), 0 -2px 8px rgba(255,80,0,0.05);
}

body.theme-season21-infernal-throne .it21-auth-stats__head {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 16px 10px;
}
body.theme-season21-infernal-throne .it21-auth-stats__icon {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: rgba(255,138,56,0.06);
    border: 1px solid rgba(255,138,56,0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
body.theme-season21-infernal-throne .it21-auth-stats__icon i {
    font-size: 0.8rem;
    color: var(--it21-gold);
}
body.theme-season21-infernal-throne .it21-auth-stats__title {
    font-family: var(--it21-font-head);
    font-size: 0.85rem;
    color: var(--it21-text-bright);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

body.theme-season21-infernal-throne .it21-auth-stats__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1px;
    background: rgba(255,138,56,0.04);
    padding: 0;
}

body.theme-season21-infernal-throne .it21-auth-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    padding: 12px 8px;
    background: rgba(20,8,4,0.96);
}
body.theme-season21-infernal-throne .it21-auth-stat span {
    font-family: var(--it21-font-ui);
    font-size: 0.55rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--it21-text-dim);
}
body.theme-season21-infernal-throne .it21-auth-stat strong {
    font-family: var(--it21-font-head);
    font-size: 0.95rem;
    color: var(--it21-text-bright);
    font-weight: 600;
}

/* Quick links row */
body.theme-season21-infernal-throne .it21-auth-links {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

body.theme-season21-infernal-throne .it21-auth-link {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 8px;
    background: rgba(20,8,4,0.8);
    border: 1px solid rgba(255,138,56,0.08);
    font-family: var(--it21-font-ui);
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--it21-text-soft);
    text-decoration: none;
    transition: background 0.2s, border-color 0.2s, color 0.2s;
}
body.theme-season21-infernal-throne .it21-auth-link:hover {
    background: rgba(255,138,56,0.06);
    border-color: rgba(255,138,56,0.18);
    color: var(--it21-gold);
}
body.theme-season21-infernal-throne .it21-auth-link i {
    font-size: 0.9rem;
    color: var(--it21-gold);
    opacity: 0.5;
}

/* ═══════════════════════════════════════════════════════════
   RANKINGS & INNER PAGES (shared)
   ═══════════════════════════════════════════════════════════ */

body.theme-season21-infernal-throne .it21-rank-page {
    display: flex;
    flex-direction: column;
    gap: 18px;
    max-width: 960px;
    margin: 0 auto;
    padding: 24px 0 32px;
}

/* ── Rank Hero ── */
body.theme-season21-infernal-throne .it21-rank-hero {
    position: relative;
    border-radius: var(--it21-radius);
    background: rgba(20,8,4,0.96);
    border: 1px solid rgba(255,138,56,0.12);
    overflow: hidden;
    backdrop-filter: blur(14px);
}
body.theme-season21-infernal-throne .it21-rank-hero__fireline {
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--it21-gold) 50%, transparent);
    box-shadow: 0 0 6px rgba(255,80,0,0.2);
}
body.theme-season21-infernal-throne .it21-rank-hero__fireline--bottom {
    box-shadow: 0 0 6px rgba(255,80,0,0.2), 0 -2px 8px rgba(255,80,0,0.05);
}
body.theme-season21-infernal-throne .it21-rank-hero__glow {
    position: absolute;
    top: 0;
    left: 50%;
    translate: -50% 0;
    width: 300px;
    height: 80px;
    background: radial-gradient(ellipse, rgba(255,100,30,0.10) 0%, transparent 70%);
    pointer-events: none;
}
body.theme-season21-infernal-throne .it21-rank-hero__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 28px 32px;
}
body.theme-season21-infernal-throne .it21-rank-hero__left {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
body.theme-season21-infernal-throne .it21-rank-hero__icon {
    position: relative;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(255,138,56,0.08);
    border: 1px solid rgba(255,138,56,0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 4px;
}
body.theme-season21-infernal-throne .it21-rank-hero__icon i {
    font-size: 1.25rem;
    color: var(--it21-gold);
}
body.theme-season21-infernal-throne .it21-rank-hero__pulse {
    position: absolute;
    inset: -4px;
    border-radius: 50%;
    border: 1.5px solid rgba(255,138,56,0.18);
    animation: it21-pulse-ring 2.4s ease-out infinite;
    pointer-events: none;
}
body.theme-season21-infernal-throne .it21-rank-hero__eyebrow {
    font-family: var(--it21-font-ui);
    font-size: 0.6rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--it21-gold);
    opacity: 0.7;
}
body.theme-season21-infernal-throne .it21-rank-hero__title {
    font-family: var(--it21-font-head);
    font-size: 1.6rem;
    color: var(--it21-text-bright);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin: 0;
    line-height: 1.1;
}
body.theme-season21-infernal-throne .it21-rank-hero__desc {
    font-family: var(--it21-font-ui);
    font-size: 0.78rem;
    color: var(--it21-text-dim);
    line-height: 1.5;
    margin: 0;
    max-width: 400px;
}
body.theme-season21-infernal-throne .it21-rank-hero__stats {
    display: flex;
    gap: 20px;
    flex-shrink: 0;
}
body.theme-season21-infernal-throne .it21-rank-hero__stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    min-width: 54px;
}
body.theme-season21-infernal-throne .it21-rank-hero__stat i {
    font-size: 0.85rem;
    color: var(--it21-gold);
    opacity: 0.5;
    margin-bottom: 2px;
}
body.theme-season21-infernal-throne .it21-rank-hero__stat strong {
    font-family: var(--it21-font-head);
    font-size: 1rem;
    color: var(--it21-text-bright);
    font-weight: 600;
}
body.theme-season21-infernal-throne .it21-rank-hero__stat span {
    font-family: var(--it21-font-ui);
    font-size: 0.55rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--it21-text-dim);
}

/* ── Rank Panel (board wrapper) ── */
body.theme-season21-infernal-throne .it21-rank-panel {
    position: relative;
    border-radius: var(--it21-radius);
    background: rgba(20,8,4,0.96);
    border: 1px solid rgba(255,138,56,0.10);
    overflow: hidden;
    backdrop-filter: blur(14px);
}
body.theme-season21-infernal-throne .it21-rank-panel__fireline {
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(255,138,56,0.35) 50%, transparent);
    box-shadow: 0 0 4px rgba(255,80,0,0.12);
}
body.theme-season21-infernal-throne .it21-rank-panel__fireline--bottom {
    box-shadow: 0 0 4px rgba(255,80,0,0.1), 0 -2px 6px rgba(255,80,0,0.04);
}
body.theme-season21-infernal-throne .it21-rank-panel__head {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 20px 12px;
}
body.theme-season21-infernal-throne .it21-rank-panel__head-icon {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(255,138,56,0.06);
    border: 1px solid rgba(255,138,56,0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
body.theme-season21-infernal-throne .it21-rank-panel__head-icon i {
    font-size: 0.9rem;
    color: var(--it21-gold);
}
body.theme-season21-infernal-throne .it21-rank-panel__eyebrow {
    font-family: var(--it21-font-ui);
    font-size: 0.55rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--it21-text-dim);
}
body.theme-season21-infernal-throne .it21-rank-panel__title {
    font-family: var(--it21-font-head);
    font-size: 0.95rem;
    color: var(--it21-text-bright);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    margin: 0;
    line-height: 1.2;
}

/* ── Tabs ── */
body.theme-season21-infernal-throne .it21-rank-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 14px 20px;
    border-bottom: 1px solid rgba(255,138,56,0.06);
}
body.theme-season21-infernal-throne .it21-rank-tab {
    display: inline-flex;
    align-items: center;
    padding: 7px 14px;
    border-radius: 8px;
    background: rgba(255,138,56,0.04);
    border: 1px solid rgba(255,138,56,0.08);
    font-family: var(--it21-font-ui);
    font-size: 0.68rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--it21-text-dim);
    text-decoration: none;
    transition: background 0.2s, border-color 0.2s, color 0.2s;
}
body.theme-season21-infernal-throne .it21-rank-tab:hover {
    background: rgba(255,138,56,0.08);
    border-color: rgba(255,138,56,0.18);
    color: var(--it21-text-soft);
}
body.theme-season21-infernal-throne .it21-rank-tab.is-active {
    background: linear-gradient(135deg, rgba(255,138,56,0.12), rgba(255,80,0,0.08));
    border-color: rgba(255,138,56,0.25);
    color: var(--it21-gold);
}

/* ── Filter Bar ── */
body.theme-season21-infernal-throne .it21-rank-filter {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 20px 14px;
}
body.theme-season21-infernal-throne .it21-rank-filter__label {
    font-family: var(--it21-font-ui);
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--it21-text-dim);
    white-space: nowrap;
}
body.theme-season21-infernal-throne .it21-rank-select {
    flex: 1;
    max-width: 260px;
    padding: 8px 12px;
    border-radius: 8px;
    background: rgba(20,8,4,0.8);
    border: 1px solid rgba(255,138,56,0.12);
    color: var(--it21-text-soft);
    font-family: var(--it21-font-ui);
    font-size: 0.75rem;
    outline: none;
    transition: border-color 0.2s;
    cursor: pointer;
    appearance: auto;
}
body.theme-season21-infernal-throne .it21-rank-select:focus {
    border-color: rgba(255,138,56,0.3);
}

/* ── Table ── */
body.theme-season21-infernal-throne .it21-rank-table-wrap {
    overflow-x: auto;
}
body.theme-season21-infernal-throne .it21-rank-table {
    width: 100%;
    border-collapse: collapse;
    font-family: var(--it21-font-ui);
    font-size: 0.76rem;
}
body.theme-season21-infernal-throne .it21-rank-table thead th {
    padding: 10px 16px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-size: 0.6rem;
    color: var(--it21-text-dim);
    text-align: left;
    border-bottom: 1px solid rgba(255,138,56,0.08);
    background: rgba(255,138,56,0.02);
}
body.theme-season21-infernal-throne .it21-rank-table tbody td {
    padding: 10px 16px;
    color: var(--it21-text-soft);
    border-bottom: 1px solid rgba(255,138,56,0.04);
    transition: background 0.15s;
}
body.theme-season21-infernal-throne .it21-rank-table tbody tr:hover td {
    background: rgba(255,138,56,0.03);
}
body.theme-season21-infernal-throne .it21-rank-table tbody tr:last-child td {
    border-bottom: none;
}
body.theme-season21-infernal-throne .it21-rank-num {
    font-family: var(--it21-font-head);
    font-weight: 700;
    color: var(--it21-gold);
    opacity: 0.6;
    font-size: 0.85rem;
}
body.theme-season21-infernal-throne .it21-rank-link {
    color: var(--it21-text-bright);
    text-decoration: none;
    font-weight: 600;
    transition: color 0.2s;
}
body.theme-season21-infernal-throne .it21-rank-link:hover {
    color: var(--it21-gold);
}
body.theme-season21-infernal-throne .it21-rank-class {
    display: flex;
    align-items: center;
    gap: 6px;
}
body.theme-season21-infernal-throne .it21-rank-class__img {
    width: 18px;
    height: 18px;
    object-fit: contain;
    border-radius: 3px;
}
body.theme-season21-infernal-throne .it21-rank-empty {
    text-align: center;
    color: var(--it21-text-dim);
    padding: 32px 16px !important;
    font-style: italic;
}
body.theme-season21-infernal-throne .it21-rank-status {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 3px 8px;
    border-radius: 6px;
}
body.theme-season21-infernal-throne .it21-rank-status--on {
    background: rgba(100,200,120,0.1);
    color: #6ec87a;
    border: 1px solid rgba(100,200,120,0.2);
}
body.theme-season21-infernal-throne .it21-rank-status--off {
    background: rgba(255,255,255,0.03);
    color: var(--it21-text-dim);
    border: 1px solid rgba(255,255,255,0.06);
}

/* Gens faction tags */
body.theme-season21-infernal-throne .it21-gens-tag {
    display: inline-flex;
    align-items: center;
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 3px 8px;
    border-radius: 6px;
}
body.theme-season21-infernal-throne .it21-gens-tag--duprian {
    background: rgba(100,160,250,0.1);
    color: #6ea0fa;
    border: 1px solid rgba(100,160,250,0.2);
}
body.theme-season21-infernal-throne .it21-gens-tag--vanert {
    background: rgba(220,80,80,0.1);
    color: #dc5050;
    border: 1px solid rgba(220,80,80,0.2);
}

/* ── Pagination ── */
body.theme-season21-infernal-throne .it21-rank-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 5px;
    padding: 14px 20px;
    border-top: 1px solid rgba(255,138,56,0.06);
}
body.theme-season21-infernal-throne .it21-rank-page-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    height: 32px;
    padding: 0 8px;
    border-radius: 8px;
    background: rgba(255,138,56,0.04);
    border: 1px solid rgba(255,138,56,0.08);
    font-family: var(--it21-font-ui);
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--it21-text-dim);
    text-decoration: none;
    transition: background 0.2s, border-color 0.2s, color 0.2s;
}
body.theme-season21-infernal-throne .it21-rank-page-btn:hover {
    background: rgba(255,138,56,0.08);
    border-color: rgba(255,138,56,0.18);
    color: var(--it21-text-soft);
}
body.theme-season21-infernal-throne .it21-rank-page-btn.is-active {
    background: linear-gradient(135deg, rgba(255,138,56,0.14), rgba(255,80,0,0.10));
    border-color: rgba(255,138,56,0.28);
    color: var(--it21-gold);
}
body.theme-season21-infernal-throne .it21-rank-page-btn--muted {
    background: transparent;
    border-color: transparent;
    cursor: default;
}

/* ═══════════════════════════════════════════════════════════
   GUIDE PAGE
   ═══════════════════════════════════════════════════════════ */

body.theme-season21-infernal-throne .it21-guide-body {
    padding: 24px 28px 28px;
}

/* Override shared guide classes inside the theme */
body.theme-season21-infernal-throne .page-guide .page-header {
    display: none;
}

/* TOC */
body.theme-season21-infernal-throne .guide-toc {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 0 0 20px;
    border-bottom: 1px solid rgba(255,138,56,0.06);
    margin-bottom: 24px;
}
body.theme-season21-infernal-throne .guide-toc a {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 7px 14px;
    border-radius: 8px;
    background: rgba(255,138,56,0.04);
    border: 1px solid rgba(255,138,56,0.08);
    font-family: var(--it21-font-ui);
    font-size: 0.68rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--it21-text-dim);
    text-decoration: none;
    transition: background 0.2s, border-color 0.2s, color 0.2s;
}
body.theme-season21-infernal-throne .guide-toc a:hover {
    background: rgba(255,138,56,0.08);
    border-color: rgba(255,138,56,0.18);
    color: var(--it21-gold);
}
body.theme-season21-infernal-throne .guide-toc a i {
    font-size: 0.8rem;
    opacity: 0.5;
}

/* Guide sections */
body.theme-season21-infernal-throne .guide-section {
    margin-bottom: 32px;
}
body.theme-season21-infernal-throne .guide-section-title {
    font-family: var(--it21-font-head);
    font-size: 1.1rem;
    color: var(--it21-text-bright);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin: 0 0 12px;
    display: flex;
    align-items: center;
    gap: 8px;
}
body.theme-season21-infernal-throne .guide-section-title i {
    font-size: 1rem;
    color: var(--it21-gold);
    opacity: 0.7;
}
body.theme-season21-infernal-throne .guide-section-desc {
    font-family: var(--it21-font-ui);
    font-size: 0.78rem;
    color: var(--it21-text-dim);
    line-height: 1.5;
    margin: 0 0 16px;
}

/* Timeline steps */
body.theme-season21-infernal-throne .guide-timeline {
    display: flex;
    flex-direction: column;
    gap: 0;
    position: relative;
    padding-left: 28px;
}
body.theme-season21-infernal-throne .guide-timeline::before {
    content: '';
    position: absolute;
    left: 12px;
    top: 0;
    bottom: 0;
    width: 2px;
    background: linear-gradient(180deg, rgba(255,138,56,0.2), rgba(255,138,56,0.05));
}
body.theme-season21-infernal-throne .gt-step {
    position: relative;
    display: flex;
    gap: 14px;
    padding-bottom: 18px;
}
body.theme-season21-infernal-throne .gt-marker {
    position: absolute;
    left: -28px;
    top: 0;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: rgba(255,138,56,0.10);
    border: 1.5px solid rgba(255,138,56,0.25);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--it21-font-ui);
    font-size: 0.6rem;
    font-weight: 700;
    color: var(--it21-gold);
    z-index: 1;
}
body.theme-season21-infernal-throne .gt-content {
    flex: 1;
}
body.theme-season21-infernal-throne .gt-content h3 {
    font-family: var(--it21-font-head);
    font-size: 0.85rem;
    color: var(--it21-text-bright);
    margin: 0 0 6px;
    display: flex;
    align-items: center;
    gap: 6px;
}
body.theme-season21-infernal-throne .gt-content h3 i {
    color: var(--it21-gold);
    opacity: 0.5;
    font-size: 0.85rem;
}
body.theme-season21-infernal-throne .gt-content p {
    font-family: var(--it21-font-ui);
    font-size: 0.75rem;
    color: var(--it21-text-dim);
    line-height: 1.5;
    margin: 0 0 8px;
}
body.theme-season21-infernal-throne .gt-content p a {
    color: var(--it21-gold);
    text-decoration: none;
}
body.theme-season21-infernal-throne .gt-content p a:hover {
    text-decoration: underline;
}

/* Glass panel overrides */
body.theme-season21-infernal-throne .glass-panel {
    border-radius: 10px;
    background: rgba(255,138,56,0.02);
    border: 1px solid rgba(255,138,56,0.06);
    padding: 14px 16px;
    transition: background 0.2s;
}
body.theme-season21-infernal-throne .glass-panel:hover {
    background: rgba(255,138,56,0.04);
}

/* Tips */
body.theme-season21-infernal-throne .gt-tip {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 8px 12px;
    border-radius: 8px;
    background: rgba(255,138,56,0.03);
    border: 1px solid rgba(255,138,56,0.06);
    font-family: var(--it21-font-ui);
    font-size: 0.72rem;
    color: var(--it21-text-dim);
    line-height: 1.4;
    margin-top: 6px;
}
body.theme-season21-infernal-throne .gt-tip i {
    color: var(--it21-gold);
    opacity: 0.5;
    font-size: 0.8rem;
    margin-top: 1px;
    flex-shrink: 0;
}
body.theme-season21-infernal-throne .gt-tip a {
    color: var(--it21-gold);
    text-decoration: none;
}
body.theme-season21-infernal-throne .gt-tip-warn {
    border-color: rgba(220,80,80,0.1);
    background: rgba(220,80,80,0.03);
}
body.theme-season21-infernal-throne .gt-tip-warn i {
    color: #dc5050;
}

body.theme-season21-infernal-throne .gt-code {
    margin: 6px 0;
}
body.theme-season21-infernal-throne .gt-code code,
body.theme-season21-infernal-throne .gt-content code,
body.theme-season21-infernal-throne .gt-tip code,
body.theme-season21-infernal-throne .guide-details-body code {
    font-family: 'Courier New', monospace;
    font-size: 0.68rem;
    color: var(--it21-gold);
    background: rgba(255,138,56,0.06);
    padding: 2px 6px;
    border-radius: 4px;
}

/* Substeps */
body.theme-season21-infernal-throne .gt-substeps {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: 8px;
}
body.theme-season21-infernal-throne .gt-sub {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: var(--it21-font-ui);
    font-size: 0.72rem;
    color: var(--it21-text-dim);
}
body.theme-season21-infernal-throne .gt-sub a {
    color: var(--it21-gold);
    text-decoration: none;
}
body.theme-season21-infernal-throne .gt-sub-num {
    font-family: var(--it21-font-ui);
    font-size: 0.58rem;
    font-weight: 700;
    color: var(--it21-gold);
    opacity: 0.5;
    min-width: 18px;
}

/* Accordion / details */
body.theme-season21-infernal-throne .guide-accordion {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
body.theme-season21-infernal-throne .guide-details summary {
    font-family: var(--it21-font-ui);
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--it21-text-soft);
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    list-style: none;
}
body.theme-season21-infernal-throne .guide-details summary::-webkit-details-marker {
    display: none;
}
body.theme-season21-infernal-throne .guide-details summary::before {
    content: '▸';
    font-size: 0.7rem;
    color: var(--it21-gold);
    opacity: 0.5;
    transition: transform 0.2s;
}
body.theme-season21-infernal-throne .guide-details[open] summary::before {
    transform: rotate(90deg);
}
body.theme-season21-infernal-throne .guide-details summary i {
    font-size: 0.85rem;
    color: var(--it21-gold);
    opacity: 0.5;
}
body.theme-season21-infernal-throne .guide-details-body {
    padding: 12px 0 4px 28px;
    font-family: var(--it21-font-ui);
    font-size: 0.74rem;
    color: var(--it21-text-dim);
    line-height: 1.5;
}
body.theme-season21-infernal-throne .guide-details-body p {
    margin: 0 0 6px;
}
body.theme-season21-infernal-throne .guide-ol {
    margin: 0;
    padding-left: 18px;
}
body.theme-season21-infernal-throne .guide-ol li {
    margin-bottom: 6px;
    font-family: var(--it21-font-ui);
    font-size: 0.74rem;
    color: var(--it21-text-dim);
    line-height: 1.5;
}
body.theme-season21-infernal-throne .guide-ol li strong {
    color: var(--it21-text-soft);
}
body.theme-season21-infernal-throne .guide-ol li em {
    color: var(--it21-text-dim);
    font-style: italic;
}
body.theme-season21-infernal-throne .guide-details-body kbd {
    display: inline-block;
    padding: 1px 5px;
    border-radius: 3px;
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.1);
    font-family: var(--it21-font-ui);
    font-size: 0.65rem;
    color: var(--it21-text-soft);
}

/* Cards row */
body.theme-season21-infernal-throne .guide-cards-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}
body.theme-season21-infernal-throne .guide-card {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
body.theme-season21-infernal-throne .guide-card .gc-icon {
    font-size: 1.2rem;
    color: var(--it21-gold);
    opacity: 0.5;
    margin-bottom: 2px;
}
body.theme-season21-infernal-throne .guide-card h3 {
    font-family: var(--it21-font-head);
    font-size: 0.82rem;
    color: var(--it21-text-bright);
    margin: 0;
}
body.theme-season21-infernal-throne .guide-card p {
    font-family: var(--it21-font-ui);
    font-size: 0.72rem;
    color: var(--it21-text-dim);
    line-height: 1.45;
    margin: 0;
}
body.theme-season21-infernal-throne .guide-card p a {
    color: var(--it21-gold);
    text-decoration: none;
}

/* Role grid */
body.theme-season21-infernal-throne .guide-role-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}
body.theme-season21-infernal-throne .guide-role h4 {
    font-family: var(--it21-font-head);
    font-size: 0.8rem;
    color: var(--it21-text-bright);
    margin: 0 0 8px;
    display: flex;
    align-items: center;
    gap: 6px;
}
body.theme-season21-infernal-throne .guide-role h4 i {
    color: var(--it21-gold);
    opacity: 0.5;
}
body.theme-season21-infernal-throne .guide-role ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
body.theme-season21-infernal-throne .guide-role li {
    font-family: var(--it21-font-ui);
    font-size: 0.72rem;
    color: var(--it21-text-dim);
    line-height: 1.4;
    padding-left: 12px;
    position: relative;
}
body.theme-season21-infernal-throne .guide-role li::before {
    content: '—';
    position: absolute;
    left: 0;
    color: rgba(255,138,56,0.3);
    font-size: 0.6rem;
}
body.theme-season21-infernal-throne .guide-role li strong {
    color: var(--it21-text-soft);
}

/* Leveling path */
body.theme-season21-infernal-throne .guide-path {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
}
body.theme-season21-infernal-throne .gp-node {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 18px;
    border-radius: 10px;
    background: rgba(255,138,56,0.02);
    border: 1px solid rgba(255,138,56,0.06);
    width: 100%;
    max-width: 500px;
    transition: background 0.2s;
}
body.theme-season21-infernal-throne .gp-node:hover {
    background: rgba(255,138,56,0.04);
}
body.theme-season21-infernal-throne .gp-node-gold {
    border-color: rgba(255,138,56,0.2);
    background: rgba(255,138,56,0.04);
}
body.theme-season21-infernal-throne .gp-range {
    font-family: var(--it21-font-ui);
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--it21-gold);
    min-width: 70px;
    white-space: nowrap;
}
body.theme-season21-infernal-throne .gp-detail {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
body.theme-season21-infernal-throne .gp-detail strong {
    font-family: var(--it21-font-ui);
    font-size: 0.76rem;
    color: var(--it21-text-soft);
    font-weight: 600;
}
body.theme-season21-infernal-throne .gp-detail span {
    font-family: var(--it21-font-ui);
    font-size: 0.7rem;
    color: var(--it21-text-dim);
    line-height: 1.4;
}
body.theme-season21-infernal-throne .gp-arrow {
    color: var(--it21-gold);
    opacity: 0.25;
    font-size: 0.8rem;
    padding: 4px 0;
}

/* Event grid */
body.theme-season21-infernal-throne .guide-event-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}
body.theme-season21-infernal-throne .guide-event {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}
body.theme-season21-infernal-throne .ge-icon {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(var(--ge-rgb, 255,138,56), 0.1);
    border: 1px solid rgba(var(--ge-rgb, 255,138,56), 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
body.theme-season21-infernal-throne .ge-icon i {
    font-size: 0.85rem;
    color: rgb(var(--ge-rgb, 255,138,56));
}
body.theme-season21-infernal-throne .guide-event h4 {
    font-family: var(--it21-font-ui);
    font-size: 0.76rem;
    color: var(--it21-text-soft);
    font-weight: 600;
    margin: 0 0 3px;
}
body.theme-season21-infernal-throne .guide-event p {
    font-family: var(--it21-font-ui);
    font-size: 0.7rem;
    color: var(--it21-text-dim);
    line-height: 1.4;
    margin: 0;
}

/* Currency grid */
body.theme-season21-infernal-throne .guide-currency-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}
body.theme-season21-infernal-throne .guide-currency {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
body.theme-season21-infernal-throne .gcur-icon {
    font-size: 1.1rem;
    opacity: 0.7;
}
body.theme-season21-infernal-throne .guide-currency h4 {
    font-family: var(--it21-font-ui);
    font-size: 0.76rem;
    color: var(--it21-text-soft);
    font-weight: 600;
    margin: 0;
}
body.theme-season21-infernal-throne .guide-currency p {
    font-family: var(--it21-font-ui);
    font-size: 0.7rem;
    color: var(--it21-text-dim);
    line-height: 1.4;
    margin: 0;
}
body.theme-season21-infernal-throne .guide-currency p a {
    color: var(--it21-gold);
    text-decoration: none;
}

/* Tips grid */
body.theme-season21-infernal-throne .guide-tips-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}
body.theme-season21-infernal-throne .guide-tip-card {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
body.theme-season21-infernal-throne .gtip-num {
    font-family: var(--it21-font-head);
    font-size: 0.9rem;
    color: var(--it21-gold);
    opacity: 0.3;
    font-weight: 700;
}
body.theme-season21-infernal-throne .guide-tip-card h4 {
    font-family: var(--it21-font-ui);
    font-size: 0.76rem;
    color: var(--it21-text-soft);
    font-weight: 600;
    margin: 0;
}
body.theme-season21-infernal-throne .guide-tip-card p {
    font-family: var(--it21-font-ui);
    font-size: 0.7rem;
    color: var(--it21-text-dim);
    line-height: 1.4;
    margin: 0;
}
body.theme-season21-infernal-throne .guide-tip-card p a {
    color: var(--it21-gold);
    text-decoration: none;
}

/* Bottom CTA */
body.theme-season21-infernal-throne .guide-bottom-cta {
    margin-top: 16px;
}
body.theme-season21-infernal-throne .guide-cta-inner {
    text-align: center;
    padding: 28px 20px !important;
    border-color: rgba(255,138,56,0.12) !important;
    background: rgba(255,138,56,0.03) !important;
}
body.theme-season21-infernal-throne .guide-cta-inner h2 {
    font-family: var(--it21-font-head);
    font-size: 1.1rem;
    color: var(--it21-text-bright);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin: 0 0 6px;
}
body.theme-season21-infernal-throne .guide-cta-inner p {
    font-family: var(--it21-font-ui);
    font-size: 0.78rem;
    color: var(--it21-text-dim);
    margin: 0 0 16px;
}
body.theme-season21-infernal-throne .guide-cta-btns {
    display: flex;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
}
body.theme-season21-infernal-throne .guide-cta-btns .btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 9px 18px;
    border-radius: 8px;
    font-family: var(--it21-font-ui);
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    text-decoration: none;
    transition: background 0.2s, border-color 0.2s, box-shadow 0.2s;
}
body.theme-season21-infernal-throne .guide-cta-btns .btn-gold {
    background: linear-gradient(135deg, rgba(255,138,56,0.14), rgba(255,80,0,0.10));
    border: 1px solid rgba(255,138,56,0.28);
    color: var(--it21-gold);
}
body.theme-season21-infernal-throne .guide-cta-btns .btn-gold:hover {
    box-shadow: 0 0 12px rgba(255,80,0,0.15);
    border-color: rgba(255,138,56,0.4);
}
body.theme-season21-infernal-throne .guide-cta-btns .btn-ghost {
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.08);
    color: var(--it21-text-dim);
}
body.theme-season21-infernal-throne .guide-cta-btns .btn-ghost:hover {
    background: rgba(255,138,56,0.05);
    border-color: rgba(255,138,56,0.15);
    color: var(--it21-text-soft);
}

/* ═══════════════════════════════════════════════════════════
   DOWNLOADS PAGE
   ═══════════════════════════════════════════════════════════ */

body.theme-season21-infernal-throne .it21-dl-page {
    display: flex;
    flex-direction: column;
    gap: 18px;
    max-width: 960px;
    margin: 0 auto;
    padding: 24px 0 32px;
}

/* ── Hero Banner ── */
body.theme-season21-infernal-throne .it21-dl-hero {
    position: relative;
    border-radius: var(--it21-radius);
    background: rgba(20,8,4,0.96);
    border: 1px solid rgba(255,138,56,0.12);
    overflow: hidden;
    backdrop-filter: blur(14px);
}
body.theme-season21-infernal-throne .it21-dl-hero__fireline {
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--it21-gold) 50%, transparent);
    box-shadow: 0 0 6px rgba(255,80,0,0.2);
}
body.theme-season21-infernal-throne .it21-dl-hero__fireline--bottom {
    box-shadow: 0 0 6px rgba(255,80,0,0.2), 0 -2px 8px rgba(255,80,0,0.05);
}
body.theme-season21-infernal-throne .it21-dl-hero__glow {
    position: absolute;
    top: 0;
    left: 50%;
    translate: -50% 0;
    width: 300px;
    height: 80px;
    background: radial-gradient(ellipse, rgba(255,100,30,0.10) 0%, transparent 70%);
    pointer-events: none;
}
body.theme-season21-infernal-throne .it21-dl-hero__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 28px 32px;
}
body.theme-season21-infernal-throne .it21-dl-hero__left {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
body.theme-season21-infernal-throne .it21-dl-hero__icon {
    position: relative;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(255,138,56,0.08);
    border: 1px solid rgba(255,138,56,0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 4px;
}
body.theme-season21-infernal-throne .it21-dl-hero__icon i {
    font-size: 1.25rem;
    color: var(--it21-gold);
}
body.theme-season21-infernal-throne .it21-dl-hero__pulse {
    position: absolute;
    inset: -4px;
    border-radius: 50%;
    border: 1.5px solid rgba(255,138,56,0.18);
    animation: it21-pulse-ring 2.4s ease-out infinite;
    pointer-events: none;
}
body.theme-season21-infernal-throne .it21-dl-hero__eyebrow {
    font-family: var(--it21-font-ui);
    font-size: 0.6rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--it21-gold);
    opacity: 0.7;
}
body.theme-season21-infernal-throne .it21-dl-hero__title {
    font-family: var(--it21-font-head);
    font-size: 1.6rem;
    color: var(--it21-text-bright);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin: 0;
    line-height: 1.1;
}
body.theme-season21-infernal-throne .it21-dl-hero__desc {
    font-family: var(--it21-font-ui);
    font-size: 0.78rem;
    color: var(--it21-text-dim);
    line-height: 1.5;
    margin: 0;
    max-width: 400px;
}
body.theme-season21-infernal-throne .it21-dl-hero__stats {
    display: flex;
    gap: 20px;
    flex-shrink: 0;
}
body.theme-season21-infernal-throne .it21-dl-hero__stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    min-width: 54px;
}
body.theme-season21-infernal-throne .it21-dl-hero__stat i {
    font-size: 0.85rem;
    color: var(--it21-gold);
    opacity: 0.5;
    margin-bottom: 2px;
}
body.theme-season21-infernal-throne .it21-dl-hero__stat strong {
    font-family: var(--it21-font-head);
    font-size: 1rem;
    color: var(--it21-text-bright);
    font-weight: 600;
}
body.theme-season21-infernal-throne .it21-dl-hero__stat span {
    font-family: var(--it21-font-ui);
    font-size: 0.55rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--it21-text-dim);
}

/* ── Download Grid & Groups ── */
body.theme-season21-infernal-throne .it21-dl-grid {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

body.theme-season21-infernal-throne .it21-dl-group {
    position: relative;
    border-radius: var(--it21-radius);
    background: rgba(20,8,4,0.96);
    border: 1px solid rgba(255,138,56,0.10);
    overflow: hidden;
    backdrop-filter: blur(14px);
}
body.theme-season21-infernal-throne .it21-dl-group__fireline {
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(255,138,56,0.35) 50%, transparent);
    box-shadow: 0 0 4px rgba(255,80,0,0.12);
}
body.theme-season21-infernal-throne .it21-dl-group__fireline--bottom {
    box-shadow: 0 0 4px rgba(255,80,0,0.1), 0 -2px 6px rgba(255,80,0,0.04);
}
body.theme-season21-infernal-throne .it21-dl-group__head {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 20px 12px;
}
body.theme-season21-infernal-throne .it21-dl-group__icon {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(255,138,56,0.06);
    border: 1px solid rgba(255,138,56,0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
body.theme-season21-infernal-throne .it21-dl-group__icon i {
    font-size: 0.9rem;
    color: var(--it21-gold);
}
body.theme-season21-infernal-throne .it21-dl-group__eyebrow {
    font-family: var(--it21-font-ui);
    font-size: 0.55rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--it21-text-dim);
}
body.theme-season21-infernal-throne .it21-dl-group__title {
    font-family: var(--it21-font-head);
    font-size: 0.95rem;
    color: var(--it21-text-bright);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    margin: 0;
    line-height: 1.2;
}
body.theme-season21-infernal-throne .it21-dl-group__body {
    display: flex;
    flex-direction: column;
    gap: 1px;
    background: rgba(255,138,56,0.03);
}

/* ── Individual File Row ── */
body.theme-season21-infernal-throne .it21-dl-file {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 20px;
    background: rgba(20,8,4,0.96);
    transition: background 0.2s;
}
body.theme-season21-infernal-throne .it21-dl-file:hover {
    background: rgba(255,138,56,0.03);
}
body.theme-season21-infernal-throne .it21-dl-file__info {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}
body.theme-season21-infernal-throne .it21-dl-file__name {
    font-family: var(--it21-font-ui);
    font-size: 0.82rem;
    color: var(--it21-text-soft);
    font-weight: 600;
}
body.theme-season21-infernal-throne .it21-dl-file__desc {
    font-family: var(--it21-font-ui);
    font-size: 0.7rem;
    color: var(--it21-text-dim);
    line-height: 1.4;
}
body.theme-season21-infernal-throne .it21-dl-file__actions {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-shrink: 0;
}
body.theme-season21-infernal-throne .it21-dl-file__size {
    display: flex;
    align-items: center;
    gap: 5px;
    font-family: var(--it21-font-ui);
    font-size: 0.65rem;
    color: var(--it21-text-dim);
    white-space: nowrap;
}
body.theme-season21-infernal-throne .it21-dl-file__size i {
    font-size: 0.75rem;
    opacity: 0.5;
}
body.theme-season21-infernal-throne .it21-dl-file__btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    border-radius: 8px;
    background: linear-gradient(135deg, rgba(255,138,56,0.12), rgba(255,80,0,0.08));
    border: 1px solid rgba(255,138,56,0.22);
    font-family: var(--it21-font-ui);
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--it21-gold);
    text-decoration: none;
    overflow: hidden;
    transition: background 0.2s, border-color 0.2s, box-shadow 0.2s;
}
body.theme-season21-infernal-throne .it21-dl-file__btn:hover {
    background: linear-gradient(135deg, rgba(255,138,56,0.18), rgba(255,80,0,0.12));
    border-color: rgba(255,138,56,0.35);
    box-shadow: 0 0 12px rgba(255,80,0,0.15);
}
body.theme-season21-infernal-throne .it21-dl-file__btn i {
    font-size: 0.85rem;
}
body.theme-season21-infernal-throne .it21-dl-file__btn-glow {
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.06), transparent);
    transition: left 0.5s;
    pointer-events: none;
}
body.theme-season21-infernal-throne .it21-dl-file__btn:hover .it21-dl-file__btn-glow {
    left: 100%;
}

/* ── Info Row (Install Notes + Requirements) ── */
body.theme-season21-infernal-throne .it21-dl-info-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

body.theme-season21-infernal-throne .it21-dl-info-card {
    position: relative;
    border-radius: var(--it21-radius);
    background: rgba(20,8,4,0.96);
    border: 1px solid rgba(255,138,56,0.10);
    overflow: hidden;
    backdrop-filter: blur(14px);
}
body.theme-season21-infernal-throne .it21-dl-info-card__fireline {
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(255,138,56,0.30) 50%, transparent);
    box-shadow: 0 0 4px rgba(255,80,0,0.1);
}
body.theme-season21-infernal-throne .it21-dl-info-card__fireline--bottom {
    box-shadow: 0 0 4px rgba(255,80,0,0.08);
}
body.theme-season21-infernal-throne .it21-dl-info-card__head {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 16px 10px;
}
body.theme-season21-infernal-throne .it21-dl-info-card__icon {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: rgba(255,138,56,0.06);
    border: 1px solid rgba(255,138,56,0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
body.theme-season21-infernal-throne .it21-dl-info-card__icon i {
    font-size: 0.8rem;
    color: var(--it21-gold);
}
body.theme-season21-infernal-throne .it21-dl-info-card__eyebrow {
    font-family: var(--it21-font-ui);
    font-size: 0.55rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--it21-text-dim);
}
body.theme-season21-infernal-throne .it21-dl-info-card__title {
    font-family: var(--it21-font-head);
    font-size: 0.85rem;
    color: var(--it21-text-bright);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    margin: 0;
}
body.theme-season21-infernal-throne .it21-dl-info-card__body {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 4px 16px 14px;
}

/* ── Tip Rows ── */
body.theme-season21-infernal-throne .it21-dl-tip {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 8px;
    background: rgba(255,138,56,0.02);
    border: 1px solid rgba(255,138,56,0.05);
    transition: background 0.2s;
}
body.theme-season21-infernal-throne .it21-dl-tip:hover {
    background: rgba(255,138,56,0.04);
}
body.theme-season21-infernal-throne .it21-dl-tip > i {
    font-size: 0.85rem;
    color: var(--it21-gold);
    opacity: 0.5;
    margin-top: 2px;
    flex-shrink: 0;
}
body.theme-season21-infernal-throne .it21-dl-tip div {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
body.theme-season21-infernal-throne .it21-dl-tip strong {
    font-family: var(--it21-font-ui);
    font-size: 0.75rem;
    color: var(--it21-text-soft);
    font-weight: 600;
}
body.theme-season21-infernal-throne .it21-dl-tip span {
    font-family: var(--it21-font-ui);
    font-size: 0.68rem;
    color: var(--it21-text-dim);
    line-height: 1.45;
}
body.theme-season21-infernal-throne .it21-dl-tip code {
    font-family: 'Courier New', monospace;
    font-size: 0.65rem;
    color: var(--it21-gold);
    background: rgba(255,138,56,0.06);
    padding: 1px 5px;
    border-radius: 3px;
}

/* ═══════════════════════════════════════════════════════════
   FOOTER
   ═══════════════════════════════════════════════════════════ */

/* ── 22. Footer ── */
body.theme-season21-infernal-throne .it21-footer {
    margin-top: 32px;
    margin-bottom: 16px;
    position: relative;
    overflow: hidden;
    border-radius: var(--it21-radius);
}

/* Fire accent lines */
body.theme-season21-infernal-throne .it21-footer__fireline {
    height: 2px;
    background: linear-gradient(90deg, transparent 0%, rgba(255,138,56,0.5) 20%, var(--it21-gold) 50%, rgba(255,138,56,0.5) 80%, transparent 100%);
    box-shadow: 0 0 6px rgba(255,80,0,0.25);
}

body.theme-season21-infernal-throne .it21-footer__fireline--bottom {
    height: 2px;
    box-shadow: 0 0 6px rgba(255,80,0,0.2);
}

body.theme-season21-infernal-throne .it21-footer__inner {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 24px;
    padding: 22px 24px;
    background: linear-gradient(180deg, rgba(14,6,4,0.94) 0%, rgba(10,4,3,0.88) 100%);
    border-left: 1px solid rgba(255,138,56,0.12);
    border-right: 1px solid rgba(255,138,56,0.12);
    backdrop-filter: blur(14px);
}

body.theme-season21-infernal-throne .it21-footer__brand {
    display: flex;
    align-items: center;
    gap: 12px;
}

body.theme-season21-infernal-throne .it21-footer__brand img {
    width: 44px;
    height: auto;
    opacity: 0.9;
    filter: drop-shadow(0 0 6px rgba(255,138,56,0.2));
}

body.theme-season21-infernal-throne .it21-footer__brand div {
    display: flex;
    flex-direction: column;
}

body.theme-season21-infernal-throne .it21-footer__brand strong {
    font-family: var(--it21-font-head);
    font-size: 0.92rem;
    color: #fff;
    text-shadow: 0 1px 3px rgba(0,0,0,0.4);
}

body.theme-season21-infernal-throne .it21-footer__brand span {
    font-size: 0.72rem;
    color: rgba(200,175,160,0.5);
}

body.theme-season21-infernal-throne .it21-footer__center {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

/* Small diamond ornament */
body.theme-season21-infernal-throne .it21-footer__diamond {
    width: 8px;
    height: 8px;
    background: linear-gradient(135deg, var(--it21-gold), #d45a10);
    transform: rotate(45deg);
    box-shadow: 0 0 8px rgba(255,138,56,0.3);
}

body.theme-season21-infernal-throne .it21-footer__links {
    display: flex;
    justify-content: center;
    gap: 6px;
    flex-wrap: wrap;
}

body.theme-season21-infernal-throne .it21-footer__links a {
    font-family: var(--it21-font-ui);
    font-size: 0.70rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: rgba(200,175,160,0.55);
    padding: 4px 8px;
    transition: color 0.25s, text-shadow 0.25s;
    position: relative;
}

body.theme-season21-infernal-throne .it21-footer__links a:hover {
    color: #fff;
    text-shadow: 0 0 10px rgba(255,138,56,0.35);
}

/* Diamond separator between links */
body.theme-season21-infernal-throne .it21-footer__links a + a::before {
    content: '◆';
    position: absolute;
    left: -4px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 0.25rem;
    color: rgba(255,138,56,0.3);
    pointer-events: none;
}

body.theme-season21-infernal-throne .it21-footer__meta {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
    font-size: 0.68rem;
    color: rgba(200,175,160,0.35);
}

/* ═══════════════════════════════════════════════════════════
   DF21 CLASS OVERRIDES — Infernal Throne Fire Restyle
   All old df21-* classes restyled to match the it21 fire theme
   ═══════════════════════════════════════════════════════════ */

/* ── Subnav (account-nav, dynamic-shell nav) ── */
body.theme-season21-infernal-throne .df21-subnav {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 12px 18px;
    margin-bottom: 18px;
    background: linear-gradient(180deg, rgba(20,8,4,.94) 0%, rgba(14,5,2,.97) 100%);
    border: 1px solid rgba(255,138,56,.1);
    border-radius: 14px;
    backdrop-filter: blur(14px);
    position: relative;
    overflow: hidden;
    box-shadow: 0 4px 24px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,138,56,.05);
}

body.theme-season21-infernal-throne .df21-subnav::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent 5%, rgba(255,138,56,.35) 30%, rgba(255,80,0,.45) 50%, rgba(255,138,56,.35) 70%, transparent 95%);
}

body.theme-season21-infernal-throne .df21-subnav a {
    font-family: var(--it21-font-ui);
    font-size: .72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: rgba(255,220,190,.5);
    padding: 8px 18px;
    border-radius: 8px;
    border: 1px solid transparent;
    position: relative;
    transition: color .25s, background .25s, border-color .25s, box-shadow .25s, transform .15s;
}

body.theme-season21-infernal-throne .df21-subnav a:hover {
    color: var(--it21-text);
    background: rgba(255,138,56,.07);
    border-color: rgba(255,138,56,.12);
    transform: translateY(-1px);
}

body.theme-season21-infernal-throne .df21-subnav a.is-active {
    color: #0e0604;
    font-weight: 700;
    background: linear-gradient(135deg, var(--it21-gold) 0%, #d05510 100%);
    border-color: transparent;
    box-shadow: 0 2px 12px rgba(255,100,20,.3), 0 0 20px rgba(255,80,0,.1);
    text-shadow: none;
}

/* ── Page Panel ── */
body.theme-season21-infernal-throne .df21-page-panel {
    background: rgba(20,8,4,0.96);
    border: 1px solid rgba(255,138,56,0.12);
    border-radius: 12px;
    padding: 20px 22px;
    position: relative;
    overflow: hidden;
    backdrop-filter: blur(12px);
    box-shadow: 0 4px 20px rgba(0,0,0,0.4), inset 0 1px 0 rgba(255,138,56,0.06);
}

body.theme-season21-infernal-throne .df21-page-panel::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--it21-gold), var(--it21-fire), var(--it21-gold), transparent);
}

body.theme-season21-infernal-throne .df21-page-panel__head {
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(255,138,56,0.08);
}

body.theme-season21-infernal-throne .df21-page-panel__head h2 {
    font-family: var(--it21-font-head);
    font-size: 1.15rem;
    font-weight: 700;
    color: #fff;
    margin: 0;
    letter-spacing: 0.03em;
    text-shadow: 0 2px 8px rgba(0,0,0,0.5);
}

/* ── Kicker label ── */
body.theme-season21-infernal-throne .df21-kicker {
    display: inline-block;
    font-family: var(--it21-font-ui);
    font-size: 0.62rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    color: var(--it21-gold);
    margin-bottom: 4px;
    text-shadow: 0 0 8px rgba(255,138,56,0.25);
}

/* ── Page Stack / Grid ── */
body.theme-season21-infernal-throne .df21-page-stack {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

body.theme-season21-infernal-throne .df21-page-grid {
    display: grid;
    grid-template-columns: 1.6fr 1fr;
    gap: 16px;
}

body.theme-season21-infernal-throne .df21-page-grid--auth {
    grid-template-columns: 1.4fr 1fr;
}

/* ── Form Elements ── */
body.theme-season21-infernal-throne .df21-form-stack {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

body.theme-season21-infernal-throne .df21-label {
    display: flex;
    flex-direction: column;
    gap: 5px;
    font-family: var(--it21-font-ui);
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: rgba(255,230,200,0.7);
}

body.theme-season21-infernal-throne .df21-input,
body.theme-season21-infernal-throne .df21-select,
body.theme-season21-infernal-throne input.df21-input,
body.theme-season21-infernal-throne select.df21-select,
body.theme-season21-infernal-throne textarea.df21-input {
    font-family: var(--it21-font-body);
    font-size: 0.88rem;
    color: #fff;
    background: rgba(15,6,3,0.7);
    border: 1px solid rgba(255,138,56,0.15);
    border-radius: 8px;
    padding: 11px 14px;
    transition: border-color 0.3s, box-shadow 0.3s;
    outline: none;
    width: 100%;
    box-sizing: border-box;
}

body.theme-season21-infernal-throne .df21-input:focus,
body.theme-season21-infernal-throne .df21-select:focus,
body.theme-season21-infernal-throne textarea.df21-input:focus {
    border-color: var(--it21-gold);
    box-shadow: 0 0 0 3px rgba(255,138,56,0.1), 0 0 12px rgba(255,138,56,0.15);
}

body.theme-season21-infernal-throne .df21-input::placeholder {
    color: rgba(200,175,150,0.35);
}

/* ── Buttons ── */
body.theme-season21-infernal-throne .df21-block-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-family: var(--it21-font-ui);
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: #fff;
    background: linear-gradient(135deg, var(--it21-fire), var(--it21-ember));
    border: 1px solid rgba(255,138,56,0.3);
    border-radius: 8px;
    padding: 12px 24px;
    cursor: pointer;
    transition: transform 0.2s, box-shadow 0.3s, background 0.3s;
    text-shadow: 0 1px 4px rgba(0,0,0,0.5);
    box-shadow: 0 4px 16px rgba(255,80,0,0.15), inset 0 1px 0 rgba(255,255,255,0.1);
    width: 100%;
}

body.theme-season21-infernal-throne .df21-block-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 24px rgba(255,80,0,0.25), inset 0 1px 0 rgba(255,255,255,0.15);
}

body.theme-season21-infernal-throne .df21-mini-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: var(--it21-font-ui);
    font-size: 0.68rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: rgba(255,230,200,0.8);
    background: rgba(255,138,56,0.06);
    border: 1px solid rgba(255,138,56,0.15);
    border-radius: 6px;
    padding: 8px 16px;
    cursor: pointer;
    transition: color 0.2s, background 0.2s, border-color 0.2s, box-shadow 0.2s;
}

body.theme-season21-infernal-throne .df21-mini-btn:hover {
    color: #fff;
    background: rgba(255,138,56,0.12);
    border-color: rgba(255,138,56,0.3);
    box-shadow: 0 0 8px rgba(255,138,56,0.12);
}

body.theme-season21-infernal-throne .df21-mini-btn.is-active {
    color: #fff;
    background: linear-gradient(135deg, rgba(255,138,56,0.2), rgba(255,80,0,0.12));
    border-color: rgba(255,138,56,0.3);
    text-shadow: 0 0 8px rgba(255,138,56,0.3);
}

body.theme-season21-infernal-throne .df21-mini-btn--muted {
    color: rgba(200,175,150,0.4);
    border-color: rgba(255,138,56,0.06);
    cursor: default;
}

body.theme-season21-infernal-throne .df21-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--it21-font-ui);
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: rgba(255,230,200,0.85);
    padding: 10px 20px;
    border: 1px solid rgba(255,138,56,0.2);
    border-radius: 8px;
    transition: color 0.2s, background 0.2s, border-color 0.2s, box-shadow 0.2s;
}

body.theme-season21-infernal-throne .df21-cta:hover {
    color: #fff;
    background: rgba(255,138,56,0.1);
    border-color: rgba(255,138,56,0.3);
}

body.theme-season21-infernal-throne .df21-cta--primary {
    background: linear-gradient(135deg, var(--it21-fire), var(--it21-ember));
    border-color: rgba(255,138,56,0.3);
    color: #fff;
    box-shadow: 0 4px 16px rgba(255,80,0,0.15);
}

body.theme-season21-infernal-throne .df21-cta--primary:hover {
    box-shadow: 0 6px 24px rgba(255,80,0,0.25);
    transform: translateY(-1px);
}

body.theme-season21-infernal-throne .df21-text-link {
    font-family: var(--it21-font-ui);
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--it21-gold);
    transition: color 0.2s, text-shadow 0.2s;
}

body.theme-season21-infernal-throne .df21-text-link:hover {
    color: #fff;
    text-shadow: 0 0 8px rgba(255,138,56,0.3);
}

/* ── Form Actions ── */
body.theme-season21-infernal-throne .df21-form-actions {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 4px;
}

/* ── Bullet List (key-value rows) ── */
body.theme-season21-infernal-throne .df21-bullet-list {
    display: flex;
    flex-direction: column;
    gap: 0;
}

body.theme-season21-infernal-throne .df21-bullet-list > div {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 10px 0;
    border-bottom: 1px solid rgba(255,138,56,0.06);
    gap: 12px;
}

body.theme-season21-infernal-throne .df21-bullet-list > div:last-child {
    border-bottom: none;
}

body.theme-season21-infernal-throne .df21-bullet-list > div strong {
    font-family: var(--it21-font-ui);
    font-size: 0.74rem;
    font-weight: 600;
    color: rgba(255,230,200,0.85);
    letter-spacing: 0.06em;
    flex-shrink: 0;
}

body.theme-season21-infernal-throne .df21-bullet-list > div span {
    font-family: var(--it21-font-body);
    font-size: 0.8rem;
    color: rgba(200,175,150,0.65);
    text-align: right;
}

body.theme-season21-infernal-throne .df21-bullet-list > div strong a {
    color: var(--it21-gold);
    transition: color 0.2s;
}

body.theme-season21-infernal-throne .df21-bullet-list > div strong a:hover {
    color: #fff;
}

/* ── Side Actions (button groups) ── */
body.theme-season21-infernal-throne .df21-side-actions {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-top: 8px;
}

/* ── Sidecard (sidebar cards) ── */
body.theme-season21-infernal-throne .df21-sidecard {
    background: linear-gradient(180deg, rgba(20,8,4,.95) 0%, rgba(12,5,2,.98) 100%);
    border: 1px solid rgba(255,138,56,.1);
    border-radius: 14px;
    padding: 20px 18px;
    position: relative;
    overflow: hidden;
    backdrop-filter: blur(14px);
    box-shadow: 0 4px 24px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,138,56,.05);
}
body.theme-season21-infernal-throne .df21-sidecard::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255,138,56,.3), rgba(255,80,0,.4), rgba(255,138,56,.3), transparent);
}
body.theme-season21-infernal-throne .df21-sidecard__head {
    padding-bottom: 14px;
    margin-bottom: 14px;
    border-bottom: 1px solid rgba(255,138,56,.07);
}
body.theme-season21-infernal-throne .df21-sidecard__eyebrow {
    display: block;
    font: 700 .62rem var(--it21-font-ui);
    text-transform: uppercase;
    letter-spacing: .2em;
    color: var(--it21-gold);
    margin-bottom: 6px;
    text-shadow: 0 0 8px rgba(255,138,56,.2);
}
body.theme-season21-infernal-throne .df21-sidecard h3 {
    margin: 0;
    font: 700 1rem var(--it21-font-head);
    color: var(--it21-text);
    letter-spacing: .03em;
}
body.theme-season21-infernal-throne .df21-sidecard__body {
    display: flex;
    flex-direction: column;
    gap: 0;
}
body.theme-season21-infernal-throne .df21-sidecopy {
    font: 400 .82rem var(--it21-font-body);
    color: var(--it21-text-dim);
    line-height: 1.5;
    margin: 0 0 8px;
}

/* ── Account Widget (premium profile card) ── */
body.theme-season21-infernal-throne .it21-acct {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 4px;
}
body.theme-season21-infernal-throne .it21-acct__avatar {
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255,138,56,.1) 0%, rgba(0,0,0,.3) 100%);
    border: 2px solid rgba(255,138,56,.15);
    margin-bottom: 4px;
    box-shadow: 0 0 20px rgba(255,100,20,.08);
}
body.theme-season21-infernal-throne .it21-acct__avatar i {
    font-size: 1.6rem;
    color: var(--it21-gold);
    filter: drop-shadow(0 0 6px rgba(255,138,56,.3));
}
body.theme-season21-infernal-throne .it21-acct__name {
    margin: 0;
    font: 700 1.05rem var(--it21-font-head);
    color: var(--it21-text);
    letter-spacing: .04em;
    text-shadow: 0 2px 8px rgba(0,0,0,.4);
}
body.theme-season21-infernal-throne .it21-acct__tier {
    font: 600 .62rem var(--it21-font-ui);
    text-transform: uppercase;
    letter-spacing: .14em;
    color: var(--it21-text-dim);
    margin-bottom: 10px;
}
body.theme-season21-infernal-throne .it21-acct__stats {
    display: flex;
    flex-direction: column;
    gap: 4px;
    width: 100%;
    margin-bottom: 12px;
}
body.theme-season21-infernal-throne .it21-acct__stat {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 8px 12px;
    border-radius: 8px;
    background: rgba(0,0,0,.25);
    border: 1px solid rgba(255,255,255,.04);
    transition: border-color .25s, background .25s;
}
body.theme-season21-infernal-throne .it21-acct__stat:hover {
    border-color: rgba(255,138,56,.12);
    background: rgba(255,138,56,.04);
}
body.theme-season21-infernal-throne .it21-acct__stat-label {
    display: flex;
    align-items: center;
    gap: 6px;
    font: 600 .62rem var(--it21-font-ui);
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--it21-text-dim);
}
body.theme-season21-infernal-throne .it21-acct__stat-label i {
    font-size: .85rem;
    color: var(--it21-gold);
    opacity: .7;
}
body.theme-season21-infernal-throne .it21-acct__stat strong {
    font: 700 .85rem var(--it21-font-ui);
    color: var(--it21-text);
    line-height: 1;
}
body.theme-season21-infernal-throne .it21-acct__actions {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 6px;
    width: 100%;
}
body.theme-season21-infernal-throne .it21-acct__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 9px 6px;
    border-radius: 8px;
    border: 1px solid rgba(255,138,56,.12);
    background: rgba(255,138,56,.05);
    color: var(--it21-text-dim);
    font: 600 .64rem var(--it21-font-ui);
    text-transform: uppercase;
    letter-spacing: .06em;
    text-decoration: none;
    transition: all .25s;
    cursor: pointer;
}
body.theme-season21-infernal-throne .it21-acct__btn:hover {
    color: var(--it21-text);
    background: rgba(255,138,56,.1);
    border-color: rgba(255,138,56,.25);
    transform: translateY(-1px);
    box-shadow: 0 2px 10px rgba(255,100,20,.1);
}
body.theme-season21-infernal-throne .it21-acct__btn i {
    font-size: .85rem;
}
body.theme-season21-infernal-throne .it21-acct__btn--gold {
    background: linear-gradient(135deg, var(--it21-gold), #d05510);
    border-color: transparent;
    color: #0e0604;
    font-weight: 700;
    box-shadow: 0 2px 10px rgba(255,100,20,.2);
}
body.theme-season21-infernal-throne .it21-acct__btn--gold:hover {
    filter: brightness(1.12);
    color: #0e0604;
    box-shadow: 0 3px 14px rgba(255,100,20,.3);
}
body.theme-season21-infernal-throne .it21-acct--guest .it21-acct__avatar {
    border-color: rgba(255,255,255,.08);
}
body.theme-season21-infernal-throne .it21-acct--guest .it21-acct__avatar i {
    color: var(--it21-text-dim);
    opacity: .5;
}
body.theme-season21-infernal-throne .it21-acct--guest .it21-acct__actions {
    grid-template-columns: repeat(2, 1fr);
}

/* ── Service Metrics (stat cards) ── */
body.theme-season21-infernal-throne .df21-service-metrics {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 12px;
}

body.theme-season21-infernal-throne .df21-service-stat {
    display: flex;
    flex-direction: column;
    gap: 4px;
    background: rgba(20,8,4,0.92);
    border: 1px solid rgba(255,138,56,0.1);
    border-radius: 10px;
    padding: 16px 18px;
    position: relative;
    overflow: hidden;
    backdrop-filter: blur(10px);
}

body.theme-season21-infernal-throne .df21-service-stat::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--it21-gold), transparent);
}

body.theme-season21-infernal-throne .df21-service-stat > span {
    font-family: var(--it21-font-ui);
    font-size: 0.62rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    color: var(--it21-gold);
    opacity: 0.8;
}

body.theme-season21-infernal-throne .df21-service-stat > strong {
    font-family: var(--it21-font-head);
    font-size: 1.1rem;
    font-weight: 700;
    color: #fff;
}

body.theme-season21-infernal-throne .df21-service-stat > small {
    font-family: var(--it21-font-body);
    font-size: 0.72rem;
    color: rgba(200,175,150,0.55);
    line-height: 1.4;
}

/* ── Action Grid (tile buttons) ── */
body.theme-season21-infernal-throne .df21-action-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 10px;
}

body.theme-season21-infernal-throne .df21-action-tile {
    display: flex;
    flex-direction: column;
    gap: 4px;
    background: rgba(15,6,3,0.5);
    border: 1px solid rgba(255,138,56,0.08);
    border-radius: 8px;
    padding: 14px 16px;
    transition: background 0.25s, border-color 0.25s, box-shadow 0.25s, transform 0.2s;
}

body.theme-season21-infernal-throne .df21-action-tile:hover {
    background: rgba(255,138,56,0.06);
    border-color: rgba(255,138,56,0.2);
    transform: translateY(-1px);
    box-shadow: 0 4px 16px rgba(255,80,0,0.1);
}

body.theme-season21-infernal-throne .df21-action-tile strong {
    font-family: var(--it21-font-ui);
    font-size: 0.76rem;
    font-weight: 700;
    color: #fff;
    letter-spacing: 0.06em;
}

body.theme-season21-infernal-throne .df21-action-tile span {
    font-family: var(--it21-font-body);
    font-size: 0.72rem;
    color: rgba(200,175,150,0.55);
}

/* ── Character Grid ── */
body.theme-season21-infernal-throne .df21-character-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 12px;
}

body.theme-season21-infernal-throne .df21-character-card {
    background: rgba(15,6,3,0.5);
    border: 1px solid rgba(255,138,56,0.08);
    border-radius: 10px;
    padding: 16px 18px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    transition: border-color 0.25s, box-shadow 0.25s;
}

body.theme-season21-infernal-throne .df21-character-card:hover {
    border-color: rgba(255,138,56,0.2);
    box-shadow: 0 4px 16px rgba(255,80,0,0.08);
}

body.theme-season21-infernal-throne .df21-character-card__head {
    display: flex;
    align-items: center;
    gap: 12px;
}

body.theme-season21-infernal-throne .df21-character-card__head img {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    border: 2px solid rgba(255,138,56,0.2);
    object-fit: cover;
    box-shadow: 0 0 8px rgba(255,80,0,0.15);
}

body.theme-season21-infernal-throne .df21-character-card__head h3 {
    margin: 0;
    font-family: var(--it21-font-head);
    font-size: 0.95rem;
    font-weight: 700;
    color: #fff;
}

body.theme-season21-infernal-throne .df21-character-card__head h3 a {
    color: var(--it21-gold);
    transition: color 0.2s, text-shadow 0.2s;
}

body.theme-season21-infernal-throne .df21-character-card__head h3 a:hover {
    color: #fff;
    text-shadow: 0 0 10px rgba(255,138,56,0.4);
}

body.theme-season21-infernal-throne .df21-character-card__head > div > span {
    font-family: var(--it21-font-ui);
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: rgba(200,175,150,0.55);
}

/* ── Key-Value pairs ── */
body.theme-season21-infernal-throne .df21-kv {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 6px 0;
    border-bottom: 1px solid rgba(255,138,56,0.05);
}

body.theme-season21-infernal-throne .df21-kv:last-of-type {
    border-bottom: none;
}

body.theme-season21-infernal-throne .df21-kv > span {
    font-family: var(--it21-font-ui);
    font-size: 0.68rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: rgba(200,175,150,0.55);
}

body.theme-season21-infernal-throne .df21-kv > strong {
    font-family: var(--it21-font-body);
    font-size: 0.82rem;
    font-weight: 600;
    color: rgba(255,230,200,0.9);
}

/* ── Empty state ── */
body.theme-season21-infernal-throne .df21-empty {
    font-family: var(--it21-font-body);
    font-size: 0.82rem;
    color: rgba(200,175,150,0.4);
    text-align: center;
    padding: 28px 16px;
    font-style: italic;
}

/* ── Timeline ── */
body.theme-season21-infernal-throne .df21-timeline {
    display: flex;
    flex-direction: column;
    gap: 0;
}

body.theme-season21-infernal-throne .df21-timeline__item {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 16px;
    padding: 10px 0;
    border-bottom: 1px solid rgba(255,138,56,0.06);
    position: relative;
    padding-left: 16px;
}

body.theme-season21-infernal-throne .df21-timeline__item::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--it21-gold);
    transform: translateY(-50%);
    box-shadow: 0 0 6px rgba(255,138,56,0.3);
}

body.theme-season21-infernal-throne .df21-timeline__item:last-child {
    border-bottom: none;
}

body.theme-season21-infernal-throne .df21-timeline__item strong {
    font-family: var(--it21-font-body);
    font-size: 0.8rem;
    font-weight: 600;
    color: rgba(255,230,200,0.85);
    flex: 1;
}

body.theme-season21-infernal-throne .df21-timeline__item span {
    font-family: var(--it21-font-ui);
    font-size: 0.65rem;
    font-weight: 600;
    color: rgba(200,175,150,0.45);
    letter-spacing: 0.06em;
    flex-shrink: 0;
}

/* ── News Cards ── */
body.theme-season21-infernal-throne .df21-news-feature {
    position: relative;
}

body.theme-season21-infernal-throne .df21-news-feature__meta,
body.theme-season21-infernal-throne .df21-news-item__meta {
    display: flex;
    gap: 12px;
    align-items: center;
    margin-bottom: 8px;
}

body.theme-season21-infernal-throne .df21-news-feature__meta span,
body.theme-season21-infernal-throne .df21-news-item__meta span {
    font-family: var(--it21-font-ui);
    font-size: 0.62rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--it21-gold);
    opacity: 0.8;
}

body.theme-season21-infernal-throne .df21-news-feature__meta strong,
body.theme-season21-infernal-throne .df21-news-item__meta strong {
    font-family: var(--it21-font-ui);
    font-size: 0.62rem;
    font-weight: 600;
    color: rgba(200,175,150,0.5);
    letter-spacing: 0.06em;
}

body.theme-season21-infernal-throne .df21-news-feature p,
body.theme-season21-infernal-throne .df21-news-card p {
    font-family: var(--it21-font-body);
    font-size: 0.82rem;
    color: rgba(200,175,150,0.65);
    line-height: 1.6;
    margin: 8px 0 14px;
}

body.theme-season21-infernal-throne .df21-news-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 14px;
}

body.theme-season21-infernal-throne .df21-news-card {
    background: rgba(15,6,3,0.5);
    border: 1px solid rgba(255,138,56,0.08);
    border-radius: 10px;
    padding: 18px 20px;
    transition: border-color 0.25s, box-shadow 0.25s;
}

body.theme-season21-infernal-throne .df21-news-card:hover {
    border-color: rgba(255,138,56,0.18);
    box-shadow: 0 4px 16px rgba(255,80,0,0.08);
}

body.theme-season21-infernal-throne .df21-news-card h3 {
    font-family: var(--it21-font-head);
    font-size: 0.95rem;
    font-weight: 700;
    color: #fff;
    margin: 0 0 4px;
}

body.theme-season21-infernal-throne .df21-news-card h3 a {
    color: #fff;
    transition: color 0.2s, text-shadow 0.2s;
}

body.theme-season21-infernal-throne .df21-news-card h3 a:hover {
    color: var(--it21-gold);
    text-shadow: 0 0 8px rgba(255,138,56,0.3);
}

/* ── Article body ── */
body.theme-season21-infernal-throne .df21-article__body {
    font-family: var(--it21-font-body);
    font-size: 0.88rem;
    color: rgba(230,210,190,0.8);
    line-height: 1.75;
}

body.theme-season21-infernal-throne .df21-article__body h2,
body.theme-season21-infernal-throne .df21-article__body h3,
body.theme-season21-infernal-throne .df21-article__body h4 {
    font-family: var(--it21-font-head);
    color: #fff;
    margin: 20px 0 10px;
}

body.theme-season21-infernal-throne .df21-article__body a {
    color: var(--it21-gold);
    text-decoration: underline;
    text-decoration-color: rgba(255,138,56,0.3);
    transition: color 0.2s;
}

body.theme-season21-infernal-throne .df21-article__body a:hover {
    color: #fff;
}

body.theme-season21-infernal-throne .df21-article__body blockquote {
    border-left: 3px solid var(--it21-gold);
    padding: 12px 16px;
    margin: 16px 0;
    background: rgba(255,138,56,0.04);
    border-radius: 0 8px 8px 0;
    color: rgba(230,210,190,0.7);
}

body.theme-season21-infernal-throne .df21-article__body table {
    width: 100%;
    border-collapse: collapse;
    margin: 16px 0;
}

body.theme-season21-infernal-throne .df21-article__body table th,
body.theme-season21-infernal-throne .df21-article__body table td {
    padding: 10px 14px;
    border-bottom: 1px solid rgba(255,138,56,0.08);
    text-align: left;
}

body.theme-season21-infernal-throne .df21-article__body table th {
    font-family: var(--it21-font-ui);
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--it21-gold);
}

body.theme-season21-infernal-throne .df21-article__body img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    margin: 16px 0;
}

body.theme-season21-infernal-throne .df21-article__body pre,
body.theme-season21-infernal-throne .df21-article__body code {
    font-family: 'Courier New', monospace;
    font-size: 0.82rem;
    background: rgba(15,6,3,0.6);
    border-radius: 6px;
    padding: 2px 6px;
}

body.theme-season21-infernal-throne .df21-article__body pre {
    padding: 14px 18px;
    overflow-x: auto;
    border: 1px solid rgba(255,138,56,0.08);
}

body.theme-season21-infernal-throne .df21-article__body ul,
body.theme-season21-infernal-throne .df21-article__body ol {
    padding-left: 20px;
    margin: 10px 0;
}

body.theme-season21-infernal-throne .df21-article__body li {
    margin: 4px 0;
}

/* ── Pagination ── */
body.theme-season21-infernal-throne .df21-pagination {
    display: flex;
    gap: 4px;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(255,138,56,0.06);
}

/* ── Embedded Content ── */
body.theme-season21-infernal-throne .df21-info-embed,
body.theme-season21-infernal-throne .df21-content-embed {
    font-family: var(--it21-font-body);
    font-size: 0.85rem;
    color: rgba(230,210,190,0.75);
    line-height: 1.7;
}

body.theme-season21-infernal-throne .df21-info-embed h2,
body.theme-season21-infernal-throne .df21-info-embed h3,
body.theme-season21-infernal-throne .df21-content-embed h2,
body.theme-season21-infernal-throne .df21-content-embed h3 {
    font-family: var(--it21-font-head);
    color: #fff;
    margin: 18px 0 8px;
}

body.theme-season21-infernal-throne .df21-info-embed table,
body.theme-season21-infernal-throne .df21-content-embed table {
    width: 100%;
    border-collapse: collapse;
}

body.theme-season21-infernal-throne .df21-info-embed table th,
body.theme-season21-infernal-throne .df21-info-embed table td,
body.theme-season21-infernal-throne .df21-content-embed table th,
body.theme-season21-infernal-throne .df21-content-embed table td {
    padding: 10px 14px;
    border-bottom: 1px solid rgba(255,138,56,0.08);
    text-align: left;
    font-size: 0.8rem;
}

body.theme-season21-infernal-throne .df21-info-embed table th,
body.theme-season21-infernal-throne .df21-content-embed table th {
    font-family: var(--it21-font-ui);
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--it21-gold);
    background: rgba(255,138,56,0.04);
}

body.theme-season21-infernal-throne .df21-info-embed a,
body.theme-season21-infernal-throne .df21-content-embed a {
    color: var(--it21-gold);
    transition: color 0.2s;
}

body.theme-season21-infernal-throne .df21-info-embed a:hover,
body.theme-season21-infernal-throne .df21-content-embed a:hover {
    color: #fff;
}

/* ═══════════════════════════════════════════════════
   SERVER-INFO PAGE — Full Component Styling
   ═══════════════════════════════════════════════════ */

/* ── Hidden original header (hero partial used instead) ── */
body.theme-season21-infernal-throne .df21-info-embed .page-header {
    display: none;
}

/* ── TOC Navigation Grid ── */
body.theme-season21-infernal-throne .df21-info-embed .info-toc {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
    margin-bottom: 28px;
}

body.theme-season21-infernal-throne .df21-info-embed .info-toc a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 46px;
    padding: 0 16px;
    border: 1px solid rgba(255,138,56,0.12);
    border-radius: var(--it21-radius-sm);
    background: rgba(10,4,2,0.5);
    color: var(--it21-text);
    font: 600 0.78rem var(--it21-font-ui);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration: none;
    transition: border-color 0.25s, background 0.25s, color 0.25s, box-shadow 0.25s;
    position: relative;
    overflow: hidden;
}

body.theme-season21-infernal-throne .df21-info-embed .info-toc a::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 2px;
    background: linear-gradient(180deg, transparent, var(--it21-gold), transparent);
    opacity: 0;
    transition: opacity 0.25s;
}

body.theme-season21-infernal-throne .df21-info-embed .info-toc a:hover {
    border-color: rgba(255,138,56,0.28);
    background: rgba(255,138,56,0.06);
    color: #fff;
    box-shadow: 0 2px 12px rgba(255,80,0,0.08);
}

body.theme-season21-infernal-throne .df21-info-embed .info-toc a:hover::before {
    opacity: 1;
}

body.theme-season21-infernal-throne .df21-info-embed .info-toc a i {
    color: var(--it21-gold);
    font-size: 1rem;
}

/* ── Info Sections ── */
body.theme-season21-infernal-throne .df21-info-embed .info-section {
    display: grid;
    gap: 16px;
    padding-top: 28px;
    border-top: 1px solid rgba(255,138,56,0.06);
}

body.theme-season21-infernal-throne .df21-info-embed .info-section:first-of-type {
    border-top: none;
    padding-top: 0;
}

body.theme-season21-infernal-throne .df21-info-embed .info-section-title {
    display: flex;
    align-items: center;
    gap: 12px;
    font-family: var(--it21-font-head);
    font-size: 1.2rem;
    font-weight: 700;
    color: #fff;
    margin: 0;
    text-shadow: 0 2px 10px rgba(0,0,0,0.5);
}

body.theme-season21-infernal-throne .df21-info-embed .info-section-title i {
    color: var(--it21-gold);
    font-size: 1.15rem;
}

body.theme-season21-infernal-throne .df21-info-embed .info-section-desc {
    color: rgba(230,210,190,0.6);
    font: 400 0.82rem/1.7 var(--it21-font-body);
    margin: -4px 0 4px;
}

body.theme-season21-infernal-throne .df21-info-embed .info-section-desc code {
    background: rgba(255,138,56,0.08);
    border: 1px solid rgba(255,138,56,0.12);
    border-radius: 4px;
    padding: 1px 6px;
    font-size: 0.78rem;
    color: var(--it21-gold);
}

/* ── Info Grid ── */
body.theme-season21-infernal-throne .df21-info-embed .info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 14px;
}

/* ── Info Cards ── */
body.theme-season21-infernal-throne .df21-info-embed .info-card {
    background: rgba(12,5,3,0.6);
    border: 1px solid rgba(255,138,56,0.1);
    border-radius: var(--it21-radius);
    padding: 0;
    position: relative;
    overflow: hidden;
    transition: border-color 0.25s, box-shadow 0.25s;
}

body.theme-season21-infernal-throne .df21-info-embed .info-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(255,138,56,0.3), transparent);
}

body.theme-season21-infernal-throne .df21-info-embed .info-card:hover {
    border-color: rgba(255,138,56,0.2);
    box-shadow: 0 4px 20px rgba(255,80,0,0.06);
}

body.theme-season21-infernal-throne .df21-info-embed .info-card h3 {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    padding: 16px 20px 12px;
    font-family: var(--it21-font-head);
    font-size: 0.9rem;
    font-weight: 700;
    color: #fff;
    border-bottom: 1px solid rgba(255,138,56,0.06);
}

body.theme-season21-infernal-throne .df21-info-embed .info-card h3 i {
    color: var(--it21-gold);
    font-size: 1rem;
}

body.theme-season21-infernal-throne .df21-info-embed .info-card > ul,
body.theme-season21-infernal-throne .df21-info-embed .info-card > .info-table-scroll,
body.theme-season21-infernal-throne .df21-info-embed .info-card > table,
body.theme-season21-infernal-throne .df21-info-embed .info-card > p {
    margin: 0;
    padding: 14px 20px;
}

body.theme-season21-infernal-throne .df21-info-embed .info-card ul {
    list-style: none;
    margin: 0;
    padding: 6px 20px 16px;
    display: flex;
    flex-direction: column;
    gap: 0;
}

body.theme-season21-infernal-throne .df21-info-embed .info-card ul li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 9px 0;
    border-bottom: 1px solid rgba(255,138,56,0.04);
    color: rgba(230,210,190,0.65);
    font-size: 0.8rem;
}

body.theme-season21-infernal-throne .df21-info-embed .info-card ul li:last-child {
    border-bottom: none;
}

body.theme-season21-infernal-throne .df21-info-embed .info-card ul li strong {
    color: var(--it21-text);
    font-weight: 600;
}

body.theme-season21-infernal-throne .df21-info-embed .info-card--wide {
    grid-column: 1 / -1;
}

/* ── Info Note ── */
body.theme-season21-infernal-throne .df21-info-embed .info-note {
    color: rgba(230,210,190,0.55);
    font: 400 0.78rem/1.6 var(--it21-font-body);
    padding: 10px 20px 2px;
    margin: 0;
}

/* ── Info Link ── */
body.theme-season21-infernal-throne .df21-info-embed .info-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 20px 14px;
    font: 600 0.72rem var(--it21-font-ui);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--it21-gold);
    text-decoration: none;
}

body.theme-season21-infernal-throne .df21-info-embed .info-link:hover {
    color: #fff;
}

/* ── Hero Stats (overview top bar) ── */
body.theme-season21-infernal-throne .df21-info-embed .info-hero-stats {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 10px;
    margin-bottom: 8px;
}

body.theme-season21-infernal-throne .df21-info-embed .hero-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 16px 10px;
    background: rgba(10,4,2,0.5);
    border: 1px solid rgba(255,138,56,0.08);
    border-radius: var(--it21-radius-sm);
    position: relative;
    overflow: hidden;
}

body.theme-season21-infernal-throne .df21-info-embed .hero-stat::before {
    content: '';
    position: absolute;
    top: 0;
    left: 20%;
    right: 20%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255,138,56,0.25), transparent);
}

body.theme-season21-infernal-throne .df21-info-embed .hero-stat-value {
    font: 700 1.4rem var(--it21-font-head);
    color: #fff;
    text-shadow: 0 2px 8px rgba(0,0,0,0.4);
}

body.theme-season21-infernal-throne .df21-info-embed .hero-stat-label {
    font: 600 0.58rem var(--it21-font-ui);
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: var(--it21-gold);
}

/* ── Info Tables ── */
body.theme-season21-infernal-throne .df21-info-embed .info-table-scroll {
    overflow-x: auto;
    margin: 0;
    padding: 0 0 4px;
}

body.theme-season21-infernal-throne .df21-info-embed .info-table {
    width: 100%;
    border-collapse: collapse;
}

body.theme-season21-infernal-throne .df21-info-embed .info-table thead th {
    font-family: var(--it21-font-ui);
    font-size: 0.62rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--it21-gold);
    padding: 10px 14px;
    background: rgba(255,138,56,0.04);
    border-bottom: 1px solid rgba(255,138,56,0.1);
    text-align: left;
}

body.theme-season21-infernal-throne .df21-info-embed .info-table tbody td {
    padding: 9px 14px;
    border-bottom: 1px solid rgba(255,138,56,0.04);
    font-size: 0.78rem;
    color: rgba(230,210,190,0.75);
}

body.theme-season21-infernal-throne .df21-info-embed .info-table tbody tr:hover {
    background: rgba(255,138,56,0.03);
}

body.theme-season21-infernal-throne .df21-info-embed .cell-gold {
    color: var(--it21-gold) !important;
    font-weight: 700;
}

body.theme-season21-infernal-throne .df21-info-embed .row-highlight {
    background: rgba(255,138,56,0.06);
}

body.theme-season21-infernal-throne .df21-info-embed .row-highlight td {
    font-weight: 600;
    color: var(--it21-text);
}

body.theme-season21-infernal-throne .df21-info-embed .text-success {
    color: #4ade80 !important;
}

body.theme-season21-infernal-throne .df21-info-embed .text-danger {
    color: #f87171 !important;
}

body.theme-season21-infernal-throne .df21-info-embed .text-gold,
body.theme-season21-infernal-throne .df21-content-embed .text-gold {
    color: var(--it21-gold) !important;
}

body.theme-season21-infernal-throne .df21-info-embed .text-cyan,
body.theme-season21-infernal-throne .df21-content-embed .text-cyan {
    color: #67e8f9 !important;
}

/* ── Feature Card Highlight ── */
body.theme-season21-infernal-throne .df21-info-embed .feat-card-highlight {
    border-color: rgba(255,138,56,0.18);
    background: rgba(15,6,3,0.7);
}

body.theme-season21-infernal-throne .df21-info-embed .feat-card-highlight::before {
    background: linear-gradient(90deg, transparent, var(--it21-gold), transparent);
    height: 2px;
}

/* ── Class Grid ── */
body.theme-season21-infernal-throne .df21-info-embed .class-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 10px;
}

body.theme-season21-infernal-throne .df21-info-embed .class-card {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 14px 16px;
    background: rgba(10,4,2,0.5);
    border: 1px solid rgba(255,138,56,0.08);
    border-radius: var(--it21-radius-sm);
    transition: border-color 0.25s, box-shadow 0.25s;
}

body.theme-season21-infernal-throne .df21-info-embed .class-card:hover {
    border-color: rgba(255,138,56,0.2);
    box-shadow: 0 2px 12px rgba(255,80,0,0.06);
}

body.theme-season21-infernal-throne .df21-info-embed .class-card-icon {
    flex-shrink: 0;
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,138,56,0.08);
    border: 1px solid rgba(255,138,56,0.12);
    border-radius: 8px;
}

body.theme-season21-infernal-throne .df21-info-embed .class-card-icon i {
    color: var(--it21-gold);
    font-size: 1.1rem;
}

body.theme-season21-infernal-throne .df21-info-embed .class-card-body {
    flex: 1;
    min-width: 0;
}

body.theme-season21-infernal-throne .df21-info-embed .class-card-body h4 {
    font: 700 0.85rem var(--it21-font-head);
    color: #fff;
    margin: 0 0 4px;
}

body.theme-season21-infernal-throne .df21-info-embed .class-evolution {
    font: 400 0.7rem var(--it21-font-body);
    color: rgba(230,210,190,0.5);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

body.theme-season21-infernal-throne .df21-info-embed .class-meta {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 6px;
}

body.theme-season21-infernal-throne .df21-info-embed .class-role {
    font: 600 0.6rem var(--it21-font-ui);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: rgba(230,210,190,0.45);
}

body.theme-season21-infernal-throne .df21-info-embed .class-unlock {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font: 600 0.58rem var(--it21-font-ui);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--it21-gold);
    padding: 2px 8px;
    background: rgba(255,138,56,0.08);
    border-radius: 4px;
}

/* ── Invasion Cards ── */
body.theme-season21-infernal-throne .df21-info-embed .invasion-card .invasion-times {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 12px 20px 16px;
}

body.theme-season21-infernal-throne .df21-info-embed .inv-time {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 52px;
    padding: 5px 10px;
    background: rgba(255,138,56,0.06);
    border: 1px solid rgba(255,138,56,0.1);
    border-radius: 4px;
    font: 600 0.72rem var(--it21-font-ui);
    color: var(--it21-text);
    letter-spacing: 0.04em;
}

/* ── VIP Cards ── */
body.theme-season21-infernal-throne .df21-info-embed .vip-card {
    position: relative;
}

body.theme-season21-infernal-throne .df21-info-embed .vip-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 12px 20px;
    font: 700 0.75rem var(--it21-font-ui);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    border-bottom: 1px solid rgba(255,138,56,0.06);
}

body.theme-season21-infernal-throne .df21-info-embed .vip-bronze .vip-badge {
    color: #cd7f32;
}

body.theme-season21-infernal-throne .df21-info-embed .vip-bronze::before {
    background: linear-gradient(90deg, transparent, #cd7f32, transparent);
}

body.theme-season21-infernal-throne .df21-info-embed .vip-silver .vip-badge {
    color: #c0c0c0;
}

body.theme-season21-infernal-throne .df21-info-embed .vip-silver::before {
    background: linear-gradient(90deg, transparent, #c0c0c0, transparent);
}

body.theme-season21-infernal-throne .df21-info-embed .vip-gold .vip-badge {
    color: var(--it21-gold);
}

body.theme-season21-infernal-throne .df21-info-embed .vip-gold::before {
    background: linear-gradient(90deg, transparent, var(--it21-gold), transparent);
}

body.theme-season21-infernal-throne .df21-info-embed .vip-badge i {
    font-size: 1rem;
}

/* ── Event Badges ── */
body.theme-season21-infernal-throne .df21-info-embed .ev-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 4px;
    font: 600 0.6rem var(--it21-font-ui);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    background: rgba(255,138,56,0.1);
    color: var(--it21-gold);
    border: 1px solid rgba(255,138,56,0.12);
}

body.theme-season21-infernal-throne .df21-info-embed .ev-badge--pvp {
    color: #f87171;
    background: rgba(248,113,113,0.08);
    border-color: rgba(248,113,113,0.15);
}

body.theme-season21-infernal-throne .df21-info-embed .ev-badge--pve {
    color: #4ade80;
    background: rgba(74,222,128,0.08);
    border-color: rgba(74,222,128,0.15);
}

body.theme-season21-infernal-throne .df21-info-embed .ev-badge--mixed {
    color: #a78bfa;
    background: rgba(167,139,250,0.08);
    border-color: rgba(167,139,250,0.15);
}

body.theme-season21-infernal-throne .df21-info-embed .ev-desc {
    color: rgba(230,210,190,0.5);
    font-size: 0.72rem;
    max-width: 260px;
}

/* ── Coming Soon / DB Links ── */
body.theme-season21-infernal-throne .df21-info-embed .coming-soon-card ul {
    padding: 10px 20px 16px;
}

body.theme-season21-infernal-throne .df21-info-embed .coming-soon-list li {
    justify-content: flex-start;
    gap: 10px;
    color: rgba(230,210,190,0.5);
    font-style: italic;
}

body.theme-season21-infernal-throne .df21-info-embed .coming-soon-list li i {
    color: rgba(255,138,56,0.3);
    font-size: 0.95rem;
}

body.theme-season21-infernal-throne .df21-info-embed .db-links-list {
    list-style: none;
    padding: 6px 20px 16px;
}

body.theme-season21-infernal-throne .df21-info-embed .db-links-list li {
    border-bottom: 1px solid rgba(255,138,56,0.04);
}

body.theme-season21-infernal-throne .df21-info-embed .db-links-list li a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 0;
    color: var(--it21-text);
    text-decoration: none;
    font-size: 0.8rem;
    transition: color 0.2s;
}

body.theme-season21-infernal-throne .df21-info-embed .db-links-list li a:hover {
    color: var(--it21-gold);
}

body.theme-season21-infernal-throne .df21-info-embed .db-links-list li a i {
    color: var(--it21-gold);
    font-size: 0.95rem;
    width: 18px;
    text-align: center;
}

/* ── Info Page Responsive ── */
@media (max-width: 1240px) {
    body.theme-season21-infernal-throne .df21-info-embed .info-toc {
        grid-template-columns: repeat(3, 1fr);
    }
    body.theme-season21-infernal-throne .df21-info-embed .info-hero-stats {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 980px) {
    body.theme-season21-infernal-throne .df21-info-embed .info-toc {
        grid-template-columns: repeat(2, 1fr);
    }
    body.theme-season21-infernal-throne .df21-info-embed .info-grid {
        grid-template-columns: 1fr;
    }
    body.theme-season21-infernal-throne .df21-info-embed .class-grid {
        grid-template-columns: 1fr;
    }
    body.theme-season21-infernal-throne .df21-info-embed .info-hero-stats {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    body.theme-season21-infernal-throne .df21-info-embed .info-toc {
        grid-template-columns: 1fr;
    }
    body.theme-season21-infernal-throne .df21-info-embed .info-hero-stats {
        grid-template-columns: repeat(2, 1fr);
    }
    body.theme-season21-infernal-throne .df21-info-embed .info-table thead th,
    body.theme-season21-infernal-throne .df21-info-embed .info-table tbody td {
        padding: 7px 10px;
        font-size: 0.72rem;
    }
}

/* ═══════════════════════════════════════════════════
   FEATURES PAGE — Premium Showcase Override
   ═══════════════════════════════════════════════════ */

/* Force full-width: collapse grid, stack side panels below */
body.theme-season21-infernal-throne .df21-page-grid:has(.page-features) {
    grid-template-columns: 1fr;
}

/* Side panel becomes a compact horizontal bar */
body.theme-season21-infernal-throne .df21-page-grid:has(.page-features) > .df21-page-panel:not(:first-child) {
    padding: 14px 20px;
}

body.theme-season21-infernal-throne .df21-page-grid:has(.page-features) > .df21-page-panel:not(:first-child) .df21-page-panel__head {
    display: none;
}

body.theme-season21-infernal-throne .df21-page-grid:has(.page-features) > .df21-page-panel:not(:first-child) .df21-bullet-list {
    flex-direction: row;
    gap: 0;
    justify-content: center;
}

body.theme-season21-infernal-throne .df21-page-grid:has(.page-features) > .df21-page-panel:not(:first-child) .df21-bullet-list > div {
    flex: 1;
    justify-content: center;
    text-align: center;
    gap: 8px;
    padding: 6px 16px;
    border-bottom: none;
    border-right: 1px solid rgba(255,138,56,0.08);
    flex-direction: column;
    align-items: center;
}

body.theme-season21-infernal-throne .df21-page-grid:has(.page-features) > .df21-page-panel:not(:first-child) .df21-bullet-list > div:last-child {
    border-right: none;
}

body.theme-season21-infernal-throne .df21-page-grid:has(.page-features) > .df21-page-panel:not(:first-child) .df21-bullet-list > div strong {
    font-size: 1.1rem;
    font-family: var(--it21-font-head);
    color: #fff;
}

body.theme-season21-infernal-throne .df21-page-grid:has(.page-features) > .df21-page-panel:not(:first-child) .df21-bullet-list > div span {
    font-size: 0.6rem;
    font-family: var(--it21-font-ui);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    text-align: center;
}

/* ── Features TOC — Premium Icon Grid ── */
body.theme-season21-infernal-throne .df21-info-embed .page-features .info-toc {
    grid-template-columns: repeat(5, 1fr);
    gap: 10px;
    margin-bottom: 32px;
}

body.theme-season21-infernal-throne .df21-info-embed .page-features .info-toc a {
    flex-direction: column;
    gap: 8px;
    padding: 18px 12px 14px;
    text-align: center;
    justify-content: center;
    min-height: 80px;
    border-radius: var(--it21-radius);
    background:
        radial-gradient(ellipse at 50% 20%, rgba(255,100,30,0.04) 0%, transparent 70%),
        rgba(10,4,2,0.6);
    font-size: 0.65rem;
    letter-spacing: 0.1em;
}

body.theme-season21-infernal-throne .df21-info-embed .page-features .info-toc a::before {
    display: none;
}

body.theme-season21-infernal-throne .df21-info-embed .page-features .info-toc a i {
    font-size: 1.5rem;
    transition: transform 0.25s, color 0.25s;
}

body.theme-season21-infernal-throne .df21-info-embed .page-features .info-toc a:hover {
    background:
        radial-gradient(ellipse at 50% 30%, rgba(255,120,40,0.12) 0%, transparent 60%),
        rgba(255,138,56,0.06);
    transform: translateY(-2px);
}

body.theme-season21-infernal-throne .df21-info-embed .page-features .info-toc a:hover i {
    transform: scale(1.15);
    color: #fff;
}

/* ── Features Section Titles — Bigger, bolder ── */
body.theme-season21-infernal-throne .df21-info-embed .page-features .info-section {
    padding-top: 36px;
    gap: 18px;
}

body.theme-season21-infernal-throne .df21-info-embed .page-features .info-section-title {
    font-size: 1.35rem;
    gap: 14px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(255,138,56,0.06);
    position: relative;
}

body.theme-season21-infernal-throne .df21-info-embed .page-features .info-section-title::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 60px;
    height: 2px;
    background: linear-gradient(90deg, var(--it21-gold), transparent);
}

body.theme-season21-infernal-throne .df21-info-embed .page-features .info-section-title i {
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,138,56,0.06);
    border: 1px solid rgba(255,138,56,0.12);
    border-radius: 10px;
    font-size: 1.1rem;
}

body.theme-season21-infernal-throne .df21-info-embed .page-features .info-section-desc {
    font-size: 0.85rem;
    max-width: 700px;
    line-height: 1.75;
}

/* ── Features Grid — wider cards ── */
body.theme-season21-infernal-throne .df21-info-embed .page-features .info-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

/* ── Features Cards — richer treatment ── */
body.theme-season21-infernal-throne .df21-info-embed .page-features .info-card {
    background:
        radial-gradient(ellipse at 20% 10%, rgba(255,100,30,0.04) 0%, transparent 60%),
        rgba(12,5,3,0.65);
    border-radius: var(--it21-radius);
}

body.theme-season21-infernal-throne .df21-info-embed .page-features .info-card h3 {
    padding: 18px 22px 14px;
    font-size: 0.95rem;
}

body.theme-season21-infernal-throne .df21-info-embed .page-features .info-card h3 i {
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,138,56,0.06);
    border: 1px solid rgba(255,138,56,0.1);
    border-radius: 8px;
    font-size: 0.9rem;
}

body.theme-season21-infernal-throne .df21-info-embed .page-features .info-card ul {
    padding: 8px 22px 18px;
}

body.theme-season21-infernal-throne .df21-info-embed .page-features .info-card ul li {
    padding: 10px 0;
}

/* ── Features Tables — better spacing ── */
body.theme-season21-infernal-throne .df21-info-embed .page-features .info-table thead th {
    padding: 12px 16px;
}

body.theme-season21-infernal-throne .df21-info-embed .page-features .info-table tbody td {
    padding: 10px 16px;
    font-size: 0.82rem;
}

/* ── Features Highlight card glow ── */
body.theme-season21-infernal-throne .df21-info-embed .page-features .feat-card-highlight {
    border-color: rgba(255,138,56,0.2);
    background:
        radial-gradient(ellipse at 30% 0%, rgba(255,120,40,0.08) 0%, transparent 50%),
        rgba(15,6,3,0.75);
    box-shadow: 0 2px 16px rgba(255,80,0,0.04);
}

/* ── Features Responsive ── */
@media (max-width: 1100px) {
    body.theme-season21-infernal-throne .df21-info-embed .page-features .info-toc {
        grid-template-columns: repeat(3, 1fr);
    }
    body.theme-season21-infernal-throne .df21-page-grid:has(.page-features) > .df21-page-panel:not(:first-child) .df21-bullet-list {
        flex-direction: row;
    }
}

@media (max-width: 800px) {
    body.theme-season21-infernal-throne .df21-info-embed .page-features .info-toc {
        grid-template-columns: repeat(2, 1fr);
    }
    body.theme-season21-infernal-throne .df21-info-embed .page-features .info-grid {
        grid-template-columns: 1fr;
    }
    body.theme-season21-infernal-throne .df21-page-grid:has(.page-features) > .df21-page-panel:not(:first-child) .df21-bullet-list {
        flex-direction: column;
    }
    body.theme-season21-infernal-throne .df21-page-grid:has(.page-features) > .df21-page-panel:not(:first-child) .df21-bullet-list > div {
        flex-direction: row;
        border-right: none;
        border-bottom: 1px solid rgba(255,138,56,0.06);
    }
}

@media (max-width: 500px) {
    body.theme-season21-infernal-throne .df21-info-embed .page-features .info-toc {
        grid-template-columns: 1fr 1fr;
    }
    body.theme-season21-infernal-throne .df21-info-embed .page-features .info-toc a {
        min-height: 64px;
        padding: 14px 10px 10px;
    }
    body.theme-season21-infernal-throne .df21-info-embed .page-features .info-toc a i {
        font-size: 1.2rem;
    }
}

/* ══════════════════════════════════════════════════════════════
   FAQ Page – Infernal Throne
   ══════════════════════════════════════════════════════════════ */

/* Full-width layout — collapse side panel */
body.theme-season21-infernal-throne .df21-page-grid:has(.page-faq) {
    grid-template-columns: 1fr;
}
body.theme-season21-infernal-throne .df21-page-grid:has(.page-faq) > .df21-page-panel:not(:first-child) {
    display: none;
}

/* ── FAQ TOC ── */
body.theme-season21-infernal-throne .df21-info-embed .page-faq .guide-toc {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 8px;
    padding: 0 0 28px;
    border-bottom: 1px solid rgba(255,138,56,0.08);
    margin-bottom: 32px;
}
body.theme-season21-infernal-throne .df21-info-embed .page-faq .guide-toc a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 18px 10px 14px;
    border-radius: var(--it21-radius);
    background:
        radial-gradient(ellipse at 50% 0%, rgba(255,138,56,0.06) 0%, transparent 70%),
        rgba(12,5,3,0.6);
    border: 1px solid rgba(255,138,56,0.08);
    font-family: var(--it21-font-ui);
    font-size: 0.68rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--it21-text-dim);
    text-decoration: none;
    transition: all 0.25s ease;
}
body.theme-season21-infernal-throne .df21-info-embed .page-faq .guide-toc a:hover {
    background:
        radial-gradient(ellipse at 50% 0%, rgba(255,138,56,0.12) 0%, transparent 70%),
        rgba(18,8,4,0.8);
    border-color: rgba(255,138,56,0.22);
    color: var(--it21-gold);
    transform: translateY(-2px);
    box-shadow: 0 4px 16px rgba(255,80,0,0.08);
}
body.theme-season21-infernal-throne .df21-info-embed .page-faq .guide-toc a i {
    font-size: 1.3rem;
    color: var(--it21-gold);
    opacity: 0.6;
    transition: opacity 0.2s;
}
body.theme-season21-infernal-throne .df21-info-embed .page-faq .guide-toc a:hover i {
    opacity: 1;
}

/* ── FAQ Sections ── */
body.theme-season21-infernal-throne .df21-info-embed .page-faq .faq-section {
    margin-bottom: 36px;
}

/* Section title — icon badge + gold accent underline */
body.theme-season21-infernal-throne .df21-info-embed .page-faq .guide-section-title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: var(--it21-font-head);
    font-size: 1.05rem;
    color: var(--it21-text);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin: 0 0 18px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(255,138,56,0.1);
    position: relative;
}
body.theme-season21-infernal-throne .df21-info-embed .page-faq .guide-section-title::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 60px;
    height: 2px;
    background: linear-gradient(90deg, var(--it21-gold), transparent);
    border-radius: 1px;
}
body.theme-season21-infernal-throne .df21-info-embed .page-faq .guide-section-title i {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: rgba(255,138,56,0.08);
    border: 1px solid rgba(255,138,56,0.12);
    color: var(--it21-gold);
    font-size: 0.95rem;
    flex-shrink: 0;
}

/* ── FAQ List ── */
body.theme-season21-infernal-throne .df21-info-embed .page-faq .faq-list {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

/* ── FAQ Item (details/summary accordion) ── */
body.theme-season21-infernal-throne .df21-info-embed .page-faq .faq-item {
    border-radius: var(--it21-radius-sm);
    background:
        radial-gradient(ellipse at 50% -20%, rgba(255,138,56,0.03) 0%, transparent 60%),
        rgba(12,5,3,0.55);
    border: 1px solid rgba(255,138,56,0.06);
    overflow: hidden;
    transition: border-color 0.25s, box-shadow 0.25s, background 0.25s;
}
body.theme-season21-infernal-throne .df21-info-embed .page-faq .faq-item:hover {
    border-color: rgba(255,138,56,0.12);
}
body.theme-season21-infernal-throne .df21-info-embed .page-faq .faq-item[open] {
    border-color: rgba(255,138,56,0.18);
    background:
        radial-gradient(ellipse at 50% -20%, rgba(255,138,56,0.06) 0%, transparent 60%),
        rgba(15,7,4,0.7);
    box-shadow: 0 2px 12px rgba(255,80,0,0.04);
}

/* Override glass-panel in FAQ context */
body.theme-season21-infernal-throne .df21-info-embed .page-faq .faq-item.glass-panel {
    background:
        radial-gradient(ellipse at 50% -20%, rgba(255,138,56,0.03) 0%, transparent 60%),
        rgba(12,5,3,0.55);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    padding: 0;
}
body.theme-season21-infernal-throne .df21-info-embed .page-faq .faq-item[open].glass-panel {
    background:
        radial-gradient(ellipse at 50% -20%, rgba(255,138,56,0.06) 0%, transparent 60%),
        rgba(15,7,4,0.7);
}

/* ── Question (summary) ── */
body.theme-season21-infernal-throne .df21-info-embed .page-faq .faq-q {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 18px;
    font-family: var(--it21-font-ui);
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--it21-text);
    cursor: pointer;
    list-style: none;
    user-select: none;
    transition: color 0.2s, background 0.2s;
}
body.theme-season21-infernal-throne .df21-info-embed .page-faq .faq-q::-webkit-details-marker {
    display: none;
}
body.theme-season21-infernal-throne .df21-info-embed .page-faq .faq-q::marker {
    display: none;
    content: '';
}
body.theme-season21-infernal-throne .df21-info-embed .page-faq .faq-q:hover {
    color: var(--it21-gold);
    background: rgba(255,138,56,0.03);
}
body.theme-season21-infernal-throne .df21-info-embed .page-faq .faq-q i {
    font-size: 0.75rem;
    color: var(--it21-gold);
    opacity: 0.5;
    transition: transform 0.3s ease, opacity 0.2s;
    flex-shrink: 0;
}

/* Open state — rotate caret */
body.theme-season21-infernal-throne .df21-info-embed .page-faq .faq-item[open] > .faq-q {
    border-bottom: 1px solid rgba(255,138,56,0.08);
    color: var(--it21-gold);
}
body.theme-season21-infernal-throne .df21-info-embed .page-faq .faq-item[open] > .faq-q i {
    transform: rotate(90deg);
    opacity: 0.9;
}

/* ── Answer body ── */
body.theme-season21-infernal-throne .df21-info-embed .page-faq .faq-a {
    padding: 16px 18px 18px;
    font-family: var(--it21-font-body);
    font-size: 0.82rem;
    line-height: 1.65;
    color: rgba(255,200,140,0.65);
}
body.theme-season21-infernal-throne .df21-info-embed .page-faq .faq-a p {
    margin: 0 0 8px;
}
body.theme-season21-infernal-throne .df21-info-embed .page-faq .faq-a p:last-child {
    margin-bottom: 0;
}
body.theme-season21-infernal-throne .df21-info-embed .page-faq .faq-a a {
    color: var(--it21-gold);
    text-decoration: none;
    border-bottom: 1px solid rgba(255,138,56,0.15);
    transition: border-color 0.2s, color 0.2s;
}
body.theme-season21-infernal-throne .df21-info-embed .page-faq .faq-a a:hover {
    border-color: var(--it21-gold);
    color: #ffb070;
}
body.theme-season21-infernal-throne .df21-info-embed .page-faq .faq-a strong {
    color: var(--it21-text);
    font-weight: 600;
}
body.theme-season21-infernal-throne .df21-info-embed .page-faq .faq-a code {
    padding: 2px 7px;
    border-radius: 4px;
    background: rgba(255,138,56,0.08);
    border: 1px solid rgba(255,138,56,0.1);
    font-size: 0.78rem;
    color: var(--it21-gold);
    font-family: 'Fira Code', monospace;
}
body.theme-season21-infernal-throne .df21-info-embed .page-faq .faq-a ol,
body.theme-season21-infernal-throne .df21-info-embed .page-faq .faq-a ul {
    margin: 8px 0;
    padding-left: 20px;
}
body.theme-season21-infernal-throne .df21-info-embed .page-faq .faq-a li {
    margin-bottom: 4px;
    color: rgba(255,200,140,0.65);
}
body.theme-season21-infernal-throne .df21-info-embed .page-faq .faq-a li::marker {
    color: rgba(255,138,56,0.35);
}

/* ── Discord CTA ── */
body.theme-season21-infernal-throne .df21-info-embed .page-faq .faq-cta {
    margin-top: 40px;
    padding: 28px 24px;
    border-radius: var(--it21-radius);
    background:
        radial-gradient(ellipse at 50% 0%, rgba(88,101,242,0.08) 0%, transparent 60%),
        rgba(12,5,3,0.65);
    border: 1px solid rgba(88,101,242,0.12);
    text-align: center;
}
body.theme-season21-infernal-throne .df21-info-embed .page-faq .faq-cta h3 {
    font-family: var(--it21-font-head);
    font-size: 1rem;
    color: var(--it21-text);
    margin: 0 0 8px;
}
body.theme-season21-infernal-throne .df21-info-embed .page-faq .faq-cta p {
    font-family: var(--it21-font-ui);
    font-size: 0.78rem;
    color: rgba(255,200,140,0.5);
    margin: 0 0 16px;
}
body.theme-season21-infernal-throne .df21-info-embed .page-faq .faq-cta .btn-discord {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 22px;
    border-radius: 8px;
    background: rgba(88,101,242,0.15);
    border: 1px solid rgba(88,101,242,0.25);
    color: #b4beff;
    font-family: var(--it21-font-ui);
    font-size: 0.8rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.25s;
}
body.theme-season21-infernal-throne .df21-info-embed .page-faq .faq-cta .btn-discord:hover {
    background: rgba(88,101,242,0.25);
    border-color: rgba(88,101,242,0.4);
    color: #d4d9ff;
    box-shadow: 0 4px 20px rgba(88,101,242,0.12);
    transform: translateY(-1px);
}

/* ── FAQ Responsive ── */
@media (max-width: 900px) {
    body.theme-season21-infernal-throne .df21-info-embed .page-faq .guide-toc {
        grid-template-columns: repeat(3, 1fr);
    }
}
@media (max-width: 600px) {
    body.theme-season21-infernal-throne .df21-info-embed .page-faq .guide-toc {
        grid-template-columns: repeat(2, 1fr);
    }
    body.theme-season21-infernal-throne .df21-info-embed .page-faq .guide-toc a {
        padding: 14px 8px 10px;
        font-size: 0.62rem;
    }
    body.theme-season21-infernal-throne .df21-info-embed .page-faq .guide-toc a i {
        font-size: 1.1rem;
    }
    body.theme-season21-infernal-throne .df21-info-embed .page-faq .faq-q {
        padding: 12px 14px;
        font-size: 0.78rem;
    }
    body.theme-season21-infernal-throne .df21-info-embed .page-faq .faq-a {
        padding: 12px 14px 16px;
        font-size: 0.78rem;
    }
    body.theme-season21-infernal-throne .df21-info-embed .page-faq .faq-cta {
        padding: 22px 16px;
    }
}


/* ══════════════════════════════════════════════════════════════
   Changelog Page – Infernal Throne
   ══════════════════════════════════════════════════════════════ */

/* Full-width — collapse side panel */
body.theme-season21-infernal-throne .df21-page-grid:has(.page-changelog) {
    grid-template-columns: 1fr;
}
body.theme-season21-infernal-throne .df21-page-grid:has(.page-changelog) > .df21-page-panel:not(:first-child) {
    display: none;
}

/* Hide the inner page-header (hero provides it) */
body.theme-season21-infernal-throne .df21-content-embed .page-changelog .page-header {
    display: none;
}

/* ── Timeline container ── */
body.theme-season21-infernal-throne .df21-content-embed .changelog-timeline {
    display: flex;
    flex-direction: column;
    gap: 0;
    position: relative;
    padding-left: 32px;
}
body.theme-season21-infernal-throne .df21-content-embed .changelog-timeline::before {
    content: '';
    position: absolute;
    left: 6px;
    top: 0;
    bottom: 0;
    width: 2px;
    background: linear-gradient(180deg, rgba(255,138,56,0.3) 0%, rgba(255,138,56,0.06) 100%);
    border-radius: 1px;
}

/* ── Timeline entry ── */
body.theme-season21-infernal-throne .df21-content-embed .cl-entry {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0;
    position: relative;
    padding-bottom: 24px;
}
body.theme-season21-infernal-throne .df21-content-embed .cl-entry:last-child {
    padding-bottom: 0;
}

/* ── Marker (dot + vertical line) ── */
body.theme-season21-infernal-throne .df21-content-embed .cl-marker {
    position: absolute;
    left: -32px;
    top: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
}
body.theme-season21-infernal-throne .df21-content-embed .cl-marker::after {
    display: none;
}
body.theme-season21-infernal-throne .df21-content-embed .cl-dot {
    display: block;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: linear-gradient(135deg, #ffb86c, #c75a00);
    box-shadow:
        0 0 0 3px rgba(12,5,3,0.95),
        0 0 0 5px rgba(255,138,56,0.15),
        0 0 8px rgba(255,100,20,0.2);
    flex-shrink: 0;
}

/* Category dot colors */
body.theme-season21-infernal-throne .df21-content-embed .cl-dot.cat-hotfix {
    background: linear-gradient(135deg, #ff7b7b, #c93434);
    box-shadow: 0 0 0 3px rgba(12,5,3,0.95), 0 0 0 5px rgba(239,68,68,0.15), 0 0 8px rgba(239,68,68,0.2);
}
body.theme-season21-infernal-throne .df21-content-embed .cl-dot.cat-feature {
    background: linear-gradient(135deg, #7bffb0, #22a55b);
    box-shadow: 0 0 0 3px rgba(12,5,3,0.95), 0 0 0 5px rgba(34,197,94,0.15), 0 0 8px rgba(34,197,94,0.2);
}
body.theme-season21-infernal-throne .df21-content-embed .cl-dot.cat-balance {
    background: linear-gradient(135deg, #ffd97b, #c78f00);
    box-shadow: 0 0 0 3px rgba(12,5,3,0.95), 0 0 0 5px rgba(234,179,8,0.15), 0 0 8px rgba(234,179,8,0.2);
}
body.theme-season21-infernal-throne .df21-content-embed .cl-dot.cat-event {
    background: linear-gradient(135deg, #c49bff, #7c3aed);
    box-shadow: 0 0 0 3px rgba(12,5,3,0.95), 0 0 0 5px rgba(124,58,237,0.15), 0 0 8px rgba(124,58,237,0.2);
}
body.theme-season21-infernal-throne .df21-content-embed .cl-dot.cat-maintenance {
    background: linear-gradient(135deg, #a8b4c0, #5a6a7a);
    box-shadow: 0 0 0 3px rgba(12,5,3,0.95), 0 0 0 5px rgba(148,163,184,0.15), 0 0 8px rgba(148,163,184,0.12);
}
body.theme-season21-infernal-throne .df21-content-embed .cl-dot.cat-update {
    background: linear-gradient(135deg, #67e8f9, #0891b2);
    box-shadow: 0 0 0 3px rgba(12,5,3,0.95), 0 0 0 5px rgba(6,182,212,0.15), 0 0 8px rgba(6,182,212,0.2);
}
body.theme-season21-infernal-throne .df21-content-embed .cl-dot.cat-news {
    background: linear-gradient(135deg, #93c5fd, #2563eb);
    box-shadow: 0 0 0 3px rgba(12,5,3,0.95), 0 0 0 5px rgba(59,130,246,0.15), 0 0 8px rgba(59,130,246,0.2);
}

/* ── Card ── */
body.theme-season21-infernal-throne .df21-content-embed .cl-card {
    border-radius: var(--it21-radius);
    background:
        radial-gradient(ellipse at 30% -10%, rgba(255,138,56,0.04) 0%, transparent 50%),
        rgba(12,5,3,0.6);
    border: 1px solid rgba(255,138,56,0.08);
    padding: 20px 22px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    transition: border-color 0.25s, box-shadow 0.25s;
}
body.theme-season21-infernal-throne .df21-content-embed .cl-card:hover {
    border-color: rgba(255,138,56,0.16);
    box-shadow: 0 2px 16px rgba(255,80,0,0.04);
}

/* ── Card header (version + category + date) ── */
body.theme-season21-infernal-throne .df21-content-embed .cl-header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

body.theme-season21-infernal-throne .df21-content-embed .cl-version {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px;
    border-radius: 6px;
    background: rgba(255,138,56,0.08);
    border: 1px solid rgba(255,138,56,0.14);
    font-family: 'Fira Code', var(--it21-font-ui), monospace;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    color: var(--it21-gold);
}

body.theme-season21-infernal-throne .df21-content-embed .cl-date {
    margin-left: auto;
    font-family: var(--it21-font-ui);
    font-size: 0.68rem;
    font-weight: 500;
    color: rgba(255,200,140,0.35);
    letter-spacing: 0.03em;
}

/* Category badge */
body.theme-season21-infernal-throne .df21-content-embed .page-changelog .news-category {
    display: inline-flex;
    align-items: center;
    padding: 3px 9px;
    border-radius: 5px;
    font-family: var(--it21-font-ui);
    font-size: 0.62rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    border: 1px solid transparent;
}
body.theme-season21-infernal-throne .df21-content-embed .page-changelog .news-category.cat-hotfix {
    background: rgba(239,68,68,0.1);
    border-color: rgba(239,68,68,0.18);
    color: #fca5a5;
}
body.theme-season21-infernal-throne .df21-content-embed .page-changelog .news-category.cat-feature {
    background: rgba(34,197,94,0.1);
    border-color: rgba(34,197,94,0.18);
    color: #86efac;
}
body.theme-season21-infernal-throne .df21-content-embed .page-changelog .news-category.cat-balance {
    background: rgba(234,179,8,0.1);
    border-color: rgba(234,179,8,0.18);
    color: #fde68a;
}
body.theme-season21-infernal-throne .df21-content-embed .page-changelog .news-category.cat-event {
    background: rgba(124,58,237,0.1);
    border-color: rgba(124,58,237,0.18);
    color: #c4b5fd;
}
body.theme-season21-infernal-throne .df21-content-embed .page-changelog .news-category.cat-maintenance {
    background: rgba(148,163,184,0.08);
    border-color: rgba(148,163,184,0.15);
    color: #94a3b8;
}
body.theme-season21-infernal-throne .df21-content-embed .page-changelog .news-category.cat-update {
    background: rgba(6,182,212,0.1);
    border-color: rgba(6,182,212,0.18);
    color: #67e8f9;
}
body.theme-season21-infernal-throne .df21-content-embed .page-changelog .news-category.cat-news {
    background: rgba(59,130,246,0.1);
    border-color: rgba(59,130,246,0.18);
    color: #93c5fd;
}

/* ── Entry title ── */
body.theme-season21-infernal-throne .df21-content-embed .cl-title {
    margin: 0;
    font-family: var(--it21-font-head);
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--it21-text);
    letter-spacing: 0.02em;
}

/* ── Entry body ── */
body.theme-season21-infernal-throne .df21-content-embed .cl-body {
    font-family: var(--it21-font-body);
    font-size: 0.82rem;
    line-height: 1.65;
    color: rgba(255,200,140,0.6);
}
body.theme-season21-infernal-throne .df21-content-embed .cl-body p {
    margin: 0 0 8px;
}
body.theme-season21-infernal-throne .df21-content-embed .cl-body p:last-child {
    margin-bottom: 0;
}
body.theme-season21-infernal-throne .df21-content-embed .cl-body a {
    color: var(--it21-gold);
    text-decoration: none;
    border-bottom: 1px solid rgba(255,138,56,0.15);
    transition: border-color 0.2s;
}
body.theme-season21-infernal-throne .df21-content-embed .cl-body a:hover {
    border-color: var(--it21-gold);
}
body.theme-season21-infernal-throne .df21-content-embed .cl-body strong {
    color: var(--it21-text);
    font-weight: 600;
}
body.theme-season21-infernal-throne .df21-content-embed .cl-body ul,
body.theme-season21-infernal-throne .df21-content-embed .cl-body ol {
    margin: 8px 0;
    padding-left: 20px;
}
body.theme-season21-infernal-throne .df21-content-embed .cl-body li {
    margin-bottom: 4px;
}
body.theme-season21-infernal-throne .df21-content-embed .cl-body li::marker {
    color: rgba(255,138,56,0.35);
}
body.theme-season21-infernal-throne .df21-content-embed .cl-body code {
    padding: 2px 7px;
    border-radius: 4px;
    background: rgba(255,138,56,0.07);
    border: 1px solid rgba(255,138,56,0.1);
    font-size: 0.78rem;
    color: var(--it21-gold);
    font-family: 'Fira Code', monospace;
}
body.theme-season21-infernal-throne .df21-content-embed .cl-body blockquote {
    margin: 10px 0;
    padding: 10px 16px;
    border-left: 3px solid rgba(255,138,56,0.2);
    background: rgba(255,138,56,0.03);
    border-radius: 0 6px 6px 0;
    color: rgba(255,200,140,0.55);
    font-style: italic;
}
body.theme-season21-infernal-throne .df21-content-embed .cl-body h2,
body.theme-season21-infernal-throne .df21-content-embed .cl-body h3,
body.theme-season21-infernal-throne .df21-content-embed .cl-body h4 {
    margin: 14px 0 6px;
    font-family: var(--it21-font-head);
    color: var(--it21-text);
    font-size: 0.92rem;
}
body.theme-season21-infernal-throne .df21-content-embed .cl-body hr {
    border: none;
    border-top: 1px solid rgba(255,138,56,0.08);
    margin: 14px 0;
}
body.theme-season21-infernal-throne .df21-content-embed .cl-body table {
    width: 100%;
    border-collapse: collapse;
    margin: 10px 0;
    font-size: 0.78rem;
}
body.theme-season21-infernal-throne .df21-content-embed .cl-body th,
body.theme-season21-infernal-throne .df21-content-embed .cl-body td {
    padding: 8px 12px;
    border: 1px solid rgba(255,138,56,0.08);
    text-align: left;
}
body.theme-season21-infernal-throne .df21-content-embed .cl-body th {
    background: rgba(255,138,56,0.06);
    color: var(--it21-text);
    font-family: var(--it21-font-ui);
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.7rem;
    letter-spacing: 0.05em;
}
body.theme-season21-infernal-throne .df21-content-embed .cl-body img {
    max-width: 100%;
    border-radius: var(--it21-radius-sm);
    border: 1px solid rgba(255,138,56,0.1);
    margin: 8px 0;
}
body.theme-season21-infernal-throne .df21-content-embed .cl-body pre {
    margin: 10px 0;
    padding: 14px 16px;
    border-radius: 6px;
    background: rgba(5,2,1,0.6);
    border: 1px solid rgba(255,138,56,0.08);
    overflow-x: auto;
    font-family: 'Fira Code', monospace;
    font-size: 0.76rem;
    color: rgba(255,200,140,0.7);
}

/* ── Empty state ── */
body.theme-season21-infernal-throne .df21-content-embed .page-changelog > p[style] {
    font-family: var(--it21-font-ui);
    font-size: 0.82rem;
    color: rgba(255,200,140,0.4);
    padding: 48px 20px;
    text-align: center;
    border: 1px dashed rgba(255,138,56,0.1);
    border-radius: var(--it21-radius);
    background: rgba(12,5,3,0.4);
}

/* ── Changelog Responsive ── */
@media (max-width: 700px) {
    body.theme-season21-infernal-throne .df21-content-embed .changelog-timeline {
        padding-left: 24px;
    }
    body.theme-season21-infernal-throne .df21-content-embed .cl-marker {
        left: -24px;
    }
    body.theme-season21-infernal-throne .df21-content-embed .cl-dot {
        width: 10px;
        height: 10px;
    }
    body.theme-season21-infernal-throne .df21-content-embed .cl-card {
        padding: 16px 14px;
    }
    body.theme-season21-infernal-throne .df21-content-embed .cl-title {
        font-size: 0.92rem;
    }
    body.theme-season21-infernal-throne .df21-content-embed .cl-body {
        font-size: 0.78rem;
    }
    body.theme-season21-infernal-throne .df21-content-embed .cl-header {
        gap: 6px;
    }
    body.theme-season21-infernal-throne .df21-content-embed .cl-date {
        margin-left: 0;
        width: 100%;
        order: 3;
    }
}


/* ══════════════════════════════════════════════════════════════
   Search Page – Infernal Throne
   ══════════════════════════════════════════════════════════════ */

/* Full-width — collapse side panel */
body.theme-season21-infernal-throne .df21-page-grid:has(.page-search) {
    grid-template-columns: 1fr;
}
body.theme-season21-infernal-throne .df21-page-grid:has(.page-search) > .df21-page-panel:not(:first-child) {
    display: none;
}

/* Hide the inner page-header (hero provides it) */
body.theme-season21-infernal-throne .df21-content-embed .page-search .page-header {
    display: none;
}

/* Page wrapper */
body.theme-season21-infernal-throne .df21-content-embed .page-search {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

/* ── Search bar ── */
body.theme-season21-infernal-throne .df21-content-embed .search-form {
    width: 100%;
}
body.theme-season21-infernal-throne .df21-content-embed .search-bar {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 8px 6px 18px;
    border-radius: var(--it21-radius);
    background:
        radial-gradient(ellipse at 50% 100%, rgba(255,138,56,0.04) 0%, transparent 60%),
        rgba(10,4,2,0.7);
    border: 1px solid rgba(255,138,56,0.12);
    transition: border-color 0.25s, box-shadow 0.25s;
}
body.theme-season21-infernal-throne .df21-content-embed .search-bar:focus-within {
    border-color: rgba(255,138,56,0.3);
    box-shadow: 0 0 20px rgba(255,80,0,0.06), inset 0 0 12px rgba(255,138,56,0.03);
}
body.theme-season21-infernal-throne .df21-content-embed .search-bar > i {
    font-size: 1.1rem;
    color: rgba(255,138,56,0.35);
    flex-shrink: 0;
}
body.theme-season21-infernal-throne .df21-content-embed .search-bar:focus-within > i {
    color: var(--it21-gold);
}
body.theme-season21-infernal-throne .df21-content-embed .search-input {
    flex: 1;
    min-height: 42px;
    padding: 0 8px;
    border: none;
    background: transparent;
    color: var(--it21-text);
    font-family: var(--it21-font-ui);
    font-size: 0.88rem;
    font-weight: 500;
    outline: none;
}
body.theme-season21-infernal-throne .df21-content-embed .search-input::placeholder {
    color: rgba(255,200,140,0.25);
    font-weight: 400;
}
body.theme-season21-infernal-throne .df21-content-embed .search-bar .btn {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 20px;
    border-radius: 8px;
    border: 1px solid rgba(255,138,56,0.25);
    background:
        linear-gradient(180deg, rgba(255,154,38,0.15) 0%, rgba(63,18,6,0.7) 100%),
        rgba(11,3,4,0.8);
    color: #fff5e8;
    font-family: var(--it21-font-ui);
    font-size: 0.76rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    cursor: pointer;
    transition: all 0.25s;
}
body.theme-season21-infernal-throne .df21-content-embed .search-bar .btn:hover {
    border-color: rgba(255,138,56,0.45);
    background:
        linear-gradient(180deg, rgba(255,154,38,0.25) 0%, rgba(63,18,6,0.85) 100%),
        rgba(11,3,4,0.9);
    box-shadow: 0 2px 12px rgba(255,80,0,0.1);
}

/* ── Search meta (count line) ── */
body.theme-season21-infernal-throne .df21-content-embed .search-meta {
    font-family: var(--it21-font-ui);
    font-size: 0.78rem;
    color: rgba(255,200,140,0.45);
    padding: 10px 16px;
    margin: 0;
    border-radius: var(--it21-radius-sm);
    background: rgba(255,138,56,0.03);
    border: 1px solid rgba(255,138,56,0.06);
}
body.theme-season21-infernal-throne .df21-content-embed .search-meta strong {
    color: var(--it21-gold);
    font-weight: 600;
}

/* ── Results list ── */
body.theme-season21-infernal-throne .df21-content-embed .search-results {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

/* ── Result item ── */
body.theme-season21-infernal-throne .df21-content-embed .search-result-item {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 18px;
    border-radius: var(--it21-radius-sm);
    background:
        radial-gradient(ellipse at 0% 50%, rgba(255,138,56,0.03) 0%, transparent 50%),
        rgba(12,5,3,0.55);
    border: 1px solid rgba(255,138,56,0.06);
    text-decoration: none;
    transition: all 0.25s ease;
}
body.theme-season21-infernal-throne .df21-content-embed .search-result-item:hover {
    border-color: rgba(255,138,56,0.16);
    background:
        radial-gradient(ellipse at 0% 50%, rgba(255,138,56,0.06) 0%, transparent 50%),
        rgba(15,7,4,0.7);
    box-shadow: 0 2px 14px rgba(255,80,0,0.04);
    transform: translateX(4px);
}

/* ── Result icon ── */
body.theme-season21-infernal-throne .df21-content-embed .sr-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 8px;
    background: rgba(255,138,56,0.06);
    border: 1px solid rgba(255,138,56,0.1);
    flex-shrink: 0;
    transition: background 0.2s, border-color 0.2s;
}
body.theme-season21-infernal-throne .df21-content-embed .sr-icon i {
    font-size: 1rem;
    color: var(--it21-gold);
    opacity: 0.7;
}
body.theme-season21-infernal-throne .df21-content-embed .search-result-item:hover .sr-icon {
    background: rgba(255,138,56,0.1);
    border-color: rgba(255,138,56,0.18);
}
body.theme-season21-infernal-throne .df21-content-embed .search-result-item:hover .sr-icon i {
    opacity: 1;
}

/* Icon type colors */
body.theme-season21-infernal-throne .df21-content-embed .sr-icon.sr-character {
    background: rgba(59,130,246,0.08);
    border-color: rgba(59,130,246,0.12);
}
body.theme-season21-infernal-throne .df21-content-embed .sr-icon.sr-character i {
    color: #93c5fd;
}
body.theme-season21-infernal-throne .df21-content-embed .sr-icon.sr-guild {
    background: rgba(124,58,237,0.08);
    border-color: rgba(124,58,237,0.12);
}
body.theme-season21-infernal-throne .df21-content-embed .sr-icon.sr-guild i {
    color: #c4b5fd;
}
body.theme-season21-infernal-throne .df21-content-embed .sr-icon.sr-news {
    background: rgba(34,197,94,0.08);
    border-color: rgba(34,197,94,0.12);
}
body.theme-season21-infernal-throne .df21-content-embed .sr-icon.sr-news i {
    color: #86efac;
}
body.theme-season21-infernal-throne .df21-content-embed .sr-icon.sr-changelog {
    background: rgba(6,182,212,0.08);
    border-color: rgba(6,182,212,0.12);
}
body.theme-season21-infernal-throne .df21-content-embed .sr-icon.sr-changelog i {
    color: #67e8f9;
}
body.theme-season21-infernal-throne .df21-content-embed .sr-icon.sr-download {
    background: rgba(234,179,8,0.08);
    border-color: rgba(234,179,8,0.12);
}
body.theme-season21-infernal-throne .df21-content-embed .sr-icon.sr-download i {
    color: #fde68a;
}

/* ── Result body ── */
body.theme-season21-infernal-throne .df21-content-embed .sr-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}
body.theme-season21-infernal-throne .df21-content-embed .sr-title {
    font-family: var(--it21-font-ui);
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--it21-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
body.theme-season21-infernal-throne .df21-content-embed .sr-sub {
    font-family: var(--it21-font-ui);
    font-size: 0.72rem;
    color: rgba(255,200,140,0.4);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ── Result type badge ── */
body.theme-season21-infernal-throne .df21-content-embed .sr-type {
    flex-shrink: 0;
    padding: 3px 10px;
    border-radius: 5px;
    background: rgba(255,138,56,0.06);
    border: 1px solid rgba(255,138,56,0.1);
    font-family: var(--it21-font-ui);
    font-size: 0.62rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: rgba(255,200,140,0.5);
}

/* ── Empty state ── */
body.theme-season21-infernal-throne .df21-content-embed .page-search .empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 48px 24px;
    border-radius: var(--it21-radius);
    background: rgba(12,5,3,0.4);
    border: 1px dashed rgba(255,138,56,0.1);
    text-align: center;
}
body.theme-season21-infernal-throne .df21-content-embed .page-search .empty-state i {
    font-size: 2rem;
    color: rgba(255,138,56,0.25);
}
body.theme-season21-infernal-throne .df21-content-embed .page-search .empty-state p {
    font-family: var(--it21-font-ui);
    font-size: 0.82rem;
    color: rgba(255,200,140,0.4);
    margin: 0;
}

/* ── Search Responsive ── */
@media (max-width: 600px) {
    body.theme-season21-infernal-throne .df21-content-embed .search-bar {
        flex-wrap: wrap;
        padding: 10px 12px;
    }
    body.theme-season21-infernal-throne .df21-content-embed .search-bar > i {
        display: none;
    }
    body.theme-season21-infernal-throne .df21-content-embed .search-input {
        min-height: 36px;
        font-size: 0.82rem;
    }
    body.theme-season21-infernal-throne .df21-content-embed .search-bar .btn {
        width: 100%;
        justify-content: center;
        padding: 10px;
    }
    body.theme-season21-infernal-throne .df21-content-embed .search-result-item {
        padding: 12px 14px;
        gap: 10px;
    }
    body.theme-season21-infernal-throne .df21-content-embed .sr-icon {
        width: 32px;
        height: 32px;
    }
    body.theme-season21-infernal-throne .df21-content-embed .sr-icon i {
        font-size: 0.85rem;
    }
    body.theme-season21-infernal-throne .df21-content-embed .sr-title {
        font-size: 0.78rem;
    }
    body.theme-season21-infernal-throne .df21-content-embed .sr-type {
        display: none;
    }
}


/* ══════════════════════════════════════════════════════════════
   Compare Page – Infernal Throne
   ══════════════════════════════════════════════════════════════ */

/* Full-width — collapse side panel */
body.theme-season21-infernal-throne .df21-page-grid:has(.page-compare) {
    grid-template-columns: 1fr;
}
body.theme-season21-infernal-throne .df21-page-grid:has(.page-compare) > .df21-page-panel:not(:first-child) {
    display: none;
}

/* Hide inner page-header (hero provides it) */
body.theme-season21-infernal-throne .df21-content-embed .page-compare .page-header {
    display: none;
}

/* Wrapper */
body.theme-season21-infernal-throne .df21-content-embed .page-compare {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

/* ── Compare Form ── */
body.theme-season21-infernal-throne .df21-content-embed .cmp-form {
    border-radius: var(--it21-radius);
    background:
        radial-gradient(ellipse at 50% 100%, rgba(255,138,56,0.04) 0%, transparent 60%),
        rgba(12,5,3,0.6);
    border: 1px solid rgba(255,138,56,0.1);
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 18px;
}
body.theme-season21-infernal-throne .df21-content-embed .cmp-form.glass-panel {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}
body.theme-season21-infernal-throne .df21-content-embed .cmp-inputs {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 16px;
    align-items: end;
}

/* VS divider */
body.theme-season21-infernal-throne .df21-content-embed .cmp-vs {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: rgba(255,138,56,0.08);
    border: 1px solid rgba(255,138,56,0.14);
    color: var(--it21-gold);
    font-size: 1rem;
    align-self: end;
    margin-bottom: 4px;
}

/* Input groups */
body.theme-season21-infernal-throne .df21-content-embed .cmp-input-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
body.theme-season21-infernal-throne .df21-content-embed .cmp-input-group label {
    font-family: var(--it21-font-ui);
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: rgba(255,200,140,0.5);
    display: flex;
    align-items: center;
    gap: 6px;
}
body.theme-season21-infernal-throne .df21-content-embed .cmp-input-group label i {
    color: var(--it21-gold);
    opacity: 0.5;
}
body.theme-season21-infernal-throne .df21-content-embed .cmp-input-group input {
    width: 100%;
    padding: 10px 14px;
    border-radius: 8px;
    border: 1px solid rgba(255,138,56,0.12);
    background: rgba(8,3,2,0.7);
    color: var(--it21-text);
    font-family: var(--it21-font-ui);
    font-size: 0.85rem;
    outline: none;
    transition: border-color 0.25s, box-shadow 0.25s;
}
body.theme-season21-infernal-throne .df21-content-embed .cmp-input-group input::placeholder {
    color: rgba(255,200,140,0.22);
}
body.theme-season21-infernal-throne .df21-content-embed .cmp-input-group input:focus {
    border-color: rgba(255,138,56,0.35);
    box-shadow: 0 0 12px rgba(255,80,0,0.08);
}

/* Compare button */
body.theme-season21-infernal-throne .df21-content-embed .cmp-form > .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 24px;
    border-radius: 8px;
    border: 1px solid rgba(255,138,56,0.25);
    background:
        linear-gradient(180deg, rgba(255,154,38,0.15) 0%, rgba(63,18,6,0.7) 100%),
        rgba(11,3,4,0.8);
    color: #fff5e8;
    font-family: var(--it21-font-ui);
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    cursor: pointer;
    transition: all 0.25s;
    align-self: flex-start;
}
body.theme-season21-infernal-throne .df21-content-embed .cmp-form > .btn:hover {
    border-color: rgba(255,138,56,0.45);
    background:
        linear-gradient(180deg, rgba(255,154,38,0.25) 0%, rgba(63,18,6,0.85) 100%),
        rgba(11,3,4,0.9);
    box-shadow: 0 2px 12px rgba(255,80,0,0.1);
}

/* ── Comparison Grid ── */
body.theme-season21-infernal-throne .df21-content-embed .cmp-grid {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* ── Character Cards ── */
body.theme-season21-infernal-throne .df21-content-embed .cmp-card {
    border-radius: var(--it21-radius);
    border: 1px solid rgba(255,138,56,0.08);
    padding: 22px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    text-align: center;
}
body.theme-season21-infernal-throne .df21-content-embed .cmp-card.glass-panel {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    padding: 22px;
}
body.theme-season21-infernal-throne .df21-content-embed .cmp-card--left {
    background:
        radial-gradient(ellipse at 30% 0%, rgba(59,130,246,0.06) 0%, transparent 50%),
        rgba(12,5,3,0.6);
}
body.theme-season21-infernal-throne .df21-content-embed .cmp-card--right {
    background:
        radial-gradient(ellipse at 70% 0%, rgba(239,68,68,0.06) 0%, transparent 50%),
        rgba(12,5,3,0.6);
}

/* Show cards side by side when both present */
body.theme-season21-infernal-throne .df21-content-embed .cmp-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto auto;
    gap: 16px;
}
body.theme-season21-infernal-throne .df21-content-embed .cmp-stats {
    grid-column: 1 / -1;
}
body.theme-season21-infernal-throne .df21-content-embed .cmp-extra {
    grid-column: 1 / -1;
}

/* Portrait */
body.theme-season21-infernal-throne .df21-content-embed .cmp-portrait {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    overflow: hidden;
    border: 2px solid rgba(255,138,56,0.12);
    background: rgba(5,2,1,0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 4px;
}
body.theme-season21-infernal-throne .df21-content-embed .cmp-class-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Character name */
body.theme-season21-infernal-throne .df21-content-embed .cmp-name {
    font-family: var(--it21-font-head);
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--it21-text);
    text-decoration: none;
    transition: color 0.2s;
}
body.theme-season21-infernal-throne .df21-content-embed .cmp-name:hover {
    color: var(--it21-gold);
}

/* Class */
body.theme-season21-infernal-throne .df21-content-embed .cmp-class {
    font-family: var(--it21-font-ui);
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: rgba(255,200,140,0.5);
}

/* Rank badge */
body.theme-season21-infernal-throne .df21-content-embed .cmp-rank {
    display: inline-flex;
    align-items: center;
    padding: 3px 10px;
    border-radius: 5px;
    background: rgba(255,138,56,0.06);
    border: 1px solid rgba(255,138,56,0.1);
    font-family: var(--it21-font-ui);
    font-size: 0.68rem;
    font-weight: 700;
    color: var(--it21-gold);
    letter-spacing: 0.04em;
}

/* Gens badge */
body.theme-season21-infernal-throne .df21-content-embed .cmp-gens {
    display: inline-flex;
    align-items: center;
    padding: 3px 10px;
    border-radius: 5px;
    font-family: var(--it21-font-ui);
    font-size: 0.62rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
body.theme-season21-infernal-throne .df21-content-embed .cmp-gens.gens-duprian {
    background: rgba(59,130,246,0.1);
    border: 1px solid rgba(59,130,246,0.18);
    color: #93c5fd;
}
body.theme-season21-infernal-throne .df21-content-embed .cmp-gens.gens-vanert {
    background: rgba(239,68,68,0.1);
    border: 1px solid rgba(239,68,68,0.18);
    color: #fca5a5;
}

/* ── Stat Rows ── */
body.theme-season21-infernal-throne .df21-content-embed .cmp-stats {
    border-radius: var(--it21-radius);
    background:
        radial-gradient(ellipse at 50% 0%, rgba(255,138,56,0.03) 0%, transparent 50%),
        rgba(12,5,3,0.55);
    border: 1px solid rgba(255,138,56,0.08);
    overflow: hidden;
}

body.theme-season21-infernal-throne .df21-content-embed .cmp-stat-row {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 12px;
    padding: 12px 18px;
    border-bottom: 1px solid rgba(255,138,56,0.05);
    transition: background 0.2s;
}
body.theme-season21-infernal-throne .df21-content-embed .cmp-stat-row:last-child {
    border-bottom: none;
}
body.theme-season21-infernal-throne .df21-content-embed .cmp-stat-row:hover {
    background: rgba(255,138,56,0.02);
}

/* Stat label (center) */
body.theme-season21-infernal-throne .df21-content-embed .cmp-stat-label {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-family: var(--it21-font-ui);
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: rgba(255,200,140,0.45);
    white-space: nowrap;
    min-width: 100px;
}
body.theme-season21-infernal-throne .df21-content-embed .cmp-stat-label i {
    color: var(--it21-gold);
    opacity: 0.5;
    font-size: 0.85rem;
}

/* Stat value columns */
body.theme-season21-infernal-throne .df21-content-embed .cmp-stat-val {
    display: flex;
    align-items: center;
    gap: 10px;
}
body.theme-season21-infernal-throne .df21-content-embed .cmp-stat-val--left {
    justify-content: flex-end;
}
body.theme-season21-infernal-throne .df21-content-embed .cmp-stat-val--right {
    justify-content: flex-start;
}

body.theme-season21-infernal-throne .df21-content-embed .cmp-stat-num {
    font-family: var(--it21-font-ui);
    font-size: 0.82rem;
    font-weight: 600;
    color: rgba(255,200,140,0.6);
    min-width: 50px;
}
body.theme-season21-infernal-throne .df21-content-embed .cmp-stat-val--left .cmp-stat-num {
    text-align: right;
}
body.theme-season21-infernal-throne .df21-content-embed .cmp-stat-val--right .cmp-stat-num {
    text-align: left;
}

/* Bars */
body.theme-season21-infernal-throne .df21-content-embed .cmp-bar {
    flex: 1;
    height: 6px;
    border-radius: 3px;
    background: rgba(255,138,56,0.06);
    overflow: hidden;
    max-width: 160px;
}
body.theme-season21-infernal-throne .df21-content-embed .cmp-bar--left {
    direction: rtl;
}
body.theme-season21-infernal-throne .df21-content-embed .cmp-bar-fill {
    height: 100%;
    border-radius: 3px;
    background: rgba(255,200,140,0.15);
    transition: width 0.4s ease;
}

/* Winner highlighting */
body.theme-season21-infernal-throne .df21-content-embed .cmp-winner .cmp-bar-fill {
    background: linear-gradient(90deg, rgba(255,138,56,0.4), var(--it21-gold));
    box-shadow: 0 0 8px rgba(255,100,20,0.15);
}
body.theme-season21-infernal-throne .df21-content-embed .cmp-winner .cmp-stat-num {
    color: var(--it21-gold);
    font-weight: 700;
}

/* ── Extra Comparison (Location / Wealth / Stat Points) ── */
body.theme-season21-infernal-throne .df21-content-embed .cmp-extra {
    border-radius: var(--it21-radius);
    background:
        radial-gradient(ellipse at 50% 100%, rgba(255,138,56,0.03) 0%, transparent 50%),
        rgba(12,5,3,0.55);
    border: 1px solid rgba(255,138,56,0.08);
    overflow: hidden;
}
body.theme-season21-infernal-throne .df21-content-embed .cmp-extra.glass-panel {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    padding: 0;
}

body.theme-season21-infernal-throne .df21-content-embed .cmp-extra-row {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 14px;
    padding: 12px 18px;
    border-bottom: 1px solid rgba(255,138,56,0.05);
    font-family: var(--it21-font-ui);
    font-size: 0.8rem;
    color: rgba(255,200,140,0.6);
}
body.theme-season21-infernal-throne .df21-content-embed .cmp-extra-row:last-child {
    border-bottom: none;
}
body.theme-season21-infernal-throne .df21-content-embed .cmp-extra-row > span:first-child {
    text-align: right;
    font-weight: 600;
    color: var(--it21-text);
}
body.theme-season21-infernal-throne .df21-content-embed .cmp-extra-row > span:last-child {
    text-align: left;
    font-weight: 600;
    color: var(--it21-text);
}

body.theme-season21-infernal-throne .df21-content-embed .cmp-extra-label {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: rgba(255,200,140,0.4);
    white-space: nowrap;
    min-width: 100px;
}
body.theme-season21-infernal-throne .df21-content-embed .cmp-extra-label i {
    color: var(--it21-gold);
    opacity: 0.5;
}

/* ── Compare Responsive ── */
@media (max-width: 800px) {
    body.theme-season21-infernal-throne .df21-content-embed .cmp-grid {
        grid-template-columns: 1fr;
    }
    body.theme-season21-infernal-throne .df21-content-embed .cmp-inputs {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    body.theme-season21-infernal-throne .df21-content-embed .cmp-vs {
        justify-self: center;
        margin-bottom: 0;
    }
    body.theme-season21-infernal-throne .df21-content-embed .cmp-bar {
        max-width: 100px;
    }
    body.theme-season21-infernal-throne .df21-content-embed .cmp-stat-label {
        min-width: 70px;
        font-size: 0.62rem;
    }
    body.theme-season21-infernal-throne .df21-content-embed .cmp-stat-num {
        font-size: 0.75rem;
        min-width: 40px;
    }
}
@media (max-width: 500px) {
    body.theme-season21-infernal-throne .df21-content-embed .cmp-stat-row {
        padding: 10px 12px;
        gap: 8px;
    }
    body.theme-season21-infernal-throne .df21-content-embed .cmp-bar {
        display: none;
    }
    body.theme-season21-infernal-throne .df21-content-embed .cmp-extra-row {
        padding: 10px 12px;
        gap: 8px;
        font-size: 0.72rem;
    }
    body.theme-season21-infernal-throne .df21-content-embed .cmp-extra-label {
        min-width: 60px;
        font-size: 0.62rem;
    }
    body.theme-season21-infernal-throne .df21-content-embed .cmp-form {
        padding: 16px;
    }
    body.theme-season21-infernal-throne .df21-content-embed .cmp-card {
        padding: 16px;
    }
}


/* ══════════════════════════════════════════════════════════════
   DONATE PAGE  ·  Ascending Ember Tiers
   ══════════════════════════════════════════════════════════════ */

/* Layout override: stack the grid so wallet sits as a compact row */
body.theme-season21-infernal-throne .df21-page-grid:has(.it21-donate) {
    grid-template-columns: 1fr;
}
body.theme-season21-infernal-throne .df21-page-grid:has(.it21-donate) > .df21-page-panel:not(:first-child) {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 16px;
    padding: 16px 20px;
    background: var(--it21-panel);
    border: 1px solid var(--it21-line);
    border-radius: var(--it21-radius);
}
body.theme-season21-infernal-throne .df21-page-grid:has(.it21-donate) > .df21-page-panel:not(:first-child) .df21-page-panel__head {
    grid-column: 1 / -1;
    margin-bottom: 10px;
}
body.theme-season21-infernal-throne .df21-page-grid:has(.it21-donate) > .df21-page-panel:not(:first-child) .df21-page-panel__head h2 {
    font-size: 0.85rem;
}

/* ── Section Container ── */
body.theme-season21-infernal-throne .it21-donate {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

/* ── Disabled / Coming Soon ── */
body.theme-season21-infernal-throne .it21-donate__disabled {
    text-align: center;
    padding: 60px 24px;
    background: var(--it21-panel);
    border: 1px solid var(--it21-line);
    border-radius: var(--it21-radius);
}
body.theme-season21-infernal-throne .it21-donate__disabled-icon {
    font-size: 3rem;
    color: var(--it21-gold);
    margin-bottom: 16px;
    line-height: 1;
}
body.theme-season21-infernal-throne .it21-donate__disabled-title {
    font-family: var(--it21-font-head);
    font-size: 1.4rem;
    color: var(--it21-gold);
    margin: 0 0 10px;
}
body.theme-season21-infernal-throne .it21-donate__disabled-text {
    color: var(--it21-text-dim);
    font-size: 0.88rem;
    max-width: 440px;
    margin: 0 auto 20px;
    line-height: 1.6;
}
body.theme-season21-infernal-throne .it21-donate__disabled-text a {
    color: var(--it21-gold);
    text-decoration: underline;
}
body.theme-season21-infernal-throne .it21-donate__disabled-feats {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 14px 22px;
    font-size: 0.78rem;
    color: var(--it21-text-soft);
}
body.theme-season21-infernal-throne .it21-donate__disabled-feats i {
    color: var(--it21-gold);
    margin-right: 5px;
}

/* ══ Promo Strip ══ */
body.theme-season21-infernal-throne .it21-donate__promo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 16px;
    background: linear-gradient(135deg, rgba(255,138,56,0.09) 0%, rgba(212,175,55,0.04) 100%);
    border: 1px solid rgba(255,138,56,0.18);
    border-radius: var(--it21-radius);
    font-family: var(--it21-font-ui);
    font-size: 0.72rem;
    color: var(--it21-text-dim);
}
body.theme-season21-infernal-throne .it21-donate__promo-hl {
    display: flex;
    align-items: center;
    gap: 6px;
    color: var(--it21-gold);
}
body.theme-season21-infernal-throne .it21-donate__promo-hl i {
    font-size: 0.9rem;
    animation: it21-donate-star-pulse 2s ease-in-out infinite alternate;
}
@keyframes it21-donate-star-pulse {
    0%   { opacity: 0.7; transform: scale(0.9); }
    100% { opacity: 1; transform: scale(1.15); }
}
body.theme-season21-infernal-throne .it21-donate__promo-meta {
    display: flex;
    gap: 14px;
}
body.theme-season21-infernal-throne .it21-donate__promo-meta > span {
    display: flex;
    align-items: center;
    gap: 4px;
}
body.theme-season21-infernal-throne .it21-donate__promo-meta i {
    color: var(--it21-gold);
    font-size: 0.78rem;
}

/* ══ Package Tiers ══ */
body.theme-season21-infernal-throne .it21-donate__tiers {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
body.theme-season21-infernal-throne .it21-donate__tier {
    position: relative;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    background: linear-gradient(90deg,
        rgba(255,138,56, calc(var(--tier, 1) * 0.018)) 0%,
        var(--it21-panel) 100%);
    border: 1px solid var(--it21-line);
    border-left: 3px solid rgba(255,138,56, calc(0.1 + var(--tier, 1) * 0.14));
    border-radius: var(--it21-radius-sm);
    transition: border-color 0.25s, background 0.25s, box-shadow 0.25s, transform 0.25s;
}
body.theme-season21-infernal-throne .it21-donate__tier:hover {
    border-color: rgba(255,138,56,0.3);
    border-left-color: var(--it21-gold);
    background: rgba(255,138,56,0.05);
    transform: translateX(3px);
}

/* Best tier — gold border + animated ember glow */
body.theme-season21-infernal-throne .it21-donate__tier--best {
    border: 1px solid rgba(255,138,56,0.35);
    border-left: 4px solid var(--it21-gold);
    background: linear-gradient(90deg, rgba(255,138,56,0.09) 0%, rgba(255,138,56,0.02) 100%);
    padding: 18px 16px;
    animation: it21-donate-ember 3s ease-in-out infinite alternate;
}
@keyframes it21-donate-ember {
    0%   { box-shadow: 0 0 15px rgba(255,138,56,0.06), inset 0 0 20px rgba(255,138,56,0.02); }
    100% { box-shadow: 0 0 28px rgba(255,138,56,0.12), inset 0 0 35px rgba(255,138,56,0.04); }
}
body.theme-season21-infernal-throne .it21-donate__tier--best:hover {
    box-shadow: 0 0 32px rgba(255,138,56,0.18), inset 0 0 30px rgba(255,138,56,0.06);
    border-color: rgba(255,138,56,0.5);
    border-left-color: var(--it21-gold);
    transform: translateX(3px);
}

/* Best-value badge */
body.theme-season21-infernal-throne .it21-donate__badge {
    position: absolute;
    top: -9px;
    left: 16px;
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 2px 10px;
    background: linear-gradient(135deg, var(--it21-gold) 0%, #d4af37 100%);
    color: #1a0a00;
    font-family: var(--it21-font-ui);
    font-size: 0.56rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(255,138,56,0.3);
    z-index: 2;
    line-height: 1.4;
}

/* --- Tier internals --- */
body.theme-season21-infernal-throne .it21-donate__tier-price {
    font-family: var(--it21-font-head);
    font-size: 1.25rem;
    color: var(--it21-text);
    min-width: 52px;
    letter-spacing: -0.02em;
    flex-shrink: 0;
}
body.theme-season21-infernal-throne .it21-donate__tier--best .it21-donate__tier-price {
    color: var(--it21-gold);
    font-size: 1.4rem;
}
body.theme-season21-infernal-throne .it21-donate__tier-coins {
    display: flex;
    align-items: center;
    gap: 5px;
    font-family: var(--it21-font-head);
    font-size: 0.92rem;
    color: var(--it21-gold);
    flex: 1;
    min-width: 0;
}
body.theme-season21-infernal-throne .it21-donate__tier-coins i {
    font-size: 0.82rem;
    opacity: 0.75;
    flex-shrink: 0;
}
body.theme-season21-infernal-throne .it21-donate__tier--best .it21-donate__tier-coins {
    font-size: 1.02rem;
}
body.theme-season21-infernal-throne .it21-donate__tier-bonus {
    display: inline-block;
    padding: 2px 8px;
    background: rgba(34,197,94,0.12);
    color: var(--it21-green);
    font-family: var(--it21-font-ui);
    font-size: 0.66rem;
    font-weight: 700;
    border-radius: 4px;
    white-space: nowrap;
    flex-shrink: 0;
}
body.theme-season21-infernal-throne .it21-donate__tier-base {
    font-family: var(--it21-font-ui);
    font-size: 0.66rem;
    color: var(--it21-text-soft);
    flex-shrink: 0;
}
body.theme-season21-infernal-throne .it21-donate__tier-rate {
    font-family: var(--it21-font-ui);
    font-size: 0.64rem;
    color: var(--it21-text-soft);
    white-space: nowrap;
    flex-shrink: 0;
}
body.theme-season21-infernal-throne .it21-donate__tier-form {
    margin-left: auto;
    flex-shrink: 0;
}

/* ── CTA Button ── */
body.theme-season21-infernal-throne .it21-donate__cta {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 8px 18px;
    border: 1px solid var(--it21-line-strong);
    border-radius: var(--it21-radius-sm);
    background: rgba(255,138,56,0.06);
    color: var(--it21-text);
    font-family: var(--it21-font-ui);
    font-size: 0.72rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.25s;
    user-select: none;
    -webkit-user-select: none;
    white-space: nowrap;
}
body.theme-season21-infernal-throne .it21-donate__cta:hover {
    background: rgba(255,138,56,0.14);
    border-color: var(--it21-gold);
    color: var(--it21-gold);
    box-shadow: 0 0 10px rgba(255,138,56,0.1);
}
body.theme-season21-infernal-throne .it21-donate__cta i {
    font-size: 0.85rem;
}
body.theme-season21-infernal-throne .it21-donate__cta--best {
    background: linear-gradient(135deg, var(--it21-gold) 0%, #d4af37 100%);
    border-color: transparent;
    color: #1a0a00;
    font-weight: 700;
    box-shadow: 0 2px 10px rgba(255,138,56,0.2);
}
body.theme-season21-infernal-throne .it21-donate__cta--best:hover {
    background: linear-gradient(135deg, #ffaa55 0%, #e6c040 100%);
    border-color: transparent;
    color: #1a0a00;
    box-shadow: 0 4px 20px rgba(255,138,56,0.35);
}

/* ── Steps Strip ── */
body.theme-season21-infernal-throne .it21-donate__steps {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 10px 16px;
    background: var(--it21-panel);
    border: 1px solid var(--it21-line);
    border-radius: var(--it21-radius);
    font-family: var(--it21-font-ui);
    font-size: 0.68rem;
    color: var(--it21-text-dim);
}
body.theme-season21-infernal-throne .it21-donate__steps > span {
    display: flex;
    align-items: center;
    gap: 4px;
}
body.theme-season21-infernal-throne .it21-donate__steps > span i {
    color: var(--it21-gold);
    font-size: 0.78rem;
}
body.theme-season21-infernal-throne .it21-donate__steps-arr {
    color: rgba(255,138,56,0.3);
    font-size: 0.55rem;
}

/* ══ Trust Pills ══ */
body.theme-season21-infernal-throne .it21-donate__trust {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}
body.theme-season21-infernal-throne .it21-donate__trust > span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 12px;
    background: var(--it21-panel);
    border: 1px solid var(--it21-line);
    border-radius: 20px;
    font-family: var(--it21-font-ui);
    font-size: 0.62rem;
    font-weight: 600;
    color: var(--it21-text-dim);
}
body.theme-season21-infernal-throne .it21-donate__trust > span i {
    color: var(--it21-gold);
    font-size: 0.75rem;
}
body.theme-season21-infernal-throne .it21-donate__trust a {
    color: var(--it21-gold);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}
body.theme-season21-infernal-throne .it21-donate__trust a:hover {
    text-decoration: underline;
}

/* ══ Donate Responsive ══ */
@media (max-width: 900px) {
    body.theme-season21-infernal-throne .it21-donate__promo {
        flex-direction: column;
        gap: 6px;
        text-align: center;
    }
    body.theme-season21-infernal-throne .it21-donate__tier-rate {
        display: none;
    }
    body.theme-season21-infernal-throne .df21-page-grid:has(.it21-donate) > .df21-page-panel:not(:first-child) {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 540px) {
    body.theme-season21-infernal-throne .it21-donate__tier {
        flex-wrap: wrap;
        gap: 8px 12px;
    }
    body.theme-season21-infernal-throne .it21-donate__tier-form {
        width: 100%;
    }
    body.theme-season21-infernal-throne .it21-donate__cta {
        width: 100%;
        justify-content: center;
    }
    body.theme-season21-infernal-throne .it21-donate__steps {
        flex-wrap: wrap;
        gap: 6px;
    }
    body.theme-season21-infernal-throne .it21-donate__steps-arr {
        display: none;
    }
    body.theme-season21-infernal-throne .it21-donate__trust {
        flex-direction: column;
        align-items: stretch;
    }
    body.theme-season21-infernal-throne .it21-donate__trust > span {
        justify-content: center;
    }
}


/* ══════════════════════════════════════════════════════════════
   VIP SHOP PAGE  ·  Ascending Tier Cards + Package List
   ══════════════════════════════════════════════════════════════ */

/* Layout override: stack the grid for VIP */
body.theme-season21-infernal-throne .df21-page-grid:has(.it21-vip) {
    grid-template-columns: 1fr;
}
body.theme-season21-infernal-throne .df21-page-grid:has(.it21-vip) > .df21-page-panel:not(:first-child) {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 16px;
    padding: 16px 20px;
    background: var(--it21-panel);
    border: 1px solid var(--it21-line);
    border-radius: var(--it21-radius);
}
body.theme-season21-infernal-throne .df21-page-grid:has(.it21-vip) > .df21-page-panel:not(:first-child) .df21-page-panel__head {
    grid-column: 1 / -1;
    margin-bottom: 10px;
}
body.theme-season21-infernal-throne .df21-page-grid:has(.it21-vip) > .df21-page-panel:not(:first-child) .df21-page-panel__head h2 {
    font-size: 0.85rem;
}

/* ── Section Container ── */
body.theme-season21-infernal-throne .it21-vip {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* ══ Tier Comparison Cards ══ */
body.theme-season21-infernal-throne .it21-vip__tiers {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}
body.theme-season21-infernal-throne .it21-vip__tier-card {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 20px 16px 18px;
    background: var(--it21-panel);
    border: 1px solid var(--it21-line);
    border-top: 3px solid var(--tier-color, var(--it21-gold));
    border-radius: var(--it21-radius);
    transition: border-color 0.3s, box-shadow 0.3s, transform 0.3s;
}
body.theme-season21-infernal-throne .it21-vip__tier-card:hover {
    border-color: var(--tier-color, var(--it21-gold));
    box-shadow: 0 0 20px rgba(255,138,56,0.08);
    transform: translateY(-2px);
}
/* Gold tier gets animated forge glow */
body.theme-season21-infernal-throne .it21-vip__tier-card[style*="--tier:3"] {
    animation: it21-vip-forge 3s ease-in-out infinite alternate;
}
@keyframes it21-vip-forge {
    0%   { box-shadow: 0 0 8px rgba(212,175,55,0.05); }
    100% { box-shadow: 0 0 22px rgba(212,175,55,0.12); }
}
body.theme-season21-infernal-throne .it21-vip__tier-head {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
}
body.theme-season21-infernal-throne .it21-vip__tier-icon {
    font-size: 1.2rem;
    color: var(--tier-color, var(--it21-gold));
}
body.theme-season21-infernal-throne .it21-vip__tier-name {
    font-family: var(--it21-font-head);
    font-size: 1rem;
    color: var(--tier-color, var(--it21-gold));
    margin: 0;
    letter-spacing: 0.02em;
}
body.theme-season21-infernal-throne .it21-vip__tier-perks {
    list-style: none;
    padding: 0;
    margin: 0 0 14px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    flex: 1;
}
body.theme-season21-infernal-throne .it21-vip__tier-perks li {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    font-size: 0.66rem;
    color: var(--it21-text-dim);
    line-height: 1.4;
}
body.theme-season21-infernal-throne .it21-vip__tier-perks li i {
    color: var(--tier-color, var(--it21-gold));
    font-size: 0.7rem;
    margin-top: 1px;
    flex-shrink: 0;
}
body.theme-season21-infernal-throne .it21-vip__tier-price {
    display: block;
    padding: 8px 0 0;
    border-top: 1px solid var(--it21-line);
    font-family: var(--it21-font-ui);
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--tier-color, var(--it21-gold));
    text-align: center;
}

/* ══ Package List ══ */
body.theme-season21-infernal-throne .it21-vip__packages {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
body.theme-season21-infernal-throne .it21-vip__empty {
    text-align: center;
    padding: 40px 24px;
    background: var(--it21-panel);
    border: 1px solid var(--it21-line);
    border-radius: var(--it21-radius);
    color: var(--it21-text-dim);
}
body.theme-season21-infernal-throne .it21-vip__empty i {
    font-size: 2.2rem;
    opacity: 0.3;
    display: block;
    margin-bottom: 10px;
}
body.theme-season21-infernal-throne .it21-vip__empty p {
    margin: 0;
    font-size: 0.82rem;
}

/* --- Package row --- */
body.theme-season21-infernal-throne .it21-vip__pkg {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    background: var(--it21-panel);
    border: 1px solid var(--it21-line);
    border-left: 3px solid var(--tier-color, var(--it21-gold));
    border-radius: var(--it21-radius-sm);
    transition: border-color 0.25s, background 0.25s, transform 0.25s;
}
body.theme-season21-infernal-throne .it21-vip__pkg:hover {
    border-color: var(--tier-color, var(--it21-gold));
    border-left-color: var(--tier-color, var(--it21-gold));
    background: rgba(255,138,56,0.03);
    transform: translateX(3px);
}

/* Tier badge in package row */
body.theme-season21-infernal-throne .it21-vip__pkg-tier {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 8px;
    border-radius: 4px;
    background: rgba(255,138,56,0.06);
    border: 1px solid rgba(255,138,56,0.12);
    font-family: var(--it21-font-ui);
    font-size: 0.6rem;
    font-weight: 700;
    color: var(--tier-color, var(--it21-gold));
    text-transform: uppercase;
    letter-spacing: 0.06em;
    white-space: nowrap;
    flex-shrink: 0;
}
body.theme-season21-infernal-throne .it21-vip__pkg-tier i {
    font-size: 0.65rem;
}
body.theme-season21-infernal-throne .it21-vip__pkg-title {
    font-family: var(--it21-font-ui);
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--it21-text);
    flex: 1;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
body.theme-season21-infernal-throne .it21-vip__pkg-duration {
    display: flex;
    align-items: center;
    gap: 3px;
    font-family: var(--it21-font-ui);
    font-size: 0.66rem;
    color: var(--it21-text-dim);
    white-space: nowrap;
    flex-shrink: 0;
}
body.theme-season21-infernal-throne .it21-vip__pkg-duration i {
    font-size: 0.72rem;
    color: var(--it21-gold);
}
body.theme-season21-infernal-throne .it21-vip__pkg-price {
    font-family: var(--it21-font-head);
    font-size: 0.88rem;
    color: var(--it21-gold);
    white-space: nowrap;
    flex-shrink: 0;
}
body.theme-season21-infernal-throne .it21-vip__pkg-bonus {
    display: inline-block;
    padding: 2px 7px;
    background: rgba(34,197,94,0.12);
    color: var(--it21-green);
    font-family: var(--it21-font-ui);
    font-size: 0.62rem;
    font-weight: 700;
    border-radius: 4px;
    white-space: nowrap;
    flex-shrink: 0;
}
body.theme-season21-infernal-throne .it21-vip__pkg-extras {
    display: flex;
    gap: 6px;
    flex-shrink: 0;
}
body.theme-season21-infernal-throne .it21-vip__pkg-extras > span {
    padding: 2px 6px;
    background: var(--it21-bg-soft);
    border: 1px solid var(--it21-line);
    border-radius: 3px;
    font-family: var(--it21-font-ui);
    font-size: 0.56rem;
    color: var(--it21-text-soft);
    white-space: nowrap;
}
body.theme-season21-infernal-throne .it21-vip__pkg-cta {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 7px 14px;
    border: 1px solid var(--it21-line-strong);
    border-radius: var(--it21-radius-sm);
    background: rgba(255,138,56,0.06);
    color: var(--it21-text);
    font-family: var(--it21-font-ui);
    font-size: 0.68rem;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.25s;
    white-space: nowrap;
    flex-shrink: 0;
}
body.theme-season21-infernal-throne .it21-vip__pkg-cta:hover {
    background: rgba(255,138,56,0.14);
    border-color: var(--it21-gold);
    color: var(--it21-gold);
    box-shadow: 0 0 10px rgba(255,138,56,0.1);
}

/* ══ Footer Strip ══ */
body.theme-season21-infernal-throne .it21-vip__footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}
body.theme-season21-infernal-throne .it21-vip__footer > span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 12px;
    background: var(--it21-panel);
    border: 1px solid var(--it21-line);
    border-radius: 20px;
    font-family: var(--it21-font-ui);
    font-size: 0.62rem;
    font-weight: 600;
    color: var(--it21-text-dim);
}
body.theme-season21-infernal-throne .it21-vip__footer > span i {
    color: var(--it21-gold);
    font-size: 0.75rem;
}
body.theme-season21-infernal-throne .it21-vip__footer a {
    color: var(--it21-gold);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}
body.theme-season21-infernal-throne .it21-vip__footer a:hover {
    text-decoration: underline;
}

/* ══ VIP Responsive ══ */
@media (max-width: 900px) {
    body.theme-season21-infernal-throne .it21-vip__tiers {
        grid-template-columns: 1fr;
    }
    body.theme-season21-infernal-throne .it21-vip__pkg-extras {
        display: none;
    }
    body.theme-season21-infernal-throne .df21-page-grid:has(.it21-vip) > .df21-page-panel:not(:first-child) {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 540px) {
    body.theme-season21-infernal-throne .it21-vip__pkg {
        flex-wrap: wrap;
        gap: 6px 10px;
    }
    body.theme-season21-infernal-throne .it21-vip__pkg-title {
        order: -1;
        width: 100%;
    }
    body.theme-season21-infernal-throne .it21-vip__pkg-cta {
        width: 100%;
        justify-content: center;
    }
    body.theme-season21-infernal-throne .it21-vip__footer {
        flex-direction: column;
        align-items: stretch;
    }
    body.theme-season21-infernal-throne .it21-vip__footer > span {
        justify-content: center;
    }
}


/* ═══════════════════════════════════════════════════════════════
   ITEM DATABASE PAGE  ·  Premium Card-Row Layout
   ═══════════════════════════════════════════════════════════════ */

/* ── Wrapper ── */
body.theme-season21-infernal-throne .it21-dbi {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* ── Search Bar ── */
body.theme-season21-infernal-throne .it21-dbi__filters {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
    padding: 14px 16px;
    border-radius: var(--it21-radius);
    background: var(--it21-panel-strong);
    border: 1px solid var(--it21-line);
}
body.theme-season21-infernal-throne .it21-dbi__search-wrap {
    flex: 1 1 200px;
    position: relative;
    min-width: 160px;
}
body.theme-season21-infernal-throne .it21-dbi__search-ico {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--it21-text-dim);
    font-size: 1rem;
    pointer-events: none;
}
body.theme-season21-infernal-throne .it21-dbi__search {
    width: 100%;
    padding: 10px 14px 10px 36px;
    border-radius: var(--it21-radius-sm);
    border: 1px solid var(--it21-line);
    background: rgba(0,0,0,.25);
    color: var(--it21-text);
    font: 400 .88rem var(--it21-font-ui);
    outline: none;
    transition: border-color .25s, box-shadow .25s;
}
body.theme-season21-infernal-throne .it21-dbi__search:focus {
    border-color: var(--it21-gold);
    box-shadow: 0 0 12px rgba(255,138,56,.1);
}
body.theme-season21-infernal-throne .it21-dbi__select {
    padding: 10px 12px;
    border-radius: var(--it21-radius-sm);
    border: 1px solid var(--it21-line);
    background: rgba(0,0,0,.25);
    color: var(--it21-text);
    font: 400 .85rem var(--it21-font-ui);
    cursor: pointer;
    outline: none;
    transition: border-color .25s;
}
body.theme-season21-infernal-throne .it21-dbi__select:focus {
    border-color: var(--it21-gold);
}
body.theme-season21-infernal-throne .it21-dbi__select option {
    background: #1a0a04;
}
body.theme-season21-infernal-throne .it21-dbi__search-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 22px;
    border-radius: var(--it21-radius-sm);
    background: linear-gradient(135deg, var(--it21-gold), #d05510);
    color: #0e0604;
    font: 700 .85rem var(--it21-font-ui);
    text-transform: uppercase;
    letter-spacing: .05em;
    cursor: pointer;
    transition: filter .2s, transform .15s;
    box-shadow: 0 2px 10px rgba(255,100,20,.2);
}
body.theme-season21-infernal-throne .it21-dbi__search-btn:hover {
    filter: brightness(1.12);
    transform: translateY(-1px);
}

/* ── Category Pills ── */
body.theme-season21-infernal-throne .it21-dbi__pills {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 4px 0;
}
body.theme-season21-infernal-throne .it21-dbi__pill {
    padding: 6px 14px;
    border-radius: 20px;
    border: 1px solid var(--it21-line);
    background: transparent;
    color: var(--it21-text-dim);
    font: 500 .76rem var(--it21-font-ui);
    text-decoration: none;
    transition: all .2s;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
body.theme-season21-infernal-throne .it21-dbi__pill:hover {
    border-color: var(--it21-gold-soft);
    color: var(--it21-text);
    background: rgba(255,138,56,.04);
}
body.theme-season21-infernal-throne .it21-dbi__pill--on {
    background: linear-gradient(135deg, var(--it21-gold), #d05510);
    border-color: transparent;
    color: #0e0604;
    font-weight: 700;
    box-shadow: 0 1px 8px rgba(255,100,20,.2);
}

/* ── Result Meta Bar ── */
body.theme-season21-infernal-throne .it21-dbi__meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 14px;
    border-radius: var(--it21-radius-sm);
    background: rgba(255,138,56,.04);
    border: 1px solid rgba(255,138,56,.06);
}
body.theme-season21-infernal-throne .it21-dbi__meta-count,
body.theme-season21-infernal-throne .it21-dbi__meta-page {
    font: 400 .82rem var(--it21-font-ui);
    color: var(--it21-text-dim);
}
body.theme-season21-infernal-throne .it21-dbi__meta-count strong,
body.theme-season21-infernal-throne .it21-dbi__meta-page strong {
    color: var(--it21-gold);
    font-weight: 700;
}

/* ── Column Headers ── */
body.theme-season21-infernal-throne .it21-dbi__thead {
    display: grid;
    grid-template-columns: 1fr 200px 160px 120px;
    gap: 12px;
    padding: 0 16px 6px;
    border-bottom: 1px solid rgba(255,138,56,.1);
}
body.theme-season21-infernal-throne .it21-dbi__th {
    font: 600 .68rem var(--it21-font-ui);
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--it21-text-dim);
}
body.theme-season21-infernal-throne .it21-dbi__th--stats { text-align: center; }
body.theme-season21-infernal-throne .it21-dbi__th--reqs { text-align: center; }
body.theme-season21-infernal-throne .it21-dbi__th--cls { text-align: right; }

/* ── Item List ── */
body.theme-season21-infernal-throne .it21-dbi__list {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

/* ── Item Card Row ── */
body.theme-season21-infernal-throne .it21-dbi__card {
    display: grid;
    grid-template-columns: 1fr 200px 160px 120px;
    gap: 12px;
    align-items: center;
    padding: 10px 16px;
    border-radius: var(--it21-radius-sm);
    background: var(--it21-panel-strong);
    border: 1px solid var(--it21-line);
    transition: border-color .25s, background .25s, box-shadow .25s;
}
body.theme-season21-infernal-throne .it21-dbi__card:hover {
    border-color: rgba(255,138,56,.25);
    background: rgba(255,138,56,.03);
    box-shadow: 0 2px 16px rgba(255,80,20,.06);
}
body.theme-season21-infernal-throne .it21-dbi__card--exc {
    border-left: 3px solid var(--it21-green);
}
body.theme-season21-infernal-throne .it21-dbi__card--exc:hover {
    border-left-color: var(--it21-green);
}

/* ── Identity (image + name + category) ── */
body.theme-season21-infernal-throne .it21-dbi__identity {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}
body.theme-season21-infernal-throne .it21-dbi__img-frame {
    width: 52px;
    height: 52px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: radial-gradient(circle, rgba(255,138,56,.06) 0%, rgba(0,0,0,.3) 100%);
    border: 1px solid rgba(255,138,56,.08);
    overflow: hidden;
    transition: border-color .25s, box-shadow .25s;
}
body.theme-season21-infernal-throne .it21-dbi__card:hover .it21-dbi__img-frame {
    border-color: rgba(255,138,56,.2);
    box-shadow: 0 0 14px rgba(255,100,20,.08);
}
body.theme-season21-infernal-throne .it21-dbi__img {
    max-width: 42px;
    max-height: 42px;
    object-fit: contain;
    image-rendering: pixelated;
    filter: drop-shadow(0 0 3px rgba(255,138,56,.1));
}
body.theme-season21-infernal-throne .it21-dbi__info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}
body.theme-season21-infernal-throne .it21-dbi__name {
    font: 600 .9rem var(--it21-font-ui);
    color: var(--it21-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.2;
}
body.theme-season21-infernal-throne .it21-dbi__sub {
    display: flex;
    align-items: center;
    gap: 6px;
}
body.theme-season21-infernal-throne .it21-dbi__cat {
    font: 500 .68rem var(--it21-font-ui);
    color: var(--it21-gold-soft);
    text-transform: uppercase;
    letter-spacing: .03em;
}
body.theme-season21-infernal-throne .it21-dbi__exc {
    padding: 1px 7px;
    border-radius: 3px;
    background: rgba(40,210,120,.12);
    color: var(--it21-green);
    font: 700 .6rem var(--it21-font-ui);
    text-transform: uppercase;
    letter-spacing: .04em;
}

/* ── Stat Boxes ── */
body.theme-season21-infernal-throne .it21-dbi__stats {
    display: flex;
    gap: 8px;
    justify-content: center;
    align-items: center;
}
body.theme-season21-infernal-throne .it21-dbi__stat-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1px;
    padding: 4px 10px;
    border-radius: 6px;
    background: rgba(0,0,0,.2);
    border: 1px solid rgba(255,255,255,.04);
    min-width: 48px;
}
body.theme-season21-infernal-throne .it21-dbi__stat-box i {
    font-size: .85rem;
    line-height: 1;
}
body.theme-season21-infernal-throne .it21-dbi__stat-val {
    font: 700 .82rem var(--it21-font-ui);
    line-height: 1.2;
}
body.theme-season21-infernal-throne .it21-dbi__stat-lbl {
    font: 600 .52rem var(--it21-font-ui);
    text-transform: uppercase;
    letter-spacing: .08em;
    opacity: .5;
}
body.theme-season21-infernal-throne .it21-dbi__stat-box--dmg {
    color: #f06040;
    border-color: rgba(240,96,64,.12);
    background: rgba(240,96,64,.06);
}
body.theme-season21-infernal-throne .it21-dbi__stat-box--def {
    color: #60a0f0;
    border-color: rgba(96,160,240,.12);
    background: rgba(96,160,240,.06);
}
body.theme-season21-infernal-throne .it21-dbi__stat-box--lvl {
    color: var(--it21-gold);
    border-color: rgba(255,138,56,.12);
    background: rgba(255,138,56,.06);
}
body.theme-season21-infernal-throne .it21-dbi__stat-box--none {
    color: var(--it21-text-dim);
    opacity: .3;
}

/* ── Requirements ── */
body.theme-season21-infernal-throne .it21-dbi__reqs {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    justify-content: center;
}
body.theme-season21-infernal-throne .it21-dbi__req {
    font: 400 .72rem var(--it21-font-ui);
    color: var(--it21-text-dim);
    padding: 2px 8px;
    border-radius: 4px;
    background: rgba(255,255,255,.03);
    white-space: nowrap;
}
body.theme-season21-infernal-throne .it21-dbi__req em {
    font-style: normal;
    font-weight: 700;
    color: var(--it21-text-soft);
    margin-right: 2px;
}
body.theme-season21-infernal-throne .it21-dbi__req--none {
    opacity: .3;
}

/* ── Class Pips ── */
body.theme-season21-infernal-throne .it21-dbi__classes {
    display: flex;
    gap: 3px;
    flex-wrap: wrap;
    justify-content: flex-end;
}
body.theme-season21-infernal-throne .it21-dbi__class {
    padding: 2px 6px;
    border-radius: 3px;
    background: rgba(255,138,56,.06);
    border: 1px solid rgba(255,138,56,.1);
    color: var(--it21-text-dim);
    font: 600 .62rem var(--it21-font-ui);
    text-transform: uppercase;
    letter-spacing: .03em;
    transition: background .2s, color .2s;
}
body.theme-season21-infernal-throne .it21-dbi__card:hover .it21-dbi__class {
    background: rgba(255,138,56,.1);
    color: var(--it21-text-soft);
}
body.theme-season21-infernal-throne .it21-dbi__class--more {
    background: rgba(255,138,56,.15);
    color: var(--it21-gold);
    font-weight: 700;
}

/* ── Pagination ── */
body.theme-season21-infernal-throne .it21-dbi__pager {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
    margin-top: 8px;
    padding: 12px 0;
}
body.theme-season21-infernal-throne .it21-dbi__pg-btn,
body.theme-season21-infernal-throne .it21-dbi__pg-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 10px;
    border-radius: 8px;
    border: 1px solid var(--it21-line);
    background: var(--it21-panel-strong);
    color: var(--it21-text-dim);
    font: 600 .82rem var(--it21-font-ui);
    text-decoration: none;
    transition: all .2s;
    cursor: pointer;
}
body.theme-season21-infernal-throne .it21-dbi__pg-btn:hover,
body.theme-season21-infernal-throne .it21-dbi__pg-num:hover {
    border-color: var(--it21-gold-soft);
    color: var(--it21-text);
    background: rgba(255,138,56,.05);
}
body.theme-season21-infernal-throne .it21-dbi__pg-num--on {
    background: linear-gradient(135deg, var(--it21-gold), #d05510);
    border-color: transparent;
    color: #0e0604;
    cursor: default;
    box-shadow: 0 1px 8px rgba(255,100,20,.2);
}
body.theme-season21-infernal-throne .it21-dbi__pg-num--on:hover {
    background: linear-gradient(135deg, var(--it21-gold), #d05510);
    color: #0e0604;
}
body.theme-season21-infernal-throne .it21-dbi__pg-dots {
    color: var(--it21-text-dim);
    font-size: .85rem;
    padding: 0 2px;
}

/* ── Empty State ── */
body.theme-season21-infernal-throne .it21-dbi__empty {
    text-align: center;
    padding: 56px 20px;
    color: var(--it21-text-dim);
    font: 400 .95rem var(--it21-font-ui);
    border-radius: var(--it21-radius);
    background: var(--it21-panel-strong);
    border: 1px solid var(--it21-line);
}
body.theme-season21-infernal-throne .it21-dbi__empty i {
    font-size: 2.6rem;
    display: block;
    margin-bottom: 14px;
    opacity: .3;
    color: var(--it21-gold);
}

/* ── Responsive ── */
@media (max-width: 960px) {
    body.theme-season21-infernal-throne .it21-dbi__thead {
        display: none;
    }
    body.theme-season21-infernal-throne .it21-dbi__card {
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 14px 16px;
    }
    body.theme-season21-infernal-throne .it21-dbi__stats {
        justify-content: flex-start;
    }
    body.theme-season21-infernal-throne .it21-dbi__reqs {
        justify-content: flex-start;
    }
    body.theme-season21-infernal-throne .it21-dbi__classes {
        justify-content: flex-start;
    }
}
@media (max-width: 600px) {
    body.theme-season21-infernal-throne .it21-dbi__filters {
        flex-direction: column;
        padding: 12px;
    }
    body.theme-season21-infernal-throne .it21-dbi__search-wrap {
        flex: 1 1 auto;
        width: 100%;
    }
    body.theme-season21-infernal-throne .it21-dbi__select {
        width: 100%;
    }
    body.theme-season21-infernal-throne .it21-dbi__search-btn {
        width: 100%;
        justify-content: center;
    }
    body.theme-season21-infernal-throne .it21-dbi__reqs {
        display: none;
    }
    body.theme-season21-infernal-throne .it21-dbi__stat-box {
        min-width: 42px;
        padding: 3px 7px;
    }
}


/* ── Filter Bar (used in various pages) ── */
body.theme-season21-infernal-throne .df21-filter-bar {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 16px;
}

/* ── Table Wrap ── */
body.theme-season21-infernal-throne .df21-table-wrap {
    overflow-x: auto;
    border-radius: 8px;
}

body.theme-season21-infernal-throne .df21-table-wrap table,
body.theme-season21-infernal-throne .df21-rank-table {
    width: 100%;
    border-collapse: collapse;
}

body.theme-season21-infernal-throne .df21-table-wrap table thead th,
body.theme-season21-infernal-throne .df21-rank-table thead th {
    font-family: var(--it21-font-ui);
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--it21-gold);
    padding: 12px 16px;
    background: rgba(255,138,56,0.05);
    border-bottom: 1px solid rgba(255,138,56,0.1);
    text-align: left;
}

body.theme-season21-infernal-throne .df21-table-wrap table tbody td,
body.theme-season21-infernal-throne .df21-rank-table tbody td {
    font-family: var(--it21-font-body);
    font-size: 0.8rem;
    color: rgba(230,210,190,0.8);
    padding: 11px 16px;
    border-bottom: 1px solid rgba(255,138,56,0.05);
}

body.theme-season21-infernal-throne .df21-table-wrap table tbody tr:hover,
body.theme-season21-infernal-throne .df21-rank-table tbody tr:hover {
    background: rgba(255,138,56,0.04);
}

body.theme-season21-infernal-throne .df21-table-wrap table tbody td a,
body.theme-season21-infernal-throne .df21-rank-table tbody td a {
    color: var(--it21-gold);
    transition: color 0.2s;
}

body.theme-season21-infernal-throne .df21-table-wrap table tbody td a:hover,
body.theme-season21-infernal-throne .df21-rank-table tbody td a:hover {
    color: #fff;
}

/* ── Market specific ── */
body.theme-season21-infernal-throne .df21-market-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 12px;
}

body.theme-season21-infernal-throne .df21-market-item {
    background: rgba(15,6,3,0.5);
    border: 1px solid rgba(255,138,56,0.08);
    border-radius: 10px;
    padding: 16px;
    transition: border-color 0.25s, box-shadow 0.25s;
}

body.theme-season21-infernal-throne .df21-market-item:hover {
    border-color: rgba(255,138,56,0.2);
    box-shadow: 0 4px 16px rgba(255,80,0,0.08);
}

/* ── VIP / Shop specific ── */
body.theme-season21-infernal-throne .df21-vip-tiers,
body.theme-season21-infernal-throne .df21-package-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 14px;
}

body.theme-season21-infernal-throne .df21-vip-card,
body.theme-season21-infernal-throne .df21-package-card {
    background: rgba(15,6,3,0.5);
    border: 1px solid rgba(255,138,56,0.1);
    border-radius: 12px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    position: relative;
    overflow: hidden;
    transition: border-color 0.25s, box-shadow 0.25s, transform 0.2s;
}

body.theme-season21-infernal-throne .df21-vip-card::before,
body.theme-season21-infernal-throne .df21-package-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--it21-gold), transparent);
}

body.theme-season21-infernal-throne .df21-vip-card:hover,
body.theme-season21-infernal-throne .df21-package-card:hover {
    border-color: rgba(255,138,56,0.25);
    box-shadow: 0 6px 24px rgba(255,80,0,0.1);
    transform: translateY(-2px);
}

body.theme-season21-infernal-throne .df21-vip-card h3,
body.theme-season21-infernal-throne .df21-package-card h3 {
    font-family: var(--it21-font-head);
    font-size: 1.05rem;
    font-weight: 700;
    color: #fff;
    margin: 0;
}

/* ── Support / Ticket specific ── */
body.theme-season21-infernal-throne .df21-ticket-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

body.theme-season21-infernal-throne .df21-ticket-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: rgba(15,6,3,0.4);
    border: 1px solid rgba(255,138,56,0.06);
    border-radius: 8px;
    padding: 12px 16px;
    transition: border-color 0.25s;
}

body.theme-season21-infernal-throne .df21-ticket-item:hover {
    border-color: rgba(255,138,56,0.15);
}

body.theme-season21-infernal-throne .df21-ticket-status {
    font-family: var(--it21-font-ui);
    font-size: 0.6rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    padding: 4px 10px;
    border-radius: 4px;
    background: rgba(255,138,56,0.1);
    color: var(--it21-gold);
}

body.theme-season21-infernal-throne .df21-ticket-status--open {
    background: rgba(80,200,100,0.1);
    color: #50c864;
}

body.theme-season21-infernal-throne .df21-ticket-status--closed {
    background: rgba(200,100,80,0.1);
    color: rgba(200,100,80,0.8);
}

/* ── Chat / Reply bubbles ── */
body.theme-season21-infernal-throne .df21-message,
body.theme-season21-infernal-throne .df21-reply {
    background: rgba(15,6,3,0.4);
    border: 1px solid rgba(255,138,56,0.06);
    border-radius: 10px;
    padding: 14px 18px;
    margin-bottom: 8px;
}

body.theme-season21-infernal-throne .df21-message--staff,
body.theme-season21-infernal-throne .df21-reply--staff {
    border-color: rgba(255,138,56,0.15);
    background: rgba(255,138,56,0.03);
}

/* ── Warehouse tab layout ── */
body.theme-season21-infernal-throne .df21-warehouse-tabs {
    display: flex;
    gap: 4px;
    margin-bottom: 12px;
}

body.theme-season21-infernal-throne .df21-warehouse-tabs a,
body.theme-season21-infernal-throne .df21-warehouse-tabs button {
    font-family: var(--it21-font-ui);
    font-size: 0.68rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: rgba(255,230,200,0.6);
    background: rgba(255,138,56,0.04);
    border: 1px solid rgba(255,138,56,0.1);
    border-radius: 6px;
    padding: 8px 14px;
    cursor: pointer;
    transition: color 0.2s, background 0.2s, border-color 0.2s;
}

body.theme-season21-infernal-throne .df21-warehouse-tabs a:hover,
body.theme-season21-infernal-throne .df21-warehouse-tabs button:hover,
body.theme-season21-infernal-throne .df21-warehouse-tabs a.is-active,
body.theme-season21-infernal-throne .df21-warehouse-tabs button.is-active {
    color: #fff;
    background: rgba(255,138,56,0.12);
    border-color: rgba(255,138,56,0.25);
}

/* ── Item grid (warehouse, shop) ── */
body.theme-season21-infernal-throne .df21-item-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
    gap: 6px;
}

body.theme-season21-infernal-throne .df21-item-slot {
    background: rgba(15,6,3,0.5);
    border: 1px solid rgba(255,138,56,0.06);
    border-radius: 6px;
    padding: 8px;
    text-align: center;
    min-height: 80px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    transition: border-color 0.25s, box-shadow 0.25s;
    cursor: pointer;
}

body.theme-season21-infernal-throne .df21-item-slot:hover {
    border-color: rgba(255,138,56,0.2);
    box-shadow: 0 0 8px rgba(255,138,56,0.1);
}

body.theme-season21-infernal-throne .df21-item-slot img {
    max-width: 40px;
    max-height: 40px;
}

body.theme-season21-infernal-throne .df21-item-slot span {
    font-family: var(--it21-font-ui);
    font-size: 0.55rem;
    color: rgba(200,175,150,0.55);
    margin-top: 4px;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    max-width: 100%;
}

/* ── Referral ── */
body.theme-season21-infernal-throne .df21-referral-code {
    display: flex;
    align-items: center;
    gap: 10px;
    background: rgba(15,6,3,0.6);
    border: 1px solid rgba(255,138,56,0.12);
    border-radius: 8px;
    padding: 12px 16px;
    margin-bottom: 12px;
}

body.theme-season21-infernal-throne .df21-referral-code input {
    flex: 1;
    background: transparent;
    border: none;
    color: var(--it21-gold);
    font-family: var(--it21-font-body);
    font-size: 0.88rem;
    outline: none;
}

/* ── Form grid (side-by-side fields) ── */
body.theme-season21-infernal-throne .df21-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

/* ── Textarea ── */
body.theme-season21-infernal-throne .df21-textarea,
body.theme-season21-infernal-throne textarea.df21-textarea {
    resize: vertical;
    min-height: 120px;
}

/* ── Service card grid (market items, warehouse items, dept cards) ── */
body.theme-season21-infernal-throne .df21-service-card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 12px;
}

body.theme-season21-infernal-throne .df21-service-card-grid--items {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
}

body.theme-season21-infernal-throne .df21-service-card {
    background: rgba(15,6,3,0.5);
    border: 1px solid rgba(255,138,56,0.08);
    border-radius: 10px;
    padding: 16px 18px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    transition: border-color 0.25s, box-shadow 0.25s;
}

body.theme-season21-infernal-throne .df21-service-card:hover {
    border-color: rgba(255,138,56,0.2);
    box-shadow: 0 4px 16px rgba(255,80,0,0.08);
}

body.theme-season21-infernal-throne .df21-service-card h3 {
    font-family: var(--it21-font-head);
    font-size: 0.92rem;
    font-weight: 700;
    color: #fff;
    margin: 0;
}

body.theme-season21-infernal-throne .df21-service-card p {
    font-family: var(--it21-font-body);
    font-size: 0.76rem;
    color: rgba(200,175,150,0.6);
    margin: 0;
}

/* ── Trade card (market / warehouse item cards) ── */
body.theme-season21-infernal-throne .df21-trade-card__head {
    display: flex;
    gap: 12px;
    align-items: flex-start;
}

body.theme-season21-infernal-throne .df21-trade-card__media {
    width: 48px;
    height: 48px;
    flex-shrink: 0;
    background: rgba(15,6,3,0.6);
    border: 1px solid rgba(255,138,56,0.1);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

body.theme-season21-infernal-throne .df21-trade-card__media img {
    max-width: 40px;
    max-height: 40px;
    object-fit: contain;
}

body.theme-season21-infernal-throne .df21-trade-card__actions {
    margin-top: auto;
    display: flex;
    gap: 6px;
}

body.theme-season21-infernal-throne .df21-trade-card__tooltip {
    font-family: var(--it21-font-body);
    font-size: 0.72rem;
    color: rgba(200,175,150,0.45);
    line-height: 1.5;
    border-top: 1px solid rgba(255,138,56,0.06);
    padding-top: 8px;
    margin-top: 4px;
}

/* ── Status badge ── */
body.theme-season21-infernal-throne .df21-status-badge {
    display: inline-block;
    font-family: var(--it21-font-ui);
    font-size: 0.58rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: rgba(255,230,200,0.6);
    background: rgba(255,138,56,0.06);
    border: 1px solid rgba(255,138,56,0.1);
    border-radius: 4px;
    padding: 3px 8px;
    margin-bottom: 4px;
}

body.theme-season21-infernal-throne .df21-status-badge.is-accent {
    color: var(--it21-gold);
    background: rgba(255,138,56,0.1);
    border-color: rgba(255,138,56,0.2);
}

/* ── Key-value grid (inside service/trade cards) ── */
body.theme-season21-infernal-throne .df21-key-value-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
}

body.theme-season21-infernal-throne .df21-key-value-grid > div {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

body.theme-season21-infernal-throne .df21-key-value-grid > div > span {
    font-family: var(--it21-font-ui);
    font-size: 0.6rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: rgba(200,175,150,0.45);
}

body.theme-season21-infernal-throne .df21-key-value-grid > div > strong {
    font-family: var(--it21-font-body);
    font-size: 0.82rem;
    font-weight: 600;
    color: rgba(255,230,200,0.85);
}

/* ── Tier grid (VIP comparison) ── */
body.theme-season21-infernal-throne .df21-tier-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 14px;
}

body.theme-season21-infernal-throne .df21-tier-card {
    background: rgba(15,6,3,0.5);
    border: 1px solid rgba(255,138,56,0.08);
    border-radius: 10px;
    padding: 18px 20px;
    position: relative;
    overflow: hidden;
    transition: border-color 0.25s, box-shadow 0.25s;
}

body.theme-season21-infernal-throne .df21-tier-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--it21-gold), transparent);
}

body.theme-season21-infernal-throne .df21-tier-card.is-active {
    border-color: rgba(255,138,56,0.25);
    box-shadow: 0 0 16px rgba(255,80,0,0.12), 0 4px 20px rgba(255,138,56,0.08);
}

body.theme-season21-infernal-throne .df21-tier-card h3 {
    font-family: var(--it21-font-head);
    font-size: 1rem;
    font-weight: 700;
    margin: 0 0 10px;
}

body.theme-season21-infernal-throne .df21-tier-card ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

body.theme-season21-infernal-throne .df21-tier-card li {
    font-family: var(--it21-font-body);
    font-size: 0.78rem;
    color: rgba(200,175,150,0.65);
    padding-left: 14px;
    position: relative;
}

body.theme-season21-infernal-throne .df21-tier-card li::before {
    content: '◆';
    position: absolute;
    left: 0;
    color: var(--it21-gold);
    font-size: 0.5rem;
    top: 2px;
    opacity: 0.6;
}

/* ── Inline Pagination (market etc) ── */
body.theme-season21-infernal-throne .df21-pagination-inline {
    display: flex;
    gap: 4px;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(255,138,56,0.06);
}

body.theme-season21-infernal-throne .df21-pagination-inline a,
body.theme-season21-infernal-throne .df21-pagination-inline span {
    font-family: var(--it21-font-ui);
    font-size: 0.68rem;
    font-weight: 600;
    color: rgba(255,230,200,0.6);
    background: rgba(255,138,56,0.04);
    border: 1px solid rgba(255,138,56,0.1);
    border-radius: 6px;
    padding: 6px 12px;
    transition: color 0.2s, background 0.2s, border-color 0.2s;
}

body.theme-season21-infernal-throne .df21-pagination-inline a:hover {
    color: #fff;
    background: rgba(255,138,56,0.1);
    border-color: rgba(255,138,56,0.25);
}

body.theme-season21-infernal-throne .df21-pagination-inline .active,
body.theme-season21-infernal-throne .df21-pagination-inline .current {
    color: #fff;
    background: linear-gradient(135deg, rgba(255,138,56,0.18), rgba(255,80,0,0.1));
    border-color: rgba(255,138,56,0.25);
}

/* ── Generic lists / description lists inside embedded content ── */
body.theme-season21-infernal-throne .df21-info-embed dl,
body.theme-season21-infernal-throne .df21-content-embed dl {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 8px 16px;
}

body.theme-season21-infernal-throne .df21-info-embed dt,
body.theme-season21-infernal-throne .df21-content-embed dt {
    font-family: var(--it21-font-ui);
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: rgba(255,230,200,0.7);
}

body.theme-season21-infernal-throne .df21-info-embed dd,
body.theme-season21-infernal-throne .df21-content-embed dd {
    font-family: var(--it21-font-body);
    font-size: 0.82rem;
    color: rgba(200,175,150,0.7);
    margin: 0;
}

/* ── Source-rendered page overrides (legacy shared pages) ── */
body.theme-season21-infernal-throne .source-page-content {
    font-family: var(--it21-font-body);
    font-size: 0.85rem;
    color: rgba(230,210,190,0.75);
    line-height: 1.7;
}

body.theme-season21-infernal-throne .source-page-content h1,
body.theme-season21-infernal-throne .source-page-content h2,
body.theme-season21-infernal-throne .source-page-content h3 {
    font-family: var(--it21-font-head);
    color: #fff;
}

body.theme-season21-infernal-throne .source-page-content a {
    color: var(--it21-gold);
}

body.theme-season21-infernal-throne .source-page-content table {
    width: 100%;
    border-collapse: collapse;
}

body.theme-season21-infernal-throne .source-page-content table th,
body.theme-season21-infernal-throne .source-page-content table td {
    padding: 10px 14px;
    border-bottom: 1px solid rgba(255,138,56,0.08);
}

body.theme-season21-infernal-throne .source-page-content table th {
    font-family: var(--it21-font-ui);
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--it21-gold);
    background: rgba(255,138,56,0.04);
}

body.theme-season21-infernal-throne .source-page-content .btn,
body.theme-season21-infernal-throne .source-page-content button[type="submit"],
body.theme-season21-infernal-throne .source-page-content input[type="submit"] {
    font-family: var(--it21-font-ui);
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #fff;
    background: linear-gradient(135deg, var(--it21-fire), var(--it21-ember));
    border: 1px solid rgba(255,138,56,0.3);
    border-radius: 8px;
    padding: 10px 20px;
    cursor: pointer;
    transition: box-shadow 0.3s, transform 0.2s;
}

body.theme-season21-infernal-throne .source-page-content .btn:hover,
body.theme-season21-infernal-throne .source-page-content button[type="submit"]:hover,
body.theme-season21-infernal-throne .source-page-content input[type="submit"]:hover {
    box-shadow: 0 4px 16px rgba(255,80,0,0.2);
    transform: translateY(-1px);
}

body.theme-season21-infernal-throne .source-page-content input[type="text"],
body.theme-season21-infernal-throne .source-page-content input[type="password"],
body.theme-season21-infernal-throne .source-page-content input[type="email"],
body.theme-season21-infernal-throne .source-page-content input[type="number"],
body.theme-season21-infernal-throne .source-page-content select,
body.theme-season21-infernal-throne .source-page-content textarea {
    font-family: var(--it21-font-body);
    font-size: 0.85rem;
    color: #fff;
    background: rgba(15,6,3,0.7);
    border: 1px solid rgba(255,138,56,0.15);
    border-radius: 8px;
    padding: 10px 14px;
    outline: none;
    transition: border-color 0.3s, box-shadow 0.3s;
    width: 100%;
    box-sizing: border-box;
}

body.theme-season21-infernal-throne .source-page-content input[type="text"]:focus,
body.theme-season21-infernal-throne .source-page-content input[type="password"]:focus,
body.theme-season21-infernal-throne .source-page-content input[type="email"]:focus,
body.theme-season21-infernal-throne .source-page-content input[type="number"]:focus,
body.theme-season21-infernal-throne .source-page-content select:focus,
body.theme-season21-infernal-throne .source-page-content textarea:focus {
    border-color: var(--it21-gold);
    box-shadow: 0 0 0 3px rgba(255,138,56,0.1);
}

/* ── Global overrides for all forms inside inner pages ── */
body.theme-season21-infernal-throne .it21-content-shell form label {
    font-family: var(--it21-font-ui);
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: rgba(255,230,200,0.7);
}

body.theme-season21-infernal-throne .it21-content-shell form input[type="text"],
body.theme-season21-infernal-throne .it21-content-shell form input[type="password"],
body.theme-season21-infernal-throne .it21-content-shell form input[type="email"],
body.theme-season21-infernal-throne .it21-content-shell form input[type="number"],
body.theme-season21-infernal-throne .it21-content-shell form select,
body.theme-season21-infernal-throne .it21-content-shell form textarea {
    font-family: var(--it21-font-body);
    font-size: 0.85rem;
    color: #fff;
    background: rgba(15,6,3,0.7);
    border: 1px solid rgba(255,138,56,0.15);
    border-radius: 8px;
    padding: 10px 14px;
    outline: none;
    transition: border-color 0.3s, box-shadow 0.3s;
    width: 100%;
    box-sizing: border-box;
}

body.theme-season21-infernal-throne .it21-content-shell form input[type="text"]:focus,
body.theme-season21-infernal-throne .it21-content-shell form input[type="password"]:focus,
body.theme-season21-infernal-throne .it21-content-shell form input[type="email"]:focus,
body.theme-season21-infernal-throne .it21-content-shell form input[type="number"]:focus,
body.theme-season21-infernal-throne .it21-content-shell form select:focus,
body.theme-season21-infernal-throne .it21-content-shell form textarea:focus {
    border-color: var(--it21-gold);
    box-shadow: 0 0 0 3px rgba(255,138,56,0.1);
}

body.theme-season21-infernal-throne .it21-content-shell form button[type="submit"],
body.theme-season21-infernal-throne .it21-content-shell form input[type="submit"] {
    font-family: var(--it21-font-ui);
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #fff;
    background: linear-gradient(135deg, var(--it21-fire), var(--it21-ember));
    border: 1px solid rgba(255,138,56,0.3);
    border-radius: 8px;
    padding: 10px 20px;
    cursor: pointer;
    transition: box-shadow 0.3s, transform 0.2s;
}

body.theme-season21-infernal-throne .it21-content-shell form button[type="submit"]:hover,
body.theme-season21-infernal-throne .it21-content-shell form input[type="submit"]:hover {
    box-shadow: 0 4px 16px rgba(255,80,0,0.2);
    transform: translateY(-1px);
}

/* ═══════════════════════════════════════════════════════════
   CHARACTER PROFILE
   ═══════════════════════════════════════════════════════════ */

body.theme-season21-infernal-throne .it21-char-profile {
    display: flex;
    flex-direction: column;
    gap: 20px;
    max-width: 960px;
    margin: 0 auto;
    padding: 0 0 40px;
}

/* ── Header Banner ── */
body.theme-season21-infernal-throne .it21-char-header {
    display: flex;
    align-items: center;
    gap: 20px;
    background: rgba(20,8,4,0.96);
    border: 1px solid rgba(255,138,56,0.15);
    border-radius: 12px;
    padding: 24px 28px;
    backdrop-filter: blur(12px);
    position: relative;
    overflow: hidden;
}

body.theme-season21-infernal-throne .it21-char-header::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(255,138,56,0.6), rgba(255,200,80,0.8), rgba(255,138,56,0.6), transparent);
}

body.theme-season21-infernal-throne .it21-char-header::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255,138,56,0.3), transparent);
}

body.theme-season21-infernal-throne .it21-char-header__portrait {
    position: relative;
    width: 80px;
    height: 80px;
    flex-shrink: 0;
}

body.theme-season21-infernal-throne .it21-char-header__portrait img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 50%;
    position: relative;
    z-index: 1;
}

body.theme-season21-infernal-throne .it21-char-header__ring {
    position: absolute;
    inset: -3px;
    border-radius: 50%;
    border: 2px solid rgba(255,138,56,0.35);
    box-shadow: 0 0 14px rgba(255,80,0,0.2), inset 0 0 8px rgba(255,80,0,0.1);
}

body.theme-season21-infernal-throne .it21-char-header__status {
    position: absolute;
    bottom: 2px; right: 2px;
    width: 14px; height: 14px;
    border-radius: 50%;
    border: 2px solid rgba(20,8,4,0.96);
    z-index: 2;
}

body.theme-season21-infernal-throne .it21-char-header__status--on {
    background: #34d399;
    box-shadow: 0 0 8px #34d399;
}

body.theme-season21-infernal-throne .it21-char-header__status--off {
    background: #555;
}

body.theme-season21-infernal-throne .it21-char-header__info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

body.theme-season21-infernal-throne .it21-char-header__name {
    font-family: var(--it21-font-head);
    font-size: 1.6rem;
    font-weight: 700;
    color: #fff;
    margin: 0;
    letter-spacing: 0.02em;
    line-height: 1.1;
}

body.theme-season21-infernal-throne .it21-char-header__meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    font-family: var(--it21-font-ui);
    font-size: 0.78rem;
}

body.theme-season21-infernal-throne .it21-char-header__class {
    color: rgba(255,200,160,0.7);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

body.theme-season21-infernal-throne .it21-char-header__sep {
    color: rgba(255,138,56,0.25);
    font-size: 0.9rem;
}

body.theme-season21-infernal-throne .it21-char-header__rank {
    color: rgba(255,200,80,0.85);
}

body.theme-season21-infernal-throne .it21-char-header__rank i {
    font-size: 0.85rem;
}

body.theme-season21-infernal-throne .it21-char-header__guild {
    color: rgba(255,200,160,0.7);
    text-decoration: none;
    transition: color 0.2s;
}

body.theme-season21-infernal-throne .it21-char-header__guild:hover {
    color: #fff;
}

body.theme-season21-infernal-throne .it21-char-header__guild i {
    font-size: 0.85rem;
}

body.theme-season21-infernal-throne .it21-char-header__gens {
    font-weight: 600;
}

body.theme-season21-infernal-throne .it21-char-header__gens--duprian { color: rgba(147,197,253,0.9); }
body.theme-season21-infernal-throne .it21-char-header__gens--vanert { color: rgba(252,165,165,0.9); }

body.theme-season21-infernal-throne .it21-char-header__actions {
    display: flex;
    gap: 8px;
    margin-top: 4px;
}

body.theme-season21-infernal-throne .it21-char-header__btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-family: var(--it21-font-ui);
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 5px 14px;
    border-radius: 6px;
    border: 1px solid rgba(255,138,56,0.2);
    background: rgba(255,138,56,0.06);
    color: rgba(255,200,160,0.7);
    text-decoration: none;
    transition: border-color 0.2s, background 0.2s, color 0.2s;
    cursor: pointer;
}

body.theme-season21-infernal-throne .it21-char-header__btn:hover {
    border-color: rgba(255,138,56,0.4);
    background: rgba(255,138,56,0.12);
    color: #fff;
}

body.theme-season21-infernal-throne .it21-char-header__btn--primary {
    background: linear-gradient(135deg, rgba(255,100,30,0.25), rgba(255,60,10,0.15));
    border-color: rgba(255,138,56,0.35);
    color: #fff;
}

body.theme-season21-infernal-throne .it21-char-header__btn--primary:hover {
    background: linear-gradient(135deg, rgba(255,100,30,0.4), rgba(255,60,10,0.3));
    box-shadow: 0 2px 12px rgba(255,80,0,0.2);
}

/* ── Header Highlights ── */
body.theme-season21-infernal-throne .it21-char-header__highlights {
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex-shrink: 0;
}

body.theme-season21-infernal-throne .it21-char-highlight {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 6px 14px;
    border-radius: 6px;
    background: rgba(255,138,56,0.04);
    border: 1px solid rgba(255,138,56,0.08);
    min-width: 140px;
}

body.theme-season21-infernal-throne .it21-char-highlight__val {
    font-family: var(--it21-font-head);
    font-size: 0.95rem;
    font-weight: 700;
    color: #fff;
    order: 2;
}

body.theme-season21-infernal-throne .it21-char-highlight__val--gold {
    color: rgba(255,200,80,0.95);
    text-shadow: 0 0 6px rgba(255,150,0,0.25);
}

body.theme-season21-infernal-throne .it21-char-highlight__val--hero { color: #34d399; }
body.theme-season21-infernal-throne .it21-char-highlight__val--neutral { color: rgba(255,200,160,0.7); }
body.theme-season21-infernal-throne .it21-char-highlight__val--outlaw { color: #f87171; }

body.theme-season21-infernal-throne .it21-char-highlight__lbl {
    font-family: var(--it21-font-ui);
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: rgba(255,200,160,0.4);
    order: 1;
}

/* ── Main Grid ── */
body.theme-season21-infernal-throne .it21-char-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

/* ── Panel ── */
body.theme-season21-infernal-throne .it21-char-panel {
    background: rgba(20,8,4,0.96);
    border: 1px solid rgba(255,138,56,0.15);
    border-radius: 12px;
    padding: 24px;
    backdrop-filter: blur(12px);
    position: relative;
    overflow: hidden;
}

body.theme-season21-infernal-throne .it21-char-panel::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(255,138,56,0.5), rgba(255,200,80,0.7), rgba(255,138,56,0.5), transparent);
}

body.theme-season21-infernal-throne .it21-char-panel--full {
    grid-column: 1 / -1;
}

body.theme-season21-infernal-throne .it21-char-panel__head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(255,138,56,0.1);
}

body.theme-season21-infernal-throne .it21-char-panel__head > i {
    font-size: 1.4rem;
    color: rgba(255,138,56,0.7);
}

body.theme-season21-infernal-throne .it21-char-panel__kicker {
    display: block;
    font-family: var(--it21-font-ui);
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: rgba(255,138,56,0.5);
    line-height: 1;
    margin-bottom: 2px;
}

body.theme-season21-infernal-throne .it21-char-panel__head h3 {
    margin: 0;
    font-family: var(--it21-font-head);
    font-size: 1.1rem;
    font-weight: 600;
    color: #fff;
    letter-spacing: 0.01em;
}

/* ── Combat Stats ── */
body.theme-season21-infernal-throne .it21-char-stats-grid {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

body.theme-season21-infernal-throne .it21-char-stat {
    display: grid;
    grid-template-columns: 32px 1fr;
    grid-template-rows: auto auto;
    gap: 2px 10px;
    align-items: center;
}

body.theme-season21-infernal-throne .it21-char-stat__icon {
    grid-row: 1 / 3;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 6px;
    background: rgba(255,138,56,0.08);
    color: rgba(255,138,56,0.6);
    font-size: 1rem;
}

body.theme-season21-infernal-throne .it21-char-stat__body {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

body.theme-season21-infernal-throne .it21-char-stat__label {
    font-family: var(--it21-font-ui);
    font-size: 0.8rem;
    color: rgba(255,200,160,0.6);
}

body.theme-season21-infernal-throne .it21-char-stat__value {
    font-family: var(--it21-font-head);
    font-size: 0.95rem;
    color: #fff;
}

body.theme-season21-infernal-throne .it21-char-stat__bar {
    grid-column: 2;
    height: 3px;
    border-radius: 2px;
    background: rgba(255,138,56,0.08);
    overflow: hidden;
}

body.theme-season21-infernal-throne .it21-char-stat__bar > span {
    display: block;
    height: 100%;
    border-radius: 2px;
    background: linear-gradient(90deg, rgba(255,100,30,0.7), rgba(255,200,80,0.8));
    transition: width 0.6s ease;
}

body.theme-season21-infernal-throne .it21-char-stat--danger .it21-char-stat__icon {
    color: #f87171;
    background: rgba(248,113,113,0.1);
}

body.theme-season21-infernal-throne .it21-char-stat--danger .it21-char-stat__value { color: #f87171; }

/* ── Location Grid ── */
body.theme-season21-infernal-throne .it21-char-location-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

body.theme-season21-infernal-throne .it21-char-loc {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    text-align: center;
    padding: 16px 12px;
    border-radius: 8px;
    background: rgba(255,138,56,0.04);
    border: 1px solid rgba(255,138,56,0.08);
    transition: border-color 0.2s;
}

body.theme-season21-infernal-throne .it21-char-loc:hover {
    border-color: rgba(255,138,56,0.2);
}

body.theme-season21-infernal-throne .it21-char-loc__icon {
    font-size: 1.3rem;
    color: rgba(255,138,56,0.5);
}

body.theme-season21-infernal-throne .it21-char-loc__icon--hero { color: #34d399; }
body.theme-season21-infernal-throne .it21-char-loc__icon--outlaw { color: #f87171; }
body.theme-season21-infernal-throne .it21-char-loc__icon--online { color: #34d399; }
body.theme-season21-infernal-throne .it21-char-loc__icon--offline { color: #666; }

body.theme-season21-infernal-throne .it21-char-loc__label {
    font-family: var(--it21-font-ui);
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: rgba(255,200,160,0.4);
}

body.theme-season21-infernal-throne .it21-char-loc__value {
    font-family: var(--it21-font-head);
    font-size: 0.9rem;
    color: #fff;
    font-weight: 600;
}

body.theme-season21-infernal-throne .it21-char-loc__value--hero { color: #34d399; }
body.theme-season21-infernal-throne .it21-char-loc__value--outlaw { color: #f87171; }
body.theme-season21-infernal-throne .it21-char-loc__value--online { color: #34d399; }

/* ── Gens Bar ── */
body.theme-season21-infernal-throne .it21-char-gens-bar {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 16px;
    padding: 14px 16px;
    border-radius: 8px;
    background: rgba(255,138,56,0.04);
    border: 1px solid rgba(255,138,56,0.1);
}

body.theme-season21-infernal-throne .it21-char-gens-bar__icon {
    font-size: 1.4rem;
    color: rgba(255,200,80,0.7);
}

body.theme-season21-infernal-throne .it21-char-gens-bar__info {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

body.theme-season21-infernal-throne .it21-char-gens-bar__info span {
    font-family: var(--it21-font-ui);
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: rgba(255,200,160,0.5);
}

body.theme-season21-infernal-throne .it21-char-gens-bar__info strong {
    font-family: var(--it21-font-head);
    font-size: 0.9rem;
    color: rgba(255,200,80,0.9);
}

/* ── Equipment Doll (3-column layout) ── */
body.theme-season21-infernal-throne .it21-char-equip-doll {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 16px;
}

body.theme-season21-infernal-throne .it21-char-equip-col {
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: center;
}

body.theme-season21-infernal-throne .it21-char-equip-col--center {
    position: relative;
}

body.theme-season21-infernal-throne .it21-char-equip-col--center::before,
body.theme-season21-infernal-throne .it21-char-equip-col--center::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: 1px;
    background: linear-gradient(180deg, transparent, rgba(255,138,56,0.15), rgba(255,138,56,0.15), transparent);
}

body.theme-season21-infernal-throne .it21-char-equip-col--center::before { left: -8px; }
body.theme-season21-infernal-throne .it21-char-equip-col--center::after { right: -8px; }

body.theme-season21-infernal-throne .it21-char-equip-slot {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    width: 100%;
}

body.theme-season21-infernal-throne .it21-char-equip-slot__inner {
    position: relative;
    width: 80px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    border: 1px solid rgba(255,138,56,0.1);
    background: rgba(10,4,2,0.6);
    transition: border-color 0.25s, box-shadow 0.25s, background 0.25s;
}

body.theme-season21-infernal-throne .it21-char-equip-slot__inner i {
    font-size: 1.6rem;
    color: rgba(255,138,56,0.15);
}

body.theme-season21-infernal-throne .it21-char-equip-slot.has-item .it21-char-equip-slot__inner {
    border-color: rgba(255,138,56,0.3);
    background: rgba(255,138,56,0.04);
    box-shadow: 0 0 16px rgba(255,80,0,0.08);
    cursor: pointer;
}

body.theme-season21-infernal-throne .it21-char-equip-slot.has-item:hover .it21-char-equip-slot__inner {
    border-color: rgba(255,200,80,0.5);
    box-shadow: 0 0 24px rgba(255,80,0,0.2), inset 0 0 16px rgba(255,80,0,0.05);
    background: rgba(255,138,56,0.07);
}

body.theme-season21-infernal-throne .it21-char-equip-slot__inner img {
    max-width: 60px;
    max-height: 60px;
    object-fit: contain;
    position: relative;
    z-index: 1;
    filter: drop-shadow(0 2px 6px rgba(0,0,0,0.5));
}

body.theme-season21-infernal-throne .it21-char-equip-slot__fallback {
    font-size: 1.6rem;
    color: rgba(255,138,56,0.15);
}

body.theme-season21-infernal-throne .it21-char-equip-slot__label {
    font-family: var(--it21-font-ui);
    font-size: 0.62rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: rgba(255,200,160,0.3);
}

body.theme-season21-infernal-throne .it21-char-equip-slot.has-item .it21-char-equip-slot__label {
    color: rgba(255,200,160,0.55);
}

/* Equipment tooltip on hover */
body.theme-season21-infernal-throne .it21-char-equip-tooltip {
    display: none;
    position: absolute;
    bottom: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%);
    z-index: 50;
    min-width: 220px;
    max-width: 300px;
    background: rgba(12,5,2,0.98);
    border: 1px solid rgba(255,138,56,0.35);
    border-radius: 8px;
    padding: 14px;
    font-family: var(--it21-font-ui);
    font-size: 0.78rem;
    color: rgba(255,200,160,0.8);
    pointer-events: none;
    box-shadow: 0 8px 32px rgba(0,0,0,0.7), 0 0 16px rgba(255,80,0,0.08);
}

body.theme-season21-infernal-throne .it21-char-equip-tooltip::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border: 6px solid transparent;
    border-top-color: rgba(255,138,56,0.35);
}

body.theme-season21-infernal-throne .it21-char-equip-slot.has-item:hover .it21-char-equip-tooltip {
    display: block;
}

body.theme-season21-infernal-throne .it21-char-equip-hidden {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 32px 20px;
    color: rgba(255,200,160,0.35);
    text-align: center;
    font-family: var(--it21-font-ui);
    font-size: 0.85rem;
}

body.theme-season21-infernal-throne .it21-char-equip-hidden i {
    font-size: 2rem;
    color: rgba(255,138,56,0.2);
}

/* ═══════════════════════════════════════════════════════════
   NEWS & ARTICLE PAGES
   ═══════════════════════════════════════════════════════════ */

/* ── Section wrapper ── */
body.theme-season21-infernal-throne .it21-news {
    display: flex;
    flex-direction: column;
    gap: 28px;
}

/* ── Page Header ── */
body.theme-season21-infernal-throne .it21-news__header {
    position: relative;
    background: rgba(20,8,4,0.96);
    border: 1px solid rgba(255,138,56,0.12);
    border-radius: 14px;
    padding: 36px 32px 30px;
    overflow: hidden;
}

body.theme-season21-infernal-throne .it21-news__header::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--it21-fire), var(--it21-gold), var(--it21-fire), transparent);
}

body.theme-season21-infernal-throne .it21-news__header-glow {
    position: absolute;
    top: -40px; left: 50%;
    transform: translateX(-50%);
    width: 320px;
    height: 80px;
    background: radial-gradient(ellipse, rgba(255,100,20,0.12) 0%, transparent 70%);
    pointer-events: none;
}

body.theme-season21-infernal-throne .it21-news__header-inner {
    position: relative;
    z-index: 1;
}

body.theme-season21-infernal-throne .it21-news__kicker {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--it21-font-ui);
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: var(--it21-gold);
    margin-bottom: 6px;
}

body.theme-season21-infernal-throne .it21-news__kicker i {
    font-size: 0.8rem;
}

body.theme-season21-infernal-throne .it21-news__title {
    font-family: var(--it21-font-head);
    font-size: 1.75rem;
    font-weight: 800;
    color: #fff;
    margin: 4px 0 8px;
    line-height: 1.2;
    letter-spacing: 0.01em;
}

body.theme-season21-infernal-throne .it21-news__subtitle {
    font-family: var(--it21-font-body);
    font-size: 0.88rem;
    color: rgba(200,175,150,0.6);
    line-height: 1.5;
    margin: 0 0 16px;
    max-width: 540px;
}

body.theme-season21-infernal-throne .it21-news__stats-row {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}

body.theme-season21-infernal-throne .it21-news__stat {
    font-family: var(--it21-font-ui);
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: rgba(200,175,150,0.5);
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

body.theme-season21-infernal-throne .it21-news__stat strong {
    color: #fff;
    font-size: 0.82rem;
}

body.theme-season21-infernal-throne .it21-news__stat i {
    font-size: 0.8rem;
    color: var(--it21-ember);
}

body.theme-season21-infernal-throne .it21-news__stat-sep {
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: rgba(255,138,56,0.3);
}

/* ── Empty state ── */
body.theme-season21-infernal-throne .it21-news__empty {
    text-align: center;
    padding: 60px 20px;
    background: rgba(20,8,4,0.6);
    border: 1px solid rgba(255,138,56,0.08);
    border-radius: 12px;
}

body.theme-season21-infernal-throne .it21-news__empty i {
    font-size: 2.5rem;
    color: rgba(255,138,56,0.2);
    margin-bottom: 12px;
    display: block;
}

body.theme-season21-infernal-throne .it21-news__empty p {
    font-family: var(--it21-font-body);
    font-size: 0.88rem;
    color: rgba(200,175,150,0.5);
}

/* ── Featured / Pinned Card ── */
body.theme-season21-infernal-throne .it21-news__featured {
    display: block;
    position: relative;
    background: rgba(20,8,4,0.96);
    border: 1px solid rgba(255,138,56,0.15);
    border-radius: 14px;
    padding: 32px 30px 28px;
    overflow: hidden;
    text-decoration: none;
    transition: border-color 0.3s, box-shadow 0.3s, transform 0.3s;
}

body.theme-season21-infernal-throne .it21-news__featured:hover {
    border-color: rgba(255,138,56,0.35);
    box-shadow: 0 0 40px rgba(255,80,0,0.1), 0 8px 30px rgba(0,0,0,0.4);
    transform: translateY(-2px);
}

body.theme-season21-infernal-throne .it21-news__featured::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--it21-gold), var(--it21-fire), var(--it21-gold), transparent);
}

body.theme-season21-infernal-throne .it21-news__featured-glow {
    position: absolute;
    top: -60px; right: -60px;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(255,80,0,0.08) 0%, transparent 70%);
    pointer-events: none;
}

body.theme-season21-infernal-throne .it21-news__featured-fire {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(255,80,0,0.3), rgba(255,138,56,0.5), rgba(255,80,0,0.3), transparent);
}

body.theme-season21-infernal-throne .it21-news__featured-body {
    position: relative;
    z-index: 1;
}

body.theme-season21-infernal-throne .it21-news__featured-badges {
    display: flex;
    gap: 8px;
    margin-bottom: 14px;
}

body.theme-season21-infernal-throne .it21-news__featured-title {
    font-family: var(--it21-font-head);
    font-size: 1.35rem;
    font-weight: 800;
    color: #fff;
    margin: 0 0 10px;
    line-height: 1.3;
    transition: color 0.2s;
}

body.theme-season21-infernal-throne .it21-news__featured:hover .it21-news__featured-title {
    color: var(--it21-gold);
}

body.theme-season21-infernal-throne .it21-news__featured-excerpt {
    font-family: var(--it21-font-body);
    font-size: 0.85rem;
    color: rgba(200,175,150,0.6);
    line-height: 1.65;
    margin: 0 0 18px;
    max-width: 700px;
}

body.theme-season21-infernal-throne .it21-news__featured-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

/* ── Badges ── */
body.theme-season21-infernal-throne .it21-news__badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-family: var(--it21-font-ui);
    font-size: 0.6rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    padding: 3px 10px;
    border-radius: 4px;
}

body.theme-season21-infernal-throne .it21-news__badge--cat {
    background: rgba(255,138,56,0.1);
    color: var(--it21-gold);
    border: 1px solid rgba(255,138,56,0.15);
}

body.theme-season21-infernal-throne .it21-news__badge--pin {
    background: rgba(255,60,20,0.12);
    color: #ff6a3a;
    border: 1px solid rgba(255,60,20,0.2);
}

/* ── Date ── */
body.theme-season21-infernal-throne .it21-news__date {
    font-family: var(--it21-font-ui);
    font-size: 0.7rem;
    font-weight: 600;
    color: rgba(200,175,150,0.45);
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

body.theme-season21-infernal-throne .it21-news__date i {
    font-size: 0.78rem;
    color: rgba(255,138,56,0.4);
}

/* ── Read CTA ── */
body.theme-season21-infernal-throne .it21-news__read-cta {
    font-family: var(--it21-font-ui);
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--it21-gold);
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: color 0.2s, gap 0.2s;
}

body.theme-season21-infernal-throne .it21-news__featured:hover .it21-news__read-cta {
    color: #fff;
    gap: 10px;
}

/* ── Section Heading (Archive / Related) ── */
body.theme-season21-infernal-throne .it21-news__section-head {
    padding: 0 4px;
}

body.theme-season21-infernal-throne .it21-news__section-head h2 {
    font-family: var(--it21-font-head);
    font-size: 1.2rem;
    font-weight: 700;
    color: #fff;
    margin: 2px 0 0;
}

/* ── Article Grid ── */
body.theme-season21-infernal-throne .it21-news__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 18px;
}

/* ── Card ── */
body.theme-season21-infernal-throne .it21-news__card {
    display: flex;
    flex-direction: column;
    position: relative;
    background: rgba(20,8,4,0.85);
    border: 1px solid rgba(255,138,56,0.08);
    border-radius: 12px;
    padding: 22px 22px 18px;
    text-decoration: none;
    overflow: hidden;
    transition: border-color 0.3s, box-shadow 0.3s, transform 0.3s;
}

body.theme-season21-infernal-throne .it21-news__card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(255,138,56,0.3), transparent);
    opacity: 0;
    transition: opacity 0.3s;
}

body.theme-season21-infernal-throne .it21-news__card:hover {
    border-color: rgba(255,138,56,0.25);
    box-shadow: 0 6px 24px rgba(255,80,0,0.08), 0 2px 8px rgba(0,0,0,0.3);
    transform: translateY(-2px);
}

body.theme-season21-infernal-throne .it21-news__card:hover::before {
    opacity: 1;
}

body.theme-season21-infernal-throne .it21-news__card-top {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    flex-wrap: wrap;
}

body.theme-season21-infernal-throne .it21-news__card-date {
    font-family: var(--it21-font-ui);
    font-size: 0.65rem;
    font-weight: 600;
    color: rgba(200,175,150,0.4);
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

body.theme-season21-infernal-throne .it21-news__card-date i {
    font-size: 0.72rem;
    color: rgba(255,138,56,0.3);
}

body.theme-season21-infernal-throne .it21-news__card-title {
    font-family: var(--it21-font-head);
    font-size: 1rem;
    font-weight: 700;
    color: #fff;
    margin: 0 0 8px;
    line-height: 1.35;
    transition: color 0.2s;
}

body.theme-season21-infernal-throne .it21-news__card:hover .it21-news__card-title {
    color: var(--it21-gold);
}

body.theme-season21-infernal-throne .it21-news__card-excerpt {
    font-family: var(--it21-font-body);
    font-size: 0.82rem;
    color: rgba(200,175,150,0.55);
    line-height: 1.6;
    margin: 0;
    flex: 1;
}

body.theme-season21-infernal-throne .it21-news__card-footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid rgba(255,138,56,0.06);
}

body.theme-season21-infernal-throne .it21-news__card-read {
    font-family: var(--it21-font-ui);
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--it21-gold);
    opacity: 0.5;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    transition: opacity 0.25s, gap 0.25s;
}

body.theme-season21-infernal-throne .it21-news__card:hover .it21-news__card-read {
    opacity: 1;
    gap: 8px;
}

/* ── Pagination ── */
body.theme-season21-infernal-throne .it21-news__pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 8px 0;
}

body.theme-season21-infernal-throne .it21-news__page-btn {
    font-family: var(--it21-font-ui);
    font-size: 0.72rem;
    font-weight: 700;
    min-width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 8px;
    border-radius: 6px;
    border: 1px solid rgba(255,138,56,0.1);
    background: rgba(20,8,4,0.6);
    color: rgba(200,175,150,0.6);
    text-decoration: none;
    transition: background 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s;
}

body.theme-season21-infernal-throne .it21-news__page-btn:hover {
    background: rgba(255,138,56,0.08);
    border-color: rgba(255,138,56,0.25);
    color: var(--it21-gold);
}

body.theme-season21-infernal-throne .it21-news__page-btn.is-active {
    background: linear-gradient(135deg, rgba(255,100,20,0.2), rgba(255,138,56,0.12));
    border-color: rgba(255,138,56,0.35);
    color: var(--it21-gold);
    box-shadow: 0 0 12px rgba(255,80,0,0.15);
}

body.theme-season21-infernal-throne .it21-news__page-btn.is-dots {
    border-color: transparent;
    background: transparent;
    cursor: default;
    color: rgba(200,175,150,0.3);
}

/* ═══════════════════════════════════════════════════════════
   ARTICLE SINGLE PAGE
   ═══════════════════════════════════════════════════════════ */

/* ── Article wrapper ── */
body.theme-season21-infernal-throne .it21-article {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

/* ── Back nav ── */
body.theme-season21-infernal-throne .it21-article__nav {
    padding: 0 4px;
}

body.theme-season21-infernal-throne .it21-article__back {
    font-family: var(--it21-font-ui);
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: rgba(200,175,150,0.5);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: color 0.2s, gap 0.2s;
}

body.theme-season21-infernal-throne .it21-article__back:hover {
    color: var(--it21-gold);
    gap: 8px;
}

body.theme-season21-infernal-throne .it21-article__back i {
    font-size: 0.85rem;
    transition: transform 0.2s;
}

body.theme-season21-infernal-throne .it21-article__back:hover i {
    transform: translateX(-3px);
}

/* ── Article header ── */
body.theme-season21-infernal-throne .it21-article__header {
    position: relative;
    background: rgba(20,8,4,0.96);
    border: 1px solid rgba(255,138,56,0.12);
    border-radius: 14px;
    padding: 32px 30px 28px;
    overflow: hidden;
}

body.theme-season21-infernal-throne .it21-article__header::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--it21-fire), var(--it21-gold), var(--it21-fire), transparent);
}

body.theme-season21-infernal-throne .it21-article__header-glow {
    position: absolute;
    top: -40px; left: 50%;
    transform: translateX(-50%);
    width: 280px;
    height: 70px;
    background: radial-gradient(ellipse, rgba(255,100,20,0.1) 0%, transparent 70%);
    pointer-events: none;
}

body.theme-season21-infernal-throne .it21-article__header-inner {
    position: relative;
    z-index: 1;
}

body.theme-season21-infernal-throne .it21-article__badges {
    display: flex;
    gap: 8px;
    margin-bottom: 14px;
}

body.theme-season21-infernal-throne .it21-article__title {
    font-family: var(--it21-font-head);
    font-size: 1.6rem;
    font-weight: 800;
    color: #fff;
    margin: 0 0 14px;
    line-height: 1.25;
}

body.theme-season21-infernal-throne .it21-article__meta {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

body.theme-season21-infernal-throne .it21-article__meta-item {
    font-family: var(--it21-font-ui);
    font-size: 0.7rem;
    font-weight: 600;
    color: rgba(200,175,150,0.5);
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

body.theme-season21-infernal-throne .it21-article__meta-item i {
    font-size: 0.82rem;
    color: rgba(255,138,56,0.4);
}

body.theme-season21-infernal-throne .it21-article__meta-sep {
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: rgba(255,138,56,0.25);
}

/* ── Article body / prose ── */
body.theme-season21-infernal-throne .it21-article__body {
    background: rgba(20,8,4,0.85);
    border: 1px solid rgba(255,138,56,0.08);
    border-radius: 12px;
    padding: 32px 30px;
}

body.theme-season21-infernal-throne .it21-article__prose {
    font-family: var(--it21-font-body);
    font-size: 0.9rem;
    color: rgba(230,210,190,0.8);
    line-height: 1.8;
}

body.theme-season21-infernal-throne .it21-article__prose p {
    margin: 0 0 16px;
}

body.theme-season21-infernal-throne .it21-article__prose h2,
body.theme-season21-infernal-throne .it21-article__prose h3 {
    font-family: var(--it21-font-head);
    color: #fff;
    margin: 28px 0 12px;
}

body.theme-season21-infernal-throne .it21-article__prose h2 {
    font-size: 1.2rem;
}

body.theme-season21-infernal-throne .it21-article__prose h3 {
    font-size: 1rem;
}

body.theme-season21-infernal-throne .it21-article__prose a {
    color: var(--it21-gold);
    text-decoration: underline;
    text-decoration-color: rgba(255,138,56,0.3);
    text-underline-offset: 2px;
    transition: color 0.2s, text-decoration-color 0.2s;
}

body.theme-season21-infernal-throne .it21-article__prose a:hover {
    color: #fff;
    text-decoration-color: var(--it21-gold);
}

body.theme-season21-infernal-throne .it21-article__prose strong,
body.theme-season21-infernal-throne .it21-article__prose b {
    color: #fff;
    font-weight: 700;
}

body.theme-season21-infernal-throne .it21-article__prose ul,
body.theme-season21-infernal-throne .it21-article__prose ol {
    margin: 0 0 16px;
    padding-left: 22px;
}

body.theme-season21-infernal-throne .it21-article__prose li {
    margin-bottom: 6px;
}

body.theme-season21-infernal-throne .it21-article__prose blockquote {
    border-left: 3px solid rgba(255,138,56,0.3);
    padding: 12px 18px;
    margin: 16px 0;
    background: rgba(255,138,56,0.04);
    border-radius: 0 8px 8px 0;
    color: rgba(230,210,190,0.7);
    font-style: italic;
}

body.theme-season21-infernal-throne .it21-article__prose pre {
    background: rgba(0,0,0,0.4);
    border: 1px solid rgba(255,138,56,0.08);
    border-radius: 8px;
    padding: 16px;
    overflow-x: auto;
    margin: 16px 0;
    font-size: 0.82rem;
}

body.theme-season21-infernal-throne .it21-article__prose code {
    font-size: 0.84em;
    background: rgba(255,138,56,0.06);
    padding: 2px 6px;
    border-radius: 4px;
    color: var(--it21-gold);
}

body.theme-season21-infernal-throne .it21-article__prose pre code {
    background: none;
    padding: 0;
    color: inherit;
}

body.theme-season21-infernal-throne .it21-article__prose hr {
    border: none;
    height: 1px;
    background: rgba(255,138,56,0.1);
    margin: 24px 0;
}

body.theme-season21-infernal-throne .it21-article__prose table {
    width: 100%;
    border-collapse: collapse;
    margin: 16px 0;
    font-size: 0.84rem;
}

body.theme-season21-infernal-throne .it21-article__prose th,
body.theme-season21-infernal-throne .it21-article__prose td {
    padding: 8px 12px;
    border: 1px solid rgba(255,138,56,0.08);
    text-align: left;
}

body.theme-season21-infernal-throne .it21-article__prose th {
    background: rgba(255,138,56,0.06);
    color: var(--it21-gold);
    font-family: var(--it21-font-ui);
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

body.theme-season21-infernal-throne .it21-article__prose img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    margin: 16px 0;
}

/* ── Article footer / share ── */
body.theme-season21-infernal-throne .it21-article__footer {
    background: rgba(20,8,4,0.7);
    border: 1px solid rgba(255,138,56,0.08);
    border-radius: 10px;
    padding: 18px 22px;
}

body.theme-season21-infernal-throne .it21-article__share {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}

body.theme-season21-infernal-throne .it21-article__share-label {
    font-family: var(--it21-font-ui);
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: rgba(200,175,150,0.5);
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

body.theme-season21-infernal-throne .it21-article__share-label i {
    font-size: 0.9rem;
    color: rgba(255,138,56,0.4);
}

body.theme-season21-infernal-throne .it21-article__share-btns {
    display: flex;
    gap: 8px;
}

body.theme-season21-infernal-throne .it21-article__share-btn {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    border: 1px solid rgba(255,138,56,0.1);
    background: rgba(20,8,4,0.8);
    color: rgba(200,175,150,0.5);
    font-size: 0.9rem;
    cursor: pointer;
    text-decoration: none;
    transition: background 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s;
}

body.theme-season21-infernal-throne .it21-article__share-btn:hover {
    background: rgba(255,138,56,0.08);
    border-color: rgba(255,138,56,0.3);
    color: var(--it21-gold);
    box-shadow: 0 0 12px rgba(255,80,0,0.1);
}

/* ── News pages responsive ── */
@media (max-width: 640px) {
    body.theme-season21-infernal-throne .it21-news__header {
        padding: 24px 18px 20px;
    }

    body.theme-season21-infernal-throne .it21-news__title {
        font-size: 1.3rem;
    }

    body.theme-season21-infernal-throne .it21-news__grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    body.theme-season21-infernal-throne .it21-news__featured {
        padding: 22px 18px 20px;
    }

    body.theme-season21-infernal-throne .it21-news__featured-title {
        font-size: 1.1rem;
    }

    body.theme-season21-infernal-throne .it21-news__featured-footer {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    body.theme-season21-infernal-throne .it21-article__header {
        padding: 22px 18px 20px;
    }

    body.theme-season21-infernal-throne .it21-article__title {
        font-size: 1.2rem;
    }

    body.theme-season21-infernal-throne .it21-article__body {
        padding: 22px 18px;
    }

    body.theme-season21-infernal-throne .it21-article__meta {
        gap: 8px;
    }
}

/* ═══════════════════════════════════════════════════════════
   DATABASE PAGES — Common
   ═══════════════════════════════════════════════════════════ */

/* page-db wrapper */
body.theme-season21-infernal-throne .page-db {
    color: #e8dcc8;
}

/* page-header */
body.theme-season21-infernal-throne .page-header {
    margin-bottom: 20px;
}

body.theme-season21-infernal-throne .page-header h1 {
    font-family: var(--it21-font-head);
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--it21-gold);
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 4px;
    text-shadow: 0 0 12px rgba(255,138,56,0.25);
}

body.theme-season21-infernal-throne .page-header h1 i {
    font-size: 1.3rem;
    color: var(--it21-ember);
}

body.theme-season21-infernal-throne .page-sub {
    font-family: var(--it21-font-ui);
    font-size: 0.82rem;
    color: rgba(255,200,140,0.5);
    margin: 0;
}

body.theme-season21-infernal-throne .text-gold {
    color: var(--it21-gold);
}

/* glass-panel inside db */
body.theme-season21-infernal-throne .df21-content-embed .glass-panel {
    background: rgba(20,8,4,0.85);
    border: 1px solid rgba(255,138,56,0.12);
    border-radius: 10px;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

/* ── Filters ── */
body.theme-season21-infernal-throne .db-filters {
    padding: 14px 16px;
    margin-bottom: 16px;
}

body.theme-season21-infernal-throne .db-filter-form {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

body.theme-season21-infernal-throne .db-filter-group {
    flex: 1;
    min-width: 140px;
}

body.theme-season21-infernal-throne .db-search-input,
body.theme-season21-infernal-throne .db-select {
    width: 100%;
    padding: 9px 12px;
    border-radius: 6px;
    border: 1px solid rgba(255,138,56,0.15);
    background: rgba(10,4,2,0.7);
    color: #e8dcc8;
    font-family: var(--it21-font-ui);
    font-size: 0.82rem;
    outline: none;
    transition: border-color 0.2s, box-shadow 0.2s;
}

body.theme-season21-infernal-throne .db-search-input:focus,
body.theme-season21-infernal-throne .db-select:focus {
    border-color: rgba(255,138,56,0.4);
    box-shadow: 0 0 8px rgba(255,100,20,0.15);
}

body.theme-season21-infernal-throne .db-select option {
    background: #1a0a04;
    color: #e8dcc8;
}

body.theme-season21-infernal-throne .db-input-sm {
    max-width: 120px;
}

/* search/gold buttons inside db pages */
body.theme-season21-infernal-throne .page-db .btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 9px 16px;
    border-radius: 6px;
    font-family: var(--it21-font-ui);
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    border: none;
    cursor: pointer;
    transition: all 0.25s;
}

body.theme-season21-infernal-throne .page-db .btn-gold {
    background: linear-gradient(135deg, #a0621a, var(--it21-gold));
    color: #fff;
    box-shadow: 0 2px 10px rgba(255,138,56,0.18);
}

body.theme-season21-infernal-throne .page-db .btn-gold:hover {
    box-shadow: 0 4px 18px rgba(255,138,56,0.35);
    transform: translateY(-1px);
}

body.theme-season21-infernal-throne .page-db .btn-sm {
    padding: 8px 14px;
    font-size: 0.74rem;
}

/* result count */
body.theme-season21-infernal-throne .db-result-count {
    font-family: var(--it21-font-ui);
    font-size: 0.78rem;
    color: rgba(255,200,140,0.4);
    margin: 10px 0 14px;
}

/* empty/note */
body.theme-season21-infernal-throne .db-empty {
    text-align: center;
    padding: 48px 20px;
    color: rgba(255,200,140,0.3);
}

body.theme-season21-infernal-throne .db-empty i {
    font-size: 2.5rem;
    display: block;
    margin-bottom: 10px;
    color: rgba(255,138,56,0.2);
}

body.theme-season21-infernal-throne .db-empty p {
    margin: 0;
    font-size: 0.88rem;
}

body.theme-season21-infernal-throne .db-note {
    font-size: 0.78rem;
    color: rgba(255,200,140,0.35);
    text-align: center;
    margin-top: 12px;
    font-style: italic;
}

body.theme-season21-infernal-throne .db-dim {
    font-size: 0.82rem;
    color: rgba(255,200,140,0.35);
}

/* badges */
body.theme-season21-infernal-throne .db-cat-tag {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 4px;
    background: rgba(255,138,56,0.1);
    color: var(--it21-gold);
    font-family: var(--it21-font-ui);
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

body.theme-season21-infernal-throne .db-badge {
    display: inline-block;
    padding: 2px 6px;
    border-radius: 3px;
    font-family: var(--it21-font-ui);
    font-size: 0.6rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

body.theme-season21-infernal-throne .db-badge-exc {
    background: rgba(168,85,247,0.15);
    color: #c084fc;
}

body.theme-season21-infernal-throne .db-badge-2h {
    background: rgba(59,130,246,0.15);
    color: #60a5fa;
}

/* stat colors */
body.theme-season21-infernal-throne .db-stat-hp { color: #4ade80; }
body.theme-season21-infernal-throne .db-stat-dmg { color: #f87171; }
body.theme-season21-infernal-throne .db-stat-def { color: #60a5fa; }
body.theme-season21-infernal-throne .db-stat-gold { color: var(--it21-gold); font-weight: 600; }

/* breadcrumbs */
body.theme-season21-infernal-throne .breadcrumbs {
    font-family: var(--it21-font-ui);
    font-size: 0.78rem;
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

body.theme-season21-infernal-throne .bc-link {
    color: var(--it21-gold);
    text-decoration: none;
    transition: color 0.2s;
}

body.theme-season21-infernal-throne .bc-link:hover {
    color: var(--it21-ember);
}

body.theme-season21-infernal-throne .bc-sep {
    color: rgba(255,138,56,0.25);
}

body.theme-season21-infernal-throne .bc-current {
    color: rgba(255,200,140,0.6);
}

/* spawn tags */
body.theme-season21-infernal-throne .db-spawn-tag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px;
    border-radius: 5px;
    background: rgba(255,138,56,0.08);
    border: 1px solid rgba(255,138,56,0.12);
    color: var(--it21-gold);
    font-size: 0.75rem;
    font-family: var(--it21-font-ui);
    text-decoration: none;
    transition: background 0.2s, border-color 0.2s;
}

body.theme-season21-infernal-throne .db-spawn-tag:hover {
    background: rgba(255,138,56,0.15);
    border-color: rgba(255,138,56,0.25);
}

body.theme-season21-infernal-throne .db-spawn-npc {
    color: rgba(255,200,140,0.5);
    cursor: default;
}

body.theme-season21-infernal-throne .db-spawn-npc:hover {
    background: rgba(255,138,56,0.08);
}

/* map pill */
body.theme-season21-infernal-throne .db-map-pill {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px;
    border-radius: 20px;
    background: rgba(255,138,56,0.08);
    color: rgba(255,200,140,0.7);
    font-size: 0.72rem;
    font-family: var(--it21-font-ui);
}

/* element badges */
body.theme-season21-infernal-throne .db-element {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 4px;
    font-family: var(--it21-font-ui);
    font-size: 0.62rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

body.theme-season21-infernal-throne .db-el-fire { background: rgba(239,68,68,0.15); color: #fca5a5; }
body.theme-season21-infernal-throne .db-el-water { background: rgba(56,189,248,0.15); color: #7dd3fc; }
body.theme-season21-infernal-throne .db-el-earth { background: rgba(168,162,98,0.15); color: #d6d3a8; }
body.theme-season21-infernal-throne .db-el-wind { background: rgba(74,222,128,0.15); color: #86efac; }
body.theme-season21-infernal-throne .db-el-dark { background: rgba(168,85,247,0.15); color: #c084fc; }
body.theme-season21-infernal-throne .db-el-ice { background: rgba(56,189,248,0.15); color: #7dd3fc; }

/* resistance dots */
body.theme-season21-infernal-throne .db-res {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    font-size: 0.6rem;
    font-weight: 700;
    font-family: var(--it21-font-ui);
}

body.theme-season21-infernal-throne .db-res-fire { background: rgba(239,68,68,0.15); color: #fca5a5; }
body.theme-season21-infernal-throne .db-res-ice { background: rgba(56,189,248,0.15); color: #7dd3fc; }
body.theme-season21-infernal-throne .db-res-light { background: rgba(250,204,21,0.15); color: #fde047; }
body.theme-season21-infernal-throne .db-res-poison { background: rgba(74,222,128,0.15); color: #86efac; }

/* ── Stat grid (detail pages) ── */
body.theme-season21-infernal-throne .db-stat-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 8px;
}

body.theme-season21-infernal-throne .db-stat-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 10px;
    border-radius: 5px;
    background: rgba(255,138,56,0.04);
    border: 1px solid rgba(255,138,56,0.06);
}

body.theme-season21-infernal-throne .db-stat-label {
    font-family: var(--it21-font-ui);
    font-size: 0.72rem;
    color: rgba(255,200,140,0.45);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

body.theme-season21-infernal-throne .db-stat-val {
    font-family: var(--it21-font-ui);
    font-size: 0.82rem;
    font-weight: 700;
    color: #e8dcc8;
}

/* ── Tables ── */
body.theme-season21-infernal-throne .db-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

body.theme-season21-infernal-throne .db-table,
body.theme-season21-infernal-throne .data-table {
    width: 100%;
    border-collapse: collapse;
    font-family: var(--it21-font-ui);
    font-size: 0.78rem;
}

body.theme-season21-infernal-throne .db-table thead th,
body.theme-season21-infernal-throne .data-table thead th {
    padding: 8px 12px;
    text-align: left;
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: rgba(255,200,140,0.45);
    border-bottom: 1px solid rgba(255,138,56,0.12);
    background: rgba(255,138,56,0.04);
}

body.theme-season21-infernal-throne .db-table tbody td,
body.theme-season21-infernal-throne .data-table tbody td {
    padding: 8px 12px;
    border-bottom: 1px solid rgba(255,138,56,0.06);
    color: #e8dcc8;
}

body.theme-season21-infernal-throne .db-table tbody tr:hover,
body.theme-season21-infernal-throne .data-table tbody tr:hover {
    background: rgba(255,138,56,0.05);
}

/* ── Detail card headings ── */
body.theme-season21-infernal-throne .db-detail-card {
    padding: 20px;
}

body.theme-season21-infernal-throne .db-detail-card h3 {
    font-family: var(--it21-font-head);
    font-size: 1rem;
    font-weight: 700;
    color: var(--it21-gold);
    margin: 0 0 14px;
    display: flex;
    align-items: center;
    gap: 6px;
}

body.theme-season21-infernal-throne .db-detail-card h3 i {
    color: var(--it21-ember);
}

/* ── Detail grid ── */
body.theme-season21-infernal-throne .db-detail-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-top: 18px;
}

body.theme-season21-infernal-throne .db-detail-grid > .db-detail-card:last-child {
    grid-column: 1 / -1;
}

/* ── Resistance bars ── */
body.theme-season21-infernal-throne .db-res-bars {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

body.theme-season21-infernal-throne .db-res-bar-row {
    display: flex;
    align-items: center;
    gap: 10px;
}

body.theme-season21-infernal-throne .db-res-bar-label {
    width: 70px;
    font-family: var(--it21-font-ui);
    font-size: 0.72rem;
    color: rgba(255,200,140,0.5);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    flex-shrink: 0;
}

body.theme-season21-infernal-throne .db-res-bar-track {
    flex: 1;
    height: 6px;
    border-radius: 3px;
    background: rgba(255,138,56,0.06);
    overflow: hidden;
}

body.theme-season21-infernal-throne .db-res-bar-fill {
    height: 100%;
    border-radius: 3px;
    transition: width 0.5s ease;
}

body.theme-season21-infernal-throne .db-res-bar-fill.db-res-fire { background: linear-gradient(90deg, #ef4444, #f97316); }
body.theme-season21-infernal-throne .db-res-bar-fill.db-res-ice { background: linear-gradient(90deg, #06b6d4, #38bdf8); }
body.theme-season21-infernal-throne .db-res-bar-fill.db-res-light { background: linear-gradient(90deg, #eab308, #fde047); }
body.theme-season21-infernal-throne .db-res-bar-fill.db-res-poison { background: linear-gradient(90deg, #22c55e, #4ade80); }

body.theme-season21-infernal-throne .db-res-bar-val {
    width: 28px;
    font-family: var(--it21-font-ui);
    font-size: 0.75rem;
    font-weight: 700;
    color: #e8dcc8;
    text-align: right;
}

/* ═══════════════════════════════════════════════════════════
   DATABASE — Items (dbi-*)
   ═══════════════════════════════════════════════════════════ */

/* category pills */
body.theme-season21-infernal-throne .dbi-cat-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 12px;
}

body.theme-season21-infernal-throne .dbi-pill {
    padding: 5px 12px;
    border-radius: 20px;
    font-family: var(--it21-font-ui);
    font-size: 0.72rem;
    font-weight: 600;
    color: rgba(255,200,140,0.55);
    background: rgba(255,138,56,0.06);
    border: 1px solid rgba(255,138,56,0.1);
    text-decoration: none;
    transition: all 0.2s;
}

body.theme-season21-infernal-throne .dbi-pill:hover {
    background: rgba(255,138,56,0.12);
    border-color: rgba(255,138,56,0.2);
    color: var(--it21-gold);
}

body.theme-season21-infernal-throne .dbi-pill.active {
    background: linear-gradient(135deg, rgba(255,138,56,0.2), rgba(255,80,20,0.12));
    border-color: rgba(255,138,56,0.35);
    color: var(--it21-gold);
    box-shadow: 0 0 10px rgba(255,100,20,0.12);
}

/* item grid */
body.theme-season21-infernal-throne .dbi-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 12px;
}

body.theme-season21-infernal-throne .dbi-grid-sm {
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
}

/* item card */
body.theme-season21-infernal-throne .dbi-card {
    padding: 12px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    transition: border-color 0.25s, transform 0.2s, box-shadow 0.25s;
    text-decoration: none;
    color: inherit;
}

body.theme-season21-infernal-throne .dbi-card:hover {
    border-color: rgba(255,138,56,0.3);
    transform: translateY(-2px);
    box-shadow: 0 6px 24px rgba(255,80,20,0.1);
}

body.theme-season21-infernal-throne .dbi-card-link {
    cursor: pointer;
}

body.theme-season21-infernal-throne .dbi-img-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
    background: rgba(255,138,56,0.04);
    border-radius: 6px;
    min-height: 60px;
}

body.theme-season21-infernal-throne .dbi-img {
    max-width: 64px;
    max-height: 64px;
    object-fit: contain;
    image-rendering: pixelated;
    filter: drop-shadow(0 0 4px rgba(255,138,56,0.15));
}

body.theme-season21-infernal-throne .dbi-body {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
}

body.theme-season21-infernal-throne .dbi-name {
    font-family: var(--it21-font-head);
    font-size: 0.82rem;
    font-weight: 700;
    color: #e8dcc8;
    margin: 0;
    line-height: 1.2;
}

body.theme-season21-infernal-throne .dbi-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    align-items: center;
}

body.theme-season21-infernal-throne .dbi-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 2px;
}

body.theme-season21-infernal-throne .dbi-stat {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-family: var(--it21-font-ui);
    font-size: 0.7rem;
    color: rgba(255,200,140,0.6);
}

body.theme-season21-infernal-throne .dbi-stat i {
    font-size: 0.75rem;
}

body.theme-season21-infernal-throne .dbi-stat-def { color: #60a5fa; }
body.theme-season21-infernal-throne .dbi-stat-lvl { color: #fbbf24; }

body.theme-season21-infernal-throne .dbi-reqs {
    font-family: var(--it21-font-ui);
    font-size: 0.65rem;
    color: rgba(255,200,140,0.35);
    margin: 2px 0 0;
}

body.theme-season21-infernal-throne .dbi-classes {
    display: flex;
    flex-wrap: wrap;
    gap: 3px;
    margin-top: auto;
    padding-top: 4px;
}

body.theme-season21-infernal-throne .dbi-class-pip {
    display: inline-block;
    padding: 1px 5px;
    border-radius: 3px;
    background: rgba(255,138,56,0.08);
    font-family: var(--it21-font-ui);
    font-size: 0.58rem;
    font-weight: 700;
    color: rgba(255,200,140,0.5);
    letter-spacing: 0.04em;
}

/* ═══════════════════════════════════════════════════════════
   DATABASE — Monsters (dbm-*)
   ═══════════════════════════════════════════════════════════ */

body.theme-season21-infernal-throne .dbm-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 12px;
}

body.theme-season21-infernal-throne .dbm-card {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px;
    text-decoration: none;
    color: inherit;
    transition: border-color 0.25s, transform 0.2s, box-shadow 0.25s;
}

body.theme-season21-infernal-throne .dbm-card:hover {
    border-color: rgba(255,138,56,0.3);
    transform: translateY(-2px);
    box-shadow: 0 6px 24px rgba(255,80,20,0.1);
}

body.theme-season21-infernal-throne .dbm-icon {
    width: 56px;
    height: 56px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 1px solid;
    position: relative;
    overflow: hidden;
}

body.theme-season21-infernal-throne .dbm-icon i {
    font-size: 1.5rem;
}

body.theme-season21-infernal-throne .dbm-icon--img {
    padding: 0;
}

body.theme-season21-infernal-throne .dbm-mob-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 9px;
}

body.theme-season21-infernal-throne .dbm-elite {
    position: absolute;
    bottom: 2px;
    right: 2px;
    padding: 1px 4px;
    border-radius: 3px;
    background: rgba(239,68,68,0.8);
    color: #fff;
    font-size: 0.5rem;
    font-weight: 700;
    font-family: var(--it21-font-ui);
    text-transform: uppercase;
}

body.theme-season21-infernal-throne .dbm-body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

body.theme-season21-infernal-throne .dbm-name {
    font-family: var(--it21-font-head);
    font-size: 0.85rem;
    font-weight: 700;
    color: #e8dcc8;
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

body.theme-season21-infernal-throne .dbm-meta {
    display: flex;
    align-items: center;
    gap: 6px;
}

body.theme-season21-infernal-throne .dbm-level {
    font-family: var(--it21-font-ui);
    font-size: 0.72rem;
    font-weight: 700;
}

body.theme-season21-infernal-throne .dbm-tier {
    padding: 1px 6px;
    border-radius: 3px;
    font-family: var(--it21-font-ui);
    font-size: 0.58rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

body.theme-season21-infernal-throne .dbm-stats {
    display: flex;
    gap: 10px;
    margin-top: 2px;
}

body.theme-season21-infernal-throne .dbm-stat {
    display: flex;
    flex-direction: column;
}

body.theme-season21-infernal-throne .dbm-stat-label {
    font-family: var(--it21-font-ui);
    font-size: 0.55rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: rgba(255,200,140,0.35);
}

body.theme-season21-infernal-throne .dbm-stat-val {
    font-family: var(--it21-font-ui);
    font-size: 0.72rem;
    font-weight: 700;
}

body.theme-season21-infernal-throne .dbm-res {
    display: flex;
    gap: 4px;
    margin-top: 4px;
}

body.theme-season21-infernal-throne .dbm-arrow {
    flex-shrink: 0;
    font-size: 0.9rem;
    color: rgba(255,138,56,0.25);
    transition: color 0.2s, transform 0.2s;
}

body.theme-season21-infernal-throne .dbm-card:hover .dbm-arrow {
    color: var(--it21-gold);
    transform: translateX(3px);
}

/* ═══════════════════════════════════════════════════════════
   DATABASE — Monster Detail (dbmd-*)
   ═══════════════════════════════════════════════════════════ */

body.theme-season21-infernal-throne .dbmd-hero {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 20px;
    margin-bottom: 4px;
}

body.theme-season21-infernal-throne .dbmd-icon-wrap {
    width: 88px;
    height: 88px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 2px solid;
    position: relative;
    overflow: hidden;
}

body.theme-season21-infernal-throne .dbmd-icon-wrap i {
    font-size: 2.5rem;
}

body.theme-season21-infernal-throne .dbmd-icon-wrap--img {
    padding: 0;
}

body.theme-season21-infernal-throne .dbmd-mob-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 12px;
}

body.theme-season21-infernal-throne .dbmd-elite-badge {
    position: absolute;
    top: 4px;
    right: 4px;
    padding: 2px 6px;
    border-radius: 4px;
    background: rgba(239,68,68,0.85);
    color: #fff;
    font-family: var(--it21-font-ui);
    font-size: 0.6rem;
    font-weight: 700;
}

body.theme-season21-infernal-throne .dbmd-hero-info {
    flex: 1;
    min-width: 0;
}

body.theme-season21-infernal-throne .dbmd-title {
    font-family: var(--it21-font-head);
    font-size: 1.4rem;
    font-weight: 700;
    color: #e8dcc8;
    margin: 0 0 4px;
}

body.theme-season21-infernal-throne .dbmd-hero-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
}

body.theme-season21-infernal-throne .dbmd-level {
    font-family: var(--it21-font-ui);
    font-size: 0.82rem;
    font-weight: 700;
}

body.theme-season21-infernal-throne .dbmd-tier-badge {
    padding: 2px 8px;
    border-radius: 4px;
    font-family: var(--it21-font-ui);
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

body.theme-season21-infernal-throne .dbmd-quick-stats {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

body.theme-season21-infernal-throne .dbmd-qs {
    display: flex;
    flex-direction: column;
    align-items: center;
}

body.theme-season21-infernal-throne .dbmd-qs-val {
    font-family: var(--it21-font-ui);
    font-size: 1rem;
    font-weight: 800;
}

body.theme-season21-infernal-throne .dbmd-qs-lbl {
    font-family: var(--it21-font-ui);
    font-size: 0.6rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: rgba(255,200,140,0.4);
}

/* spawn list */
body.theme-season21-infernal-throne .db-spawn-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

/* drops grid */
body.theme-season21-infernal-throne .dbmd-drops-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
    gap: 8px;
    max-height: 300px;
    overflow: hidden;
    transition: max-height 0.4s ease;
}

body.theme-season21-infernal-throne .dbmd-drops-grid.is-expanded {
    max-height: none;
}

body.theme-season21-infernal-throne .dbmd-drop-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 8px;
    border-radius: 6px;
    background: rgba(255,138,56,0.04);
    border: 1px solid rgba(255,138,56,0.08);
    text-decoration: none;
    color: inherit;
    transition: background 0.2s, border-color 0.2s;
}

body.theme-season21-infernal-throne .dbmd-drop-card:hover {
    background: rgba(255,138,56,0.1);
    border-color: rgba(255,138,56,0.2);
}

body.theme-season21-infernal-throne .dbmd-drop-img {
    width: 36px;
    height: 36px;
    object-fit: contain;
    image-rendering: pixelated;
    filter: drop-shadow(0 0 3px rgba(255,138,56,0.12));
}

body.theme-season21-infernal-throne .dbmd-drop-name {
    font-family: var(--it21-font-ui);
    font-size: 0.65rem;
    color: rgba(255,200,140,0.7);
    text-align: center;
    line-height: 1.2;
}

body.theme-season21-infernal-throne .dbmd-drop-badge {
    padding: 1px 6px;
    border-radius: 3px;
    font-family: var(--it21-font-ui);
    font-size: 0.55rem;
    font-weight: 700;
}

body.theme-season21-infernal-throne .dbmd-drops-toggle {
    display: none;
    width: 100%;
    padding: 8px;
    margin-top: 8px;
    border-radius: 6px;
    background: rgba(255,138,56,0.06);
    border: 1px solid rgba(255,138,56,0.1);
    color: var(--it21-gold);
    font-family: var(--it21-font-ui);
    font-size: 0.75rem;
    cursor: pointer;
    text-align: center;
    transition: background 0.2s;
}

body.theme-season21-infernal-throne .dbmd-drops-toggle.is-visible {
    display: block;
}

body.theme-season21-infernal-throne .dbmd-drops-toggle:hover {
    background: rgba(255,138,56,0.12);
}

/* ═══════════════════════════════════════════════════════════
   DATABASE — Drop Finder (dbdr-*)
   ═══════════════════════════════════════════════════════════ */

body.theme-season21-infernal-throne .dbdr-hero {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px;
    margin-bottom: 16px;
}

body.theme-season21-infernal-throne .dbdr-hero-img-wrap {
    width: 64px;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px;
    background: rgba(255,138,56,0.06);
    border-radius: 8px;
    flex-shrink: 0;
}

body.theme-season21-infernal-throne .dbdr-hero-img {
    max-width: 48px;
    max-height: 48px;
    object-fit: contain;
    image-rendering: pixelated;
    filter: drop-shadow(0 0 4px rgba(255,138,56,0.2));
}

body.theme-season21-infernal-throne .dbdr-hero-info {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

body.theme-season21-infernal-throne .dbdr-hero-name {
    font-family: var(--it21-font-head);
    font-size: 1.2rem;
    font-weight: 700;
    color: #e8dcc8;
    margin: 0;
    width: 100%;
}

/* source list */
body.theme-season21-infernal-throne .dbdr-src-list {
    display: flex;
    flex-direction: column;
    gap: 6px;
    max-height: 450px;
    overflow: hidden;
    transition: max-height 0.4s ease;
}

body.theme-season21-infernal-throne .dbdr-src-list.is-expanded {
    max-height: none;
}

body.theme-season21-infernal-throne .dbdr-src-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    border-radius: 6px;
    background: rgba(20,8,4,0.7);
    border: 1px solid rgba(255,138,56,0.08);
    text-decoration: none;
    color: inherit;
    transition: background 0.2s, border-color 0.2s;
}

body.theme-season21-infernal-throne .dbdr-src-row:hover {
    background: rgba(255,138,56,0.06);
    border-color: rgba(255,138,56,0.18);
}

body.theme-season21-infernal-throne .dbdr-src-icon {
    width: 32px;
    height: 32px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 0.9rem;
}

body.theme-season21-infernal-throne .dbdr-src-name {
    flex: 1;
    min-width: 0;
    font-family: var(--it21-font-ui);
    font-size: 0.82rem;
    font-weight: 600;
    color: #e8dcc8;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

body.theme-season21-infernal-throne .dbdr-src-lvl {
    padding: 2px 8px;
    border-radius: 4px;
    font-family: var(--it21-font-ui);
    font-size: 0.68rem;
    font-weight: 700;
    flex-shrink: 0;
}

body.theme-season21-infernal-throne .dbdr-src-stat {
    font-family: var(--it21-font-ui);
    font-size: 0.72rem;
    color: rgba(255,200,140,0.45);
    flex-shrink: 0;
}

body.theme-season21-infernal-throne .dbdr-src-stat b {
    color: #e8dcc8;
}

body.theme-season21-infernal-throne .dbdr-src-arrow {
    flex-shrink: 0;
    font-size: 0.85rem;
    color: rgba(255,138,56,0.2);
    transition: color 0.2s, transform 0.2s;
}

body.theme-season21-infernal-throne .dbdr-src-row:hover .dbdr-src-arrow {
    color: var(--it21-gold);
    transform: translateX(3px);
}

body.theme-season21-infernal-throne .dbdr-src-toggle {
    display: none;
    width: 100%;
    padding: 8px;
    margin-top: 8px;
    border-radius: 6px;
    background: rgba(255,138,56,0.06);
    border: 1px solid rgba(255,138,56,0.1);
    color: var(--it21-gold);
    font-family: var(--it21-font-ui);
    font-size: 0.75rem;
    cursor: pointer;
    text-align: center;
    transition: background 0.2s;
}

body.theme-season21-infernal-throne .dbdr-src-toggle.is-visible {
    display: block;
}

body.theme-season21-infernal-throne .dbdr-src-toggle:hover {
    background: rgba(255,138,56,0.12);
}

/* ═══════════════════════════════════════════════════════════
   DATABASE — Maps (dbma-*)
   ═══════════════════════════════════════════════════════════ */

body.theme-season21-infernal-throne .dbma-detail {
    padding: 20px;
    margin-bottom: 18px;
}

body.theme-season21-infernal-throne .dbma-detail-header {
    display: flex;
    align-items: center;
    gap: 14px;
}

body.theme-season21-infernal-throne .dbma-detail-icon {
    width: 48px;
    height: 48px;
    border-radius: 10px;
    background: rgba(255,138,56,0.1);
    border: 1px solid rgba(255,138,56,0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3rem;
    color: var(--it21-gold);
    flex-shrink: 0;
}

body.theme-season21-infernal-throne .dbma-detail-title {
    font-family: var(--it21-font-head);
    font-size: 1.2rem;
    font-weight: 700;
    color: #e8dcc8;
    margin: 0 0 6px;
}

body.theme-season21-infernal-throne .dbma-detail-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

body.theme-season21-infernal-throne .dbma-monster-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 10px;
}

body.theme-season21-infernal-throne .dbma-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 10px;
}

body.theme-season21-infernal-throne .dbma-card {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    text-decoration: none;
    color: inherit;
    transition: border-color 0.25s, transform 0.2s;
}

body.theme-season21-infernal-throne .dbma-card:hover {
    border-color: rgba(255,138,56,0.3);
    transform: translateY(-1px);
}

body.theme-season21-infernal-throne .dbma-active {
    border-color: rgba(255,138,56,0.35);
    box-shadow: 0 0 12px rgba(255,100,20,0.1);
}

body.theme-season21-infernal-throne .dbma-card-icon {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: rgba(255,138,56,0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--it21-gold);
    font-size: 1rem;
}

body.theme-season21-infernal-throne .dbma-card-body {
    flex: 1;
    min-width: 0;
}

body.theme-season21-infernal-throne .dbma-card-name {
    font-family: var(--it21-font-head);
    font-size: 0.82rem;
    font-weight: 700;
    color: #e8dcc8;
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

body.theme-season21-infernal-throne .dbma-card-info {
    display: flex;
    gap: 8px;
    margin-top: 2px;
}

body.theme-season21-infernal-throne .dbma-card-lvl,
body.theme-season21-infernal-throne .dbma-card-cost,
body.theme-season21-infernal-throne .dbma-card-vip {
    font-family: var(--it21-font-ui);
    font-size: 0.65rem;
    color: rgba(255,200,140,0.5);
    display: inline-flex;
    align-items: center;
    gap: 3px;
}

body.theme-season21-infernal-throne .dbma-card-vip {
    color: #fbbf24;
}

body.theme-season21-infernal-throne .dbma-arrow {
    flex-shrink: 0;
    font-size: 0.85rem;
    color: rgba(255,138,56,0.2);
    transition: color 0.2s, transform 0.2s;
}

body.theme-season21-infernal-throne .dbma-card:hover .dbma-arrow {
    color: var(--it21-gold);
    transform: translateX(3px);
}

/* ═══════════════════════════════════════════════════════════
   DATABASE — NPC Shops (dbs-*)
   ═══════════════════════════════════════════════════════════ */

body.theme-season21-infernal-throne .db-shop-layout {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 16px;
    align-items: start;
}

body.theme-season21-infernal-throne .db-shop-sidebar {
    padding: 14px;
    position: sticky;
    top: 80px;
}

body.theme-season21-infernal-throne .db-shop-sidebar h3 {
    font-family: var(--it21-font-head);
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--it21-gold);
    margin: 0 0 10px;
    display: flex;
    align-items: center;
    gap: 5px;
}

body.theme-season21-infernal-throne .db-shop-list {
    display: flex;
    flex-direction: column;
    gap: 3px;
    max-height: 500px;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(255,138,56,0.2) transparent;
}

body.theme-season21-infernal-throne .db-shop-link {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 7px 10px;
    border-radius: 5px;
    font-family: var(--it21-font-ui);
    font-size: 0.75rem;
    color: rgba(255,200,140,0.6);
    text-decoration: none;
    transition: background 0.2s, color 0.2s;
}

body.theme-season21-infernal-throne .db-shop-link:hover {
    background: rgba(255,138,56,0.08);
    color: var(--it21-gold);
}

body.theme-season21-infernal-throne .db-shop-link.active {
    background: rgba(255,138,56,0.12);
    color: var(--it21-gold);
    border-left: 2px solid var(--it21-fire);
}

body.theme-season21-infernal-throne .db-shop-id {
    margin-left: auto;
    font-size: 0.6rem;
    color: rgba(255,200,140,0.25);
}

body.theme-season21-infernal-throne .db-shop-content {
    min-width: 0;
}

body.theme-season21-infernal-throne .dbs-tab-heading {
    font-family: var(--it21-font-head);
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--it21-ember);
    margin: 18px 0 10px;
    padding-bottom: 6px;
    border-bottom: 1px solid rgba(255,138,56,0.1);
}

body.theme-season21-infernal-throne .dbs-item-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 8px;
}

body.theme-season21-infernal-throne .dbs-item-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 10px 8px;
    border-radius: 6px;
    background: rgba(255,138,56,0.04);
    border: 1px solid rgba(255,138,56,0.06);
    transition: background 0.2s, border-color 0.2s;
}

body.theme-season21-infernal-throne .dbs-item-card:hover {
    background: rgba(255,138,56,0.08);
    border-color: rgba(255,138,56,0.18);
}

body.theme-season21-infernal-throne .dbs-item-img-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
}

body.theme-season21-infernal-throne .dbs-item-img {
    max-width: 40px;
    max-height: 40px;
    object-fit: contain;
    image-rendering: pixelated;
    filter: drop-shadow(0 0 3px rgba(255,138,56,0.1));
}

body.theme-season21-infernal-throne .dbs-item-info {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    text-align: center;
}

body.theme-season21-infernal-throne .dbs-item-name {
    font-family: var(--it21-font-ui);
    font-size: 0.72rem;
    font-weight: 600;
    color: #e8dcc8;
    line-height: 1.2;
}

body.theme-season21-infernal-throne .dbs-item-lvl {
    font-family: var(--it21-font-ui);
    font-size: 0.65rem;
    color: #fbbf24;
    font-weight: 700;
}

/* ═══════════════════════════════════════════════════════════
   DATABASE — Class Shops  (it21-cs__*)
   ═══════════════════════════════════════════════════════════ */

/* ── Class Selector Strip ── */
body.theme-season21-infernal-throne .it21-cs {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
body.theme-season21-infernal-throne .it21-cs__selector {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: center;
}
body.theme-season21-infernal-throne .it21-cs__avatar {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 10px 8px 8px;
    border-radius: var(--it21-radius-sm);
    border: 1px solid var(--it21-line);
    background: var(--it21-panel-strong);
    text-decoration: none;
    color: inherit;
    width: 82px;
    transition: border-color .25s, transform .2s, box-shadow .25s;
}
body.theme-season21-infernal-throne .it21-cs__avatar:hover {
    border-color: var(--it21-gold-soft);
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(255,80,20,.1);
}
body.theme-season21-infernal-throne .it21-cs__avatar--on {
    border-color: var(--it21-gold);
    box-shadow: 0 0 18px rgba(255,100,20,.18), inset 0 0 12px rgba(255,100,20,.06);
}
body.theme-season21-infernal-throne .it21-cs__avatar-img {
    width: 48px;
    height: 48px;
    object-fit: contain;
    filter: drop-shadow(0 0 6px rgba(255,138,56,.15));
}
body.theme-season21-infernal-throne .it21-cs__avatar-name {
    font: 700 .68rem var(--it21-font-head);
    color: var(--it21-text);
    text-align: center;
    line-height: 1.15;
}
body.theme-season21-infernal-throne .it21-cs__avatar-role {
    font: 400 .56rem var(--it21-font-ui);
    color: var(--it21-text-dim);
    text-align: center;
}

/* ── Class Profile ── */
body.theme-season21-infernal-throne .it21-cs__profile {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 18px 20px;
    border-radius: var(--it21-radius);
    background: var(--it21-panel-strong);
    border: 1px solid var(--it21-line);
}
body.theme-season21-infernal-throne .it21-cs__portrait {
    width: 72px;
    height: 72px;
    flex-shrink: 0;
}
body.theme-season21-infernal-throne .it21-cs__portrait-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: drop-shadow(0 0 10px rgba(255,138,56,.2));
}
body.theme-season21-infernal-throne .it21-cs__identity {
    flex: 1;
    min-width: 0;
}
body.theme-season21-infernal-throne .it21-cs__class-name {
    font: 700 1.25rem var(--it21-font-head);
    color: var(--it21-gold);
    margin: 0;
    text-shadow: 0 0 10px rgba(255,138,56,.2);
}
body.theme-season21-infernal-throne .it21-cs__class-role {
    font: 400 .78rem var(--it21-font-ui);
    color: var(--it21-text-dim);
}
body.theme-season21-infernal-throne .it21-cs__counters {
    display: flex;
    gap: 18px;
    flex-shrink: 0;
}
body.theme-season21-infernal-throne .it21-cs__counter {
    display: flex;
    flex-direction: column;
    align-items: center;
}
body.theme-season21-infernal-throne .it21-cs__counter-val {
    font: 800 1.1rem var(--it21-font-ui);
    color: var(--it21-gold);
}
body.theme-season21-infernal-throne .it21-cs__counter-lbl {
    font: 500 .56rem var(--it21-font-ui);
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--it21-text-dim);
}

/* ── Tabs ── */
body.theme-season21-infernal-throne .it21-cs__tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 3px;
    border-bottom: 1px solid var(--it21-line);
    padding-bottom: 0;
}
body.theme-season21-infernal-throne .it21-cs__tab {
    padding: 9px 16px;
    border-radius: 6px 6px 0 0;
    font: 600 .78rem var(--it21-font-ui);
    color: var(--it21-text-dim);
    background: transparent;
    border: 1px solid transparent;
    border-bottom: none;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    transition: color .2s, background .2s;
    user-select: none;
}
body.theme-season21-infernal-throne .it21-cs__tab:hover {
    color: var(--it21-gold);
    background: rgba(255,138,56,.05);
}
body.theme-season21-infernal-throne .it21-cs__tab--on {
    color: var(--it21-gold);
    background: rgba(255,138,56,.08);
    border-color: var(--it21-line);
    border-bottom: 2px solid var(--it21-fire);
    margin-bottom: -1px;
}

/* ── Panels ── */
body.theme-season21-infernal-throne .it21-cs__panel {
    display: none;
}
body.theme-season21-infernal-throne .it21-cs__panel--on {
    display: block;
}

/* ── Group heading ── */
body.theme-season21-infernal-throne .it21-cs__group {
    font: 700 .85rem var(--it21-font-head);
    color: var(--it21-ember);
    margin: 16px 0 8px;
    padding-bottom: 5px;
    border-bottom: 1px solid rgba(255,138,56,.08);
}

/* ── Item Rows ── */
body.theme-season21-infernal-throne .it21-cs__rows {
    display: flex;
    flex-direction: column;
    gap: 3px;
}
body.theme-season21-infernal-throne .it21-cs__row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 7px 12px;
    border-radius: var(--it21-radius-sm);
    background: var(--it21-panel-strong);
    border: 1px solid var(--it21-line);
    transition: border-color .2s, background .2s;
}
body.theme-season21-infernal-throne .it21-cs__row:hover {
    border-color: var(--it21-gold-soft);
    background: rgba(255,138,56,.04);
}
body.theme-season21-infernal-throne .it21-cs__row--shared {
    border-left: 2px solid rgba(96,160,240,.3);
}
body.theme-season21-infernal-throne .it21-cs__row-img {
    width: 38px;
    height: 38px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0,0,0,.2);
    border-radius: 5px;
}
body.theme-season21-infernal-throne .it21-cs__row-img img {
    max-width: 32px;
    max-height: 32px;
    object-fit: contain;
    image-rendering: pixelated;
}
body.theme-season21-infernal-throne .it21-cs__row-info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 1px;
}
body.theme-season21-infernal-throne .it21-cs__row-name {
    font: 600 .82rem var(--it21-font-ui);
    color: var(--it21-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
body.theme-season21-infernal-throne .it21-cs__row-cat {
    font: 400 .68rem var(--it21-font-ui);
    color: var(--it21-text-dim);
}
body.theme-season21-infernal-throne .it21-cs__row-cat em {
    color: #fbbf24;
    font-style: normal;
    font-weight: 700;
}

/* Stats & Price */
body.theme-season21-infernal-throne .it21-cs__stat {
    flex-shrink: 0;
    font: 500 .78rem var(--it21-font-ui);
    color: var(--it21-text-soft);
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 4px;
}
body.theme-season21-infernal-throne .it21-cs__stat--dmg { color: #f06040; }
body.theme-season21-infernal-throne .it21-cs__stat--def { color: #60a0f0; }
body.theme-season21-infernal-throne .it21-cs__stat--lvl { color: var(--it21-gold); }

body.theme-season21-infernal-throne .it21-cs__price {
    flex-shrink: 0;
    font: 700 .82rem var(--it21-font-ui);
    color: var(--it21-gold);
    display: flex;
    align-items: center;
    gap: 4px;
}

/* ── Filter bar (All Equipment tab) ── */
body.theme-season21-infernal-throne .it21-cs__filter {
    display: flex;
    gap: 10px;
    margin-bottom: 12px;
}
body.theme-season21-infernal-throne .it21-cs__filter-input,
body.theme-season21-infernal-throne .it21-cs__filter-select {
    padding: 8px 12px;
    border-radius: var(--it21-radius-sm);
    border: 1px solid var(--it21-line);
    background: var(--it21-panel-strong);
    color: var(--it21-text);
    font: 400 .82rem var(--it21-font-ui);
    outline: none;
    transition: border-color .2s;
}
body.theme-season21-infernal-throne .it21-cs__filter-input {
    flex: 1;
}
body.theme-season21-infernal-throne .it21-cs__filter-input:focus,
body.theme-season21-infernal-throne .it21-cs__filter-select:focus {
    border-color: var(--it21-gold);
}
body.theme-season21-infernal-throne .it21-cs__filter-select option {
    background: #1a0a04;
}

/* ── Empty State ── */
body.theme-season21-infernal-throne .it21-cs__empty {
    text-align: center;
    padding: 36px 20px;
    color: var(--it21-text-dim);
    font: 400 .88rem var(--it21-font-ui);
}
body.theme-season21-infernal-throne .it21-cs__empty i {
    font-size: 2rem;
    display: block;
    margin-bottom: 10px;
    opacity: .35;
}
body.theme-season21-infernal-throne .it21-cs__empty--big {
    padding: 56px 20px;
}
body.theme-season21-infernal-throne .it21-cs__empty--big i {
    font-size: 2.8rem;
}

/* ── Responsive ── */
@media (max-width: 900px) {
    body.theme-season21-infernal-throne .it21-cs__profile {
        flex-wrap: wrap;
    }
    body.theme-season21-infernal-throne .it21-cs__counters {
        width: 100%;
        justify-content: space-around;
        margin-top: 6px;
    }
}
@media (max-width: 600px) {
    body.theme-season21-infernal-throne .it21-cs__avatar {
        width: 68px;
        padding: 8px 4px 6px;
    }
    body.theme-season21-infernal-throne .it21-cs__avatar-img {
        width: 38px;
        height: 38px;
    }
    body.theme-season21-infernal-throne .it21-cs__avatar-name {
        font-size: .6rem;
    }
    body.theme-season21-infernal-throne .it21-cs__avatar-role {
        display: none;
    }
    body.theme-season21-infernal-throne .it21-cs__tabs {
        gap: 2px;
    }
    body.theme-season21-infernal-throne .it21-cs__tab {
        padding: 7px 10px;
        font-size: .72rem;
    }
    body.theme-season21-infernal-throne .it21-cs__row {
        flex-wrap: wrap;
        gap: 6px;
    }
    body.theme-season21-infernal-throne .it21-cs__filter {
        flex-direction: column;
    }
}

/* ═══════════════════════════════════════════════════════════
   DATABASE — Skills (dbsk-*)
   ═══════════════════════════════════════════════════════════ */

body.theme-season21-infernal-throne .dbsk-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 12px;
}

body.theme-season21-infernal-throne .dbsk-card {
    display: flex;
    gap: 12px;
    padding: 12px;
    transition: border-color 0.25s, transform 0.2s;
}

body.theme-season21-infernal-throne .dbsk-card:hover {
    border-color: rgba(255,138,56,0.25);
    transform: translateY(-1px);
}

body.theme-season21-infernal-throne .dbsk-icon {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 1.3rem;
}

body.theme-season21-infernal-throne .dbsk-body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

body.theme-season21-infernal-throne .dbsk-name {
    font-family: var(--it21-font-head);
    font-size: 0.85rem;
    font-weight: 700;
    color: #e8dcc8;
    margin: 0;
}

body.theme-season21-infernal-throne .dbsk-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

body.theme-season21-infernal-throne .dbsk-stat {
    display: flex;
    flex-direction: column;
}

body.theme-season21-infernal-throne .dbsk-stat-lbl {
    font-family: var(--it21-font-ui);
    font-size: 0.52rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: rgba(255,200,140,0.35);
}

body.theme-season21-infernal-throne .dbsk-stat-val {
    font-family: var(--it21-font-ui);
    font-size: 0.72rem;
    font-weight: 700;
}

body.theme-season21-infernal-throne .dbsk-reqs {
    font-family: var(--it21-font-ui);
    font-size: 0.62rem;
    color: rgba(255,200,140,0.3);
    margin: 2px 0 0;
}

/* ═══════════════════════════════════════════════════════════
   DATABASE — Events (db-event-*, db-evt-*)
   ═══════════════════════════════════════════════════════════ */

body.theme-season21-infernal-throne .db-event-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 16px;
}

body.theme-season21-infernal-throne .db-evt-tab {
    padding: 7px 14px;
    border-radius: 20px;
    font-family: var(--it21-font-ui);
    font-size: 0.72rem;
    font-weight: 600;
    color: rgba(255,200,140,0.5);
    background: rgba(255,138,56,0.06);
    border: 1px solid rgba(255,138,56,0.1);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    transition: all 0.2s;
}

body.theme-season21-infernal-throne .db-evt-tab:hover {
    background: rgba(255,138,56,0.1);
    color: var(--it21-gold);
}

body.theme-season21-infernal-throne .db-evt-tab.active {
    background: linear-gradient(135deg, rgba(255,138,56,0.18), rgba(255,80,20,0.1));
    border-color: rgba(255,138,56,0.35);
    color: var(--it21-gold);
}

body.theme-season21-infernal-throne .db-events-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
    gap: 12px;
}

body.theme-season21-infernal-throne .db-event-card {
    padding: 14px;
    display: flex;
    gap: 12px;
    transition: border-color 0.25s, opacity 0.2s;
}

body.theme-season21-infernal-throne .db-evt-disabled {
    opacity: 0.5;
}

body.theme-season21-infernal-throne .db-evt-icon {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: rgba(255,138,56,0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 1.2rem;
    color: var(--it21-gold);
}

body.theme-season21-infernal-throne .db-evt-body {
    flex: 1;
    min-width: 0;
}

body.theme-season21-infernal-throne .db-evt-body h3 {
    font-family: var(--it21-font-head);
    font-size: 0.92rem;
    font-weight: 700;
    color: #e8dcc8;
    margin: 0 0 4px;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

body.theme-season21-infernal-throne .db-evt-status {
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 0.6rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    display: inline-flex;
    align-items: center;
    gap: 3px;
}

body.theme-season21-infernal-throne .db-evt-on {
    background: rgba(34,197,94,0.15);
    color: #4ade80;
}

body.theme-season21-infernal-throne .db-evt-off {
    background: rgba(239,68,68,0.12);
    color: #f87171;
}

body.theme-season21-infernal-throne .db-evt-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 6px;
}

body.theme-season21-infernal-throne .db-evt-type {
    padding: 2px 8px;
    border-radius: 4px;
    font-family: var(--it21-font-ui);
    font-size: 0.62rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

body.theme-season21-infernal-throne .db-evt-type-pve { background: rgba(34,197,94,0.12); color: #4ade80; }
body.theme-season21-infernal-throne .db-evt-type-pvp { background: rgba(239,68,68,0.12); color: #f87171; }
body.theme-season21-infernal-throne .db-evt-type-gvg { background: rgba(168,85,247,0.12); color: #c084fc; }
body.theme-season21-infernal-throne .db-evt-type-fun { background: rgba(56,189,248,0.12); color: #7dd3fc; }

body.theme-season21-infernal-throne .db-evt-levels,
body.theme-season21-infernal-throne .db-evt-party,
body.theme-season21-infernal-throne .db-evt-solo {
    font-family: var(--it21-font-ui);
    font-size: 0.65rem;
    color: rgba(255,200,140,0.45);
    display: inline-flex;
    align-items: center;
    gap: 3px;
}

body.theme-season21-infernal-throne .db-evt-desc {
    font-family: var(--it21-font-body);
    font-size: 0.78rem;
    color: rgba(255,200,140,0.5);
    line-height: 1.45;
    margin: 0 0 6px;
}

body.theme-season21-infernal-throne .db-evt-schedule {
    font-family: var(--it21-font-ui);
    font-size: 0.68rem;
    color: rgba(255,200,140,0.4);
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    align-items: center;
}

body.theme-season21-infernal-throne .db-evt-sched-label {
    font-weight: 600;
    color: rgba(255,200,140,0.55);
    display: inline-flex;
    align-items: center;
    gap: 3px;
}

body.theme-season21-infernal-throne .db-evt-sep {
    color: rgba(255,138,56,0.2);
}

body.theme-season21-infernal-throne .db-evt-more {
    padding: 1px 6px;
    border-radius: 3px;
    background: rgba(255,138,56,0.08);
    color: var(--it21-gold);
    font-size: 0.6rem;
}

/* ═══════════════════════════════════════════════════════════
   DATABASE — Rates (dbrt-*)
   ═══════════════════════════════════════════════════════════ */

body.theme-season21-infernal-throne .dbrt-hero {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 12px;
    margin-bottom: 10px;
}

body.theme-season21-infernal-throne .dbrt-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 18px 12px;
    text-align: center;
    transition: border-color 0.25s, transform 0.2s;
}

body.theme-season21-infernal-throne .dbrt-card:hover {
    border-color: rgba(255,138,56,0.3);
    transform: translateY(-2px);
}

body.theme-season21-infernal-throne .dbrt-icon {
    font-size: 1.5rem;
}

body.theme-season21-infernal-throne .dbrt-val {
    font-family: var(--it21-font-head);
    font-size: 1.4rem;
    font-weight: 800;
    color: #e8dcc8;
}

body.theme-season21-infernal-throne .dbrt-lbl {
    font-family: var(--it21-font-ui);
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: rgba(255,200,140,0.4);
}

/* ═══════════════════════════════════════════════════════════
   DATABASE — Progression (dbprog-*)
   ═══════════════════════════════════════════════════════════ */

body.theme-season21-infernal-throne .dbprog-hero {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 12px;
    margin-bottom: 20px;
}

body.theme-season21-infernal-throne .dbprog-hero-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 18px 12px;
    text-align: center;
    transition: border-color 0.25s, transform 0.2s;
}

body.theme-season21-infernal-throne .dbprog-hero-card:hover {
    border-color: rgba(255,138,56,0.3);
    transform: translateY(-2px);
}

body.theme-season21-infernal-throne .dbprog-hero-icon {
    font-size: 1.5rem;
}

body.theme-season21-infernal-throne .dbprog-hero-val {
    font-family: var(--it21-font-head);
    font-size: 1.4rem;
    font-weight: 800;
    color: #e8dcc8;
}

body.theme-season21-infernal-throne .dbprog-hero-lbl {
    font-family: var(--it21-font-ui);
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: rgba(255,200,140,0.4);
}

body.theme-season21-infernal-throne .dbprog-cost-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 8px;
}

body.theme-season21-infernal-throne .dbprog-cost-card {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 10px 12px;
    border-radius: 6px;
    background: rgba(255,138,56,0.04);
    border: 1px solid rgba(255,138,56,0.08);
}

body.theme-season21-infernal-throne .dbprog-cost-range {
    font-family: var(--it21-font-ui);
    font-size: 0.68rem;
    color: rgba(255,200,140,0.45);
}

body.theme-season21-infernal-throne .dbprog-cost-val {
    font-family: var(--it21-font-ui);
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--it21-gold);
}

body.theme-season21-infernal-throne .dbprog-cost-val small {
    font-size: 0.65rem;
    color: rgba(255,200,140,0.4);
    font-weight: 400;
}

/* daily rewards */
body.theme-season21-infernal-throne .db-daily-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: 8px;
}

body.theme-season21-infernal-throne .db-daily-card {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 10px;
    border-radius: 6px;
    background: rgba(255,138,56,0.04);
    border: 1px solid rgba(255,138,56,0.08);
    text-align: center;
}

body.theme-season21-infernal-throne .db-daily-weekly {
    font-family: var(--it21-font-ui);
    font-size: 0.58rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #c084fc;
    font-weight: 700;
}

body.theme-season21-infernal-throne .db-daily-day {
    font-family: var(--it21-font-head);
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--it21-gold);
}

body.theme-season21-infernal-throne .db-daily-items {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

body.theme-season21-infernal-throne .db-daily-item {
    font-family: var(--it21-font-ui);
    font-size: 0.65rem;
    color: rgba(255,200,140,0.6);
}

/* ═══════════════════════════════════════════════════════════
   SUPPORT PAGES
   ═══════════════════════════════════════════════════════════ */

/* page-faq wrapper */
body.theme-season21-infernal-throne .page-faq {
    color: #e8dcc8;
}

body.theme-season21-infernal-throne .page-heading {
    margin-bottom: 20px;
}

body.theme-season21-infernal-throne .page-kicker {
    display: block;
    font-family: var(--it21-font-ui);
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--it21-fire);
    margin-bottom: 4px;
}

body.theme-season21-infernal-throne .page-heading h1 {
    font-family: var(--it21-font-head);
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--it21-gold);
    margin: 0 0 6px;
}

body.theme-season21-infernal-throne .page-heading p {
    font-family: var(--it21-font-ui);
    font-size: 0.82rem;
    color: rgba(255,200,140,0.45);
    margin: 0;
}

/* flash messages */
body.theme-season21-infernal-throne .flash {
    padding: 10px 14px;
    border-radius: 6px;
    font-family: var(--it21-font-ui);
    font-size: 0.82rem;
    margin-bottom: 12px;
}

body.theme-season21-infernal-throne .flash-error {
    background: rgba(239,68,68,0.1);
    border: 1px solid rgba(239,68,68,0.2);
    color: #fca5a5;
}

body.theme-season21-infernal-throne .flash-success {
    background: rgba(34,197,94,0.1);
    border: 1px solid rgba(34,197,94,0.2);
    color: #86efac;
}

body.theme-season21-infernal-throne .flash-info {
    background: rgba(56,189,248,0.1);
    border: 1px solid rgba(56,189,248,0.2);
    color: #7dd3fc;
}

/* auth form (support tickets) */
body.theme-season21-infernal-throne .df21-content-embed .auth-form {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

body.theme-season21-infernal-throne .df21-content-embed .form-group {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

body.theme-season21-infernal-throne .df21-content-embed .form-group label {
    font-family: var(--it21-font-ui);
    font-size: 0.75rem;
    font-weight: 600;
    color: rgba(255,200,140,0.6);
    display: flex;
    align-items: center;
    gap: 5px;
}

body.theme-season21-infernal-throne .df21-content-embed .form-group input[type="text"],
body.theme-season21-infernal-throne .df21-content-embed .form-group input[type="password"],
body.theme-season21-infernal-throne .df21-content-embed .form-group input[type="file"],
body.theme-season21-infernal-throne .df21-content-embed .form-group select,
body.theme-season21-infernal-throne .df21-content-embed .form-group textarea {
    padding: 9px 12px;
    border-radius: 6px;
    border: 1px solid rgba(255,138,56,0.15);
    background: rgba(10,4,2,0.7);
    color: #e8dcc8;
    font-family: var(--it21-font-ui);
    font-size: 0.82rem;
    outline: none;
    transition: border-color 0.2s;
}

body.theme-season21-infernal-throne .df21-content-embed .form-group input:focus,
body.theme-season21-infernal-throne .df21-content-embed .form-group select:focus,
body.theme-season21-infernal-throne .df21-content-embed .form-group textarea:focus {
    border-color: rgba(255,138,56,0.4);
    box-shadow: 0 0 8px rgba(255,100,20,0.12);
}

body.theme-season21-infernal-throne .df21-content-embed .form-group textarea {
    min-height: 120px;
    resize: vertical;
}

body.theme-season21-infernal-throne .auth-actions {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
}

body.theme-season21-infernal-throne .df21-content-embed .btn-outline {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 9px 16px;
    border-radius: 6px;
    border: 1px solid rgba(255,138,56,0.2);
    background: transparent;
    color: var(--it21-gold);
    font-family: var(--it21-font-ui);
    font-size: 0.78rem;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    transition: all 0.2s;
}

body.theme-season21-infernal-throne .df21-content-embed .btn-outline:hover {
    background: rgba(255,138,56,0.08);
    border-color: rgba(255,138,56,0.35);
}

/* faq-a (ticket message content) */
body.theme-season21-infernal-throne .faq-a {
    font-family: var(--it21-font-body);
    font-size: 0.85rem;
    line-height: 1.55;
    color: rgba(255,200,140,0.7);
}

body.theme-season21-infernal-throne .faq-a a {
    color: var(--it21-gold);
}

/* rankings-table in support */
body.theme-season21-infernal-throne .df21-content-embed .rankings-table {
    width: 100%;
    border-collapse: collapse;
    font-family: var(--it21-font-ui);
    font-size: 0.78rem;
}

body.theme-season21-infernal-throne .df21-content-embed .rankings-table th {
    padding: 6px 10px;
    text-align: left;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: rgba(255,200,140,0.4);
    border-bottom: 1px solid rgba(255,138,56,0.1);
    font-weight: 600;
}

body.theme-season21-infernal-throne .df21-content-embed .rankings-table td {
    padding: 6px 10px;
    border-bottom: 1px solid rgba(255,138,56,0.06);
    color: #e8dcc8;
}

body.theme-season21-infernal-throne .df21-content-embed .rankings-table a {
    color: var(--it21-gold);
    text-decoration: none;
}

body.theme-season21-infernal-throne .df21-content-embed .rankings-table a:hover {
    color: var(--it21-ember);
}

body.theme-season21-infernal-throne .df21-content-embed .rankings-table tbody tr:hover {
    background: rgba(255,138,56,0.04);
}

/* page-auth (support login) */
body.theme-season21-infernal-throne .page-auth {
    display: flex;
    justify-content: center;
    padding: 20px 0;
}

body.theme-season21-infernal-throne .auth-card {
    width: 100%;
    max-width: 380px;
    padding: 28px;
    border-radius: 12px;
    background: rgba(20,8,4,0.9);
    border: 1px solid rgba(255,138,56,0.15);
    backdrop-filter: blur(12px);
}

body.theme-season21-infernal-throne .auth-header {
    text-align: center;
    margin-bottom: 20px;
}

body.theme-season21-infernal-throne .auth-logo {
    width: 64px;
    height: auto;
    margin-bottom: 10px;
    filter: drop-shadow(0 0 8px rgba(255,138,56,0.2));
}

body.theme-season21-infernal-throne .auth-header h1 {
    font-family: var(--it21-font-head);
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--it21-gold);
    margin: 0 0 4px;
}

body.theme-season21-infernal-throne .auth-sub {
    font-family: var(--it21-font-ui);
    font-size: 0.78rem;
    color: rgba(255,200,140,0.4);
    margin: 0;
}

body.theme-season21-infernal-throne .btn-block {
    width: 100%;
    justify-content: center;
}

body.theme-season21-infernal-throne .auth-forgot,
body.theme-season21-infernal-throne .auth-link {
    text-align: center;
    font-family: var(--it21-font-ui);
    font-size: 0.75rem;
    color: rgba(255,200,140,0.4);
    margin-top: 10px;
}

body.theme-season21-infernal-throne .auth-forgot a,
body.theme-season21-infernal-throne .auth-link a {
    color: var(--it21-gold);
    text-decoration: none;
}

body.theme-season21-infernal-throne .auth-forgot a:hover,
body.theme-season21-infernal-throne .auth-link a:hover {
    color: var(--it21-ember);
}

/* ═══════════════════════════════════════════════════════════
   SUPPORT DESK — Full redesign (it21-support)
   ═══════════════════════════════════════════════════════════ */

/* ── Section wrapper ── */
body.theme-season21-infernal-throne .it21-support {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

/* ── Support Nav ── */
body.theme-season21-infernal-throne .it21-support-nav {
    display: flex;
    gap: 4px;
    background: rgba(15,6,3,0.6);
    border: 1px solid rgba(255,138,56,0.08);
    border-radius: 10px;
    padding: 4px;
}

body.theme-season21-infernal-throne .it21-support-nav__link {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 10px 16px;
    border-radius: 8px;
    font-family: var(--it21-font-ui);
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: rgba(200,175,150,0.5);
    text-decoration: none;
    transition: background 0.25s, color 0.25s, box-shadow 0.25s;
}

body.theme-season21-infernal-throne .it21-support-nav__link i {
    font-size: 0.85rem;
}

body.theme-season21-infernal-throne .it21-support-nav__link:hover {
    background: rgba(255,138,56,0.06);
    color: rgba(200,175,150,0.8);
}

body.theme-season21-infernal-throne .it21-support-nav__link.is-active {
    background: linear-gradient(135deg, rgba(255,100,20,0.15), rgba(255,138,56,0.08));
    color: var(--it21-gold);
    box-shadow: 0 0 12px rgba(255,80,0,0.1);
}

/* ── Page Header ── */
body.theme-season21-infernal-throne .it21-support__header {
    position: relative;
    background: rgba(20,8,4,0.96);
    border: 1px solid rgba(255,138,56,0.12);
    border-radius: 14px;
    padding: 36px 32px 30px;
    overflow: hidden;
}

body.theme-season21-infernal-throne .it21-support__header::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--it21-fire), var(--it21-gold), var(--it21-fire), transparent);
}

body.theme-season21-infernal-throne .it21-support__header-glow {
    position: absolute;
    top: -40px; left: 50%;
    transform: translateX(-50%);
    width: 320px;
    height: 80px;
    background: radial-gradient(ellipse, rgba(255,100,20,0.12) 0%, transparent 70%);
    pointer-events: none;
}

body.theme-season21-infernal-throne .it21-support__header-inner {
    position: relative;
    z-index: 1;
}

body.theme-season21-infernal-throne .it21-support__kicker {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--it21-font-ui);
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: var(--it21-gold);
    margin-bottom: 6px;
}

body.theme-season21-infernal-throne .it21-support__kicker i {
    font-size: 0.8rem;
}

body.theme-season21-infernal-throne .it21-support__title {
    font-family: var(--it21-font-head);
    font-size: 1.6rem;
    font-weight: 800;
    color: #fff;
    margin: 4px 0 8px;
    line-height: 1.2;
}

body.theme-season21-infernal-throne .it21-support__subtitle {
    font-family: var(--it21-font-body);
    font-size: 0.85rem;
    color: rgba(200,175,150,0.55);
    line-height: 1.5;
    margin: 0 0 14px;
    max-width: 560px;
}

body.theme-season21-infernal-throne .it21-support__stats-row {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

body.theme-season21-infernal-throne .it21-support__stat {
    font-family: var(--it21-font-ui);
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: rgba(200,175,150,0.45);
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

body.theme-season21-infernal-throne .it21-support__stat strong {
    color: #fff;
    font-size: 0.8rem;
}

body.theme-season21-infernal-throne .it21-support__stat-sep {
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: rgba(255,138,56,0.3);
}

/* ── Flash messages ── */
body.theme-season21-infernal-throne .it21-support__flash {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 18px;
    border-radius: 10px;
    font-family: var(--it21-font-body);
    font-size: 0.84rem;
    line-height: 1.4;
}

body.theme-season21-infernal-throne .it21-support__flash i {
    font-size: 1.1rem;
    flex-shrink: 0;
}

body.theme-season21-infernal-throne .it21-support__flash--error {
    background: rgba(200,40,20,0.1);
    border: 1px solid rgba(255,80,60,0.2);
    color: #ff9080;
}

body.theme-season21-infernal-throne .it21-support__flash--success {
    background: rgba(40,180,80,0.08);
    border: 1px solid rgba(60,200,100,0.2);
    color: #7fd898;
}

/* ── Info cards row ── */
body.theme-season21-infernal-throne .it21-support__info-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}

body.theme-season21-infernal-throne .it21-support__info-card {
    background: rgba(20,8,4,0.8);
    border: 1px solid rgba(255,138,56,0.08);
    border-radius: 12px;
    padding: 22px 20px;
    text-align: center;
    transition: border-color 0.25s, box-shadow 0.25s;
}

body.theme-season21-infernal-throne .it21-support__info-card:hover {
    border-color: rgba(255,138,56,0.2);
    box-shadow: 0 4px 16px rgba(255,80,0,0.06);
}

body.theme-season21-infernal-throne .it21-support__info-card i {
    font-size: 1.6rem;
    color: var(--it21-gold);
    margin-bottom: 10px;
    display: block;
    opacity: 0.7;
}

body.theme-season21-infernal-throne .it21-support__info-card h3 {
    font-family: var(--it21-font-head);
    font-size: 0.95rem;
    font-weight: 700;
    color: #fff;
    margin: 0 0 6px;
}

body.theme-season21-infernal-throne .it21-support__info-card p {
    font-family: var(--it21-font-body);
    font-size: 0.78rem;
    color: rgba(200,175,150,0.5);
    line-height: 1.5;
    margin: 0;
}

/* ── Split layout ── */
body.theme-season21-infernal-throne .it21-support__split {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 20px;
    align-items: start;
}

/* ── Panel (card) ── */
body.theme-season21-infernal-throne .it21-support__panel {
    background: rgba(20,8,4,0.9);
    border: 1px solid rgba(255,138,56,0.1);
    border-radius: 12px;
    padding: 24px 24px 22px;
    position: relative;
    overflow: hidden;
}

body.theme-season21-infernal-throne .it21-support__panel::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(255,138,56,0.25), transparent);
}

body.theme-season21-infernal-throne .it21-support__panel--main {
    grid-column: 1;
}

body.theme-season21-infernal-throne .it21-support__panel-head {
    margin-bottom: 18px;
}

body.theme-season21-infernal-throne .it21-support__panel-head h2 {
    font-family: var(--it21-font-head);
    font-size: 1.1rem;
    font-weight: 700;
    color: #fff;
    margin: 2px 0 0;
}

/* ── Sidebar ── */
body.theme-season21-infernal-throne .it21-support__sidebar {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* ── Empty state ── */
body.theme-season21-infernal-throne .it21-support__empty {
    text-align: center;
    padding: 40px 20px;
    font-family: var(--it21-font-body);
    font-size: 0.85rem;
    color: rgba(200,175,150,0.45);
}

body.theme-season21-infernal-throne .it21-support__empty i {
    font-size: 1.8rem;
    color: rgba(255,138,56,0.18);
    display: block;
    margin-bottom: 8px;
}

/* ── Checklist ── */
body.theme-season21-infernal-throne .it21-support__checklist {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

body.theme-season21-infernal-throne .it21-support__check-item {
    display: flex;
    gap: 12px;
    align-items: flex-start;
}

body.theme-season21-infernal-throne .it21-support__check-item > i {
    font-size: 1.1rem;
    color: var(--it21-gold);
    opacity: 0.6;
    margin-top: 2px;
    flex-shrink: 0;
}

body.theme-season21-infernal-throne .it21-support__check-item strong {
    display: block;
    font-family: var(--it21-font-ui);
    font-size: 0.78rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 2px;
}

body.theme-season21-infernal-throne .it21-support__check-item span {
    font-family: var(--it21-font-body);
    font-size: 0.76rem;
    color: rgba(200,175,150,0.5);
    line-height: 1.45;
}

/* ── Department list ── */
body.theme-season21-infernal-throne .it21-support__dept-list {
    display: flex;
    flex-direction: column;
    gap: 0;
}

body.theme-season21-infernal-throne .it21-support__dept-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 0;
    border-bottom: 1px solid rgba(255,138,56,0.06);
}

body.theme-season21-infernal-throne .it21-support__dept-item:last-child {
    border-bottom: none;
}

body.theme-season21-infernal-throne .it21-support__dept-name {
    font-family: var(--it21-font-ui);
    font-size: 0.76rem;
    font-weight: 700;
    color: rgba(230,210,190,0.8);
}

body.theme-season21-infernal-throne .it21-support__dept-cost {
    font-family: var(--it21-font-ui);
    font-size: 0.68rem;
    font-weight: 600;
    color: var(--it21-gold);
    opacity: 0.7;
}

/* ── Form ── */
body.theme-season21-infernal-throne .it21-support__form {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

body.theme-season21-infernal-throne .it21-support__field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

body.theme-season21-infernal-throne .it21-support__field label {
    font-family: var(--it21-font-ui);
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: rgba(200,175,150,0.6);
}

body.theme-season21-infernal-throne .it21-support__field input,
body.theme-season21-infernal-throne .it21-support__field select,
body.theme-season21-infernal-throne .it21-support__field textarea {
    width: 100%;
    padding: 10px 14px;
    background: rgba(10,4,2,0.6);
    border: 1px solid rgba(255,138,56,0.1);
    border-radius: 8px;
    font-family: var(--it21-font-body);
    font-size: 0.84rem;
    color: #e8dcc8;
    transition: border-color 0.25s, box-shadow 0.25s;
    box-sizing: border-box;
}

body.theme-season21-infernal-throne .it21-support__field input:focus,
body.theme-season21-infernal-throne .it21-support__field select:focus,
body.theme-season21-infernal-throne .it21-support__field textarea:focus {
    outline: none;
    border-color: rgba(255,138,56,0.35);
    box-shadow: 0 0 12px rgba(255,80,0,0.1);
}

body.theme-season21-infernal-throne .it21-support__field input::placeholder,
body.theme-season21-infernal-throne .it21-support__field textarea::placeholder {
    color: rgba(200,175,150,0.3);
}

body.theme-season21-infernal-throne .it21-support__field textarea {
    resize: vertical;
    min-height: 120px;
}

body.theme-season21-infernal-throne .it21-support__field select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23c89660' fill='none' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    padding-right: 34px;
    cursor: pointer;
}

body.theme-season21-infernal-throne .it21-support__field input[type="file"] {
    padding: 8px 12px;
    cursor: pointer;
}

body.theme-season21-infernal-throne .it21-support__field-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

/* ── Submit button ── */
body.theme-season21-infernal-throne .it21-support__submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 28px;
    border: 1px solid rgba(255,138,56,0.25);
    border-radius: 8px;
    background: linear-gradient(135deg, rgba(255,100,20,0.18), rgba(255,138,56,0.1));
    font-family: var(--it21-font-ui);
    font-size: 0.76rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--it21-gold);
    cursor: pointer;
    transition: background 0.25s, border-color 0.25s, box-shadow 0.25s, color 0.25s;
    align-self: flex-start;
}

body.theme-season21-infernal-throne .it21-support__submit:hover {
    background: linear-gradient(135deg, rgba(255,100,20,0.3), rgba(255,138,56,0.18));
    border-color: rgba(255,138,56,0.45);
    box-shadow: 0 0 20px rgba(255,80,0,0.15);
    color: #fff;
}

/* ── Form links ── */
body.theme-season21-infernal-throne .it21-support__form-links {
    display: flex;
    gap: 16px;
    padding-top: 4px;
}

body.theme-season21-infernal-throne .it21-support__form-links a {
    font-family: var(--it21-font-ui);
    font-size: 0.7rem;
    font-weight: 600;
    color: rgba(200,175,150,0.45);
    text-decoration: none;
    transition: color 0.2s;
}

body.theme-season21-infernal-throne .it21-support__form-links a:hover {
    color: var(--it21-gold);
}

/* ── Ticket table ── */
body.theme-season21-infernal-throne .it21-support__ticket-table-wrap {
    overflow-x: auto;
}

body.theme-season21-infernal-throne .it21-support__table {
    width: 100%;
    border-collapse: collapse;
}

body.theme-season21-infernal-throne .it21-support__table thead th {
    font-family: var(--it21-font-ui);
    font-size: 0.62rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--it21-gold);
    padding: 10px 14px;
    text-align: left;
    background: rgba(255,138,56,0.04);
    border-bottom: 1px solid rgba(255,138,56,0.1);
    white-space: nowrap;
}

body.theme-season21-infernal-throne .it21-support__table tbody td {
    font-family: var(--it21-font-body);
    font-size: 0.82rem;
    color: rgba(230,210,190,0.75);
    padding: 12px 14px;
    border-bottom: 1px solid rgba(255,138,56,0.05);
    vertical-align: middle;
}

body.theme-season21-infernal-throne .it21-support__table tbody tr:last-child td {
    border-bottom: none;
}

body.theme-season21-infernal-throne .it21-support__table tbody tr:hover td {
    background: rgba(255,138,56,0.03);
}

body.theme-season21-infernal-throne .it21-support__table-id {
    font-family: var(--it21-font-ui);
    font-weight: 700;
    color: rgba(200,175,150,0.4) !important;
    font-size: 0.75rem !important;
}

body.theme-season21-infernal-throne .it21-support__table-link {
    color: #fff;
    text-decoration: none;
    font-weight: 600;
    transition: color 0.2s;
}

body.theme-season21-infernal-throne .it21-support__table-link:hover {
    color: var(--it21-gold);
}

body.theme-season21-infernal-throne .it21-support__table-date {
    font-size: 0.75rem !important;
    color: rgba(200,175,150,0.45) !important;
    white-space: nowrap;
}

body.theme-season21-infernal-throne .it21-support__table-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 6px;
    border: 1px solid rgba(255,138,56,0.1);
    color: rgba(200,175,150,0.4);
    text-decoration: none;
    transition: background 0.2s, border-color 0.2s, color 0.2s;
}

body.theme-season21-infernal-throne .it21-support__table-action:hover {
    background: rgba(255,138,56,0.08);
    border-color: rgba(255,138,56,0.25);
    color: var(--it21-gold);
}

body.theme-season21-infernal-throne .it21-support__muted {
    color: rgba(200,175,150,0.3);
    font-style: italic;
}

/* ── Status pills ── */
body.theme-season21-infernal-throne .it21-support__status-pill {
    display: inline-block;
    font-family: var(--it21-font-ui);
    font-size: 0.6rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding: 3px 10px;
    border-radius: 4px;
    white-space: nowrap;
}

body.theme-season21-infernal-throne .it21-support__status-pill--open {
    background: rgba(255,180,60,0.1);
    color: #ffb83c;
    border: 1px solid rgba(255,180,60,0.2);
}

body.theme-season21-infernal-throne .it21-support__status-pill--working {
    background: rgba(60,140,255,0.1);
    color: #6da8ff;
    border: 1px solid rgba(60,140,255,0.2);
}

body.theme-season21-infernal-throne .it21-support__status-pill--resolved {
    background: rgba(60,200,100,0.1);
    color: #6fd89a;
    border: 1px solid rgba(60,200,100,0.2);
}

body.theme-season21-infernal-throne .it21-support__status-pill--closed {
    background: rgba(150,130,120,0.1);
    color: rgba(200,175,150,0.5);
    border: 1px solid rgba(150,130,120,0.15);
}

/* ── Priority pills ── */
body.theme-season21-infernal-throne .it21-support__priority-pill {
    display: inline-block;
    font-family: var(--it21-font-ui);
    font-size: 0.6rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding: 3px 10px;
    border-radius: 4px;
    white-space: nowrap;
}

body.theme-season21-infernal-throne .it21-support__priority-pill--low {
    background: rgba(60,200,100,0.08);
    color: #6fd89a;
    border: 1px solid rgba(60,200,100,0.15);
}

body.theme-season21-infernal-throne .it21-support__priority-pill--mid {
    background: rgba(255,180,60,0.08);
    color: #ffb83c;
    border: 1px solid rgba(255,180,60,0.15);
}

body.theme-season21-infernal-throne .it21-support__priority-pill--high {
    background: rgba(255,80,60,0.1);
    color: #ff7060;
    border: 1px solid rgba(255,80,60,0.2);
}

/* ── Ticket body / prose ── */
body.theme-season21-infernal-throne .it21-support__ticket-body {
    font-family: var(--it21-font-body);
    font-size: 0.88rem;
    color: rgba(230,210,190,0.8);
    line-height: 1.75;
}

body.theme-season21-infernal-throne .it21-support__ticket-body p {
    margin: 0 0 14px;
}

/* ── Attachments ── */
body.theme-season21-infernal-throne .it21-support__attachments {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid rgba(255,138,56,0.06);
}

body.theme-season21-infernal-throne .it21-support__attach-label {
    font-family: var(--it21-font-ui);
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: rgba(200,175,150,0.45);
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-right: 4px;
}

body.theme-season21-infernal-throne .it21-support__attach-file {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 5px 12px;
    border: 1px solid rgba(255,138,56,0.1);
    border-radius: 6px;
    background: rgba(255,138,56,0.04);
    font-family: var(--it21-font-ui);
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--it21-gold);
    text-decoration: none;
    transition: background 0.2s, border-color 0.2s;
}

body.theme-season21-infernal-throne .it21-support__attach-file:hover {
    background: rgba(255,138,56,0.1);
    border-color: rgba(255,138,56,0.25);
}

/* ── Meta list ── */
body.theme-season21-infernal-throne .it21-support__meta-list {
    display: flex;
    flex-direction: column;
    gap: 0;
}

body.theme-season21-infernal-throne .it21-support__meta-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 9px 0;
    border-bottom: 1px solid rgba(255,138,56,0.05);
}

body.theme-season21-infernal-throne .it21-support__meta-row:last-child {
    border-bottom: none;
}

body.theme-season21-infernal-throne .it21-support__meta-row > span {
    font-family: var(--it21-font-ui);
    font-size: 0.68rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: rgba(200,175,150,0.4);
}

body.theme-season21-infernal-throne .it21-support__meta-row > strong {
    font-family: var(--it21-font-body);
    font-size: 0.8rem;
    font-weight: 600;
    color: rgba(230,210,190,0.8);
}

/* ── Resolve button ── */
body.theme-season21-infernal-throne .it21-support__resolve-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
    margin-top: 14px;
    padding: 10px 16px;
    border: 1px solid rgba(60,200,100,0.2);
    border-radius: 8px;
    background: rgba(60,200,100,0.06);
    font-family: var(--it21-font-ui);
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #6fd89a;
    cursor: pointer;
    transition: background 0.25s, border-color 0.25s, box-shadow 0.25s;
}

body.theme-season21-infernal-throne .it21-support__resolve-btn:hover {
    background: rgba(60,200,100,0.12);
    border-color: rgba(60,200,100,0.35);
    box-shadow: 0 0 14px rgba(60,200,100,0.1);
}

/* ── Reply thread ── */
body.theme-season21-infernal-throne .it21-support__thread {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

body.theme-season21-infernal-throne .it21-support__reply {
    background: rgba(15,6,3,0.5);
    border: 1px solid rgba(255,138,56,0.06);
    border-radius: 10px;
    padding: 18px 20px;
    border-left: 3px solid rgba(200,175,150,0.15);
}

body.theme-season21-infernal-throne .it21-support__reply--staff {
    border-left-color: var(--it21-gold);
    background: rgba(255,138,56,0.03);
}

body.theme-season21-infernal-throne .it21-support__reply-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
    flex-wrap: wrap;
}

body.theme-season21-infernal-throne .it21-support__reply-author {
    font-family: var(--it21-font-ui);
    font-size: 0.78rem;
    font-weight: 700;
    color: #fff;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

body.theme-season21-infernal-throne .it21-support__reply-author i {
    font-size: 0.9rem;
    color: rgba(255,138,56,0.5);
}

body.theme-season21-infernal-throne .it21-support__reply--staff .it21-support__reply-author i {
    color: var(--it21-gold);
}

body.theme-season21-infernal-throne .it21-support__reply-role {
    font-family: var(--it21-font-ui);
    font-size: 0.58rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding: 2px 8px;
    border-radius: 4px;
}

body.theme-season21-infernal-throne .it21-support__reply-role--player {
    background: rgba(150,130,120,0.1);
    color: rgba(200,175,150,0.5);
    border: 1px solid rgba(150,130,120,0.12);
}

body.theme-season21-infernal-throne .it21-support__reply-role--staff {
    background: rgba(255,138,56,0.1);
    color: var(--it21-gold);
    border: 1px solid rgba(255,138,56,0.2);
}

body.theme-season21-infernal-throne .it21-support__reply-time {
    font-family: var(--it21-font-ui);
    font-size: 0.65rem;
    color: rgba(200,175,150,0.35);
    margin-left: auto;
}

body.theme-season21-infernal-throne .it21-support__reply-body {
    font-family: var(--it21-font-body);
    font-size: 0.85rem;
    color: rgba(230,210,190,0.75);
    line-height: 1.7;
}

body.theme-season21-infernal-throne .it21-support__reply-body p {
    margin: 0 0 10px;
}

/* ── Support pages responsive ── */
@media (max-width: 980px) {
    body.theme-season21-infernal-throne .it21-support__split {
        grid-template-columns: 1fr;
    }

    body.theme-season21-infernal-throne .it21-support__info-row {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    body.theme-season21-infernal-throne .it21-support__header {
        padding: 24px 18px 20px;
    }

    body.theme-season21-infernal-throne .it21-support__title {
        font-size: 1.25rem;
    }

    body.theme-season21-infernal-throne .it21-support__field-row {
        grid-template-columns: 1fr;
    }

    body.theme-season21-infernal-throne .it21-support__panel {
        padding: 18px 16px;
    }

    body.theme-season21-infernal-throne .it21-support-nav {
        flex-direction: column;
    }

    body.theme-season21-infernal-throne .it21-support__reply-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
    }

    body.theme-season21-infernal-throne .it21-support__reply-time {
        margin-left: 0;
    }

    body.theme-season21-infernal-throne .it21-support__table thead th,
    body.theme-season21-infernal-throne .it21-support__table tbody td {
        padding: 8px 10px;
        font-size: 0.75rem;
    }
}

/* ═══════════════════════════════════════════════════════════
   AUTH GATEWAY — Full-screen immersive login/register
   ═══════════════════════════════════════════════════════════ */

/* ── Keyframes ── */
@keyframes it21-ag-pulse {
    0%, 100% { transform: scale(1); opacity: 0.6; }
    50% { transform: scale(1.6); opacity: 0; }
}

@keyframes it21-ag-glow-rotate {
    0% { transform: translate(-50%, -50%) rotate(0deg); }
    100% { transform: translate(-50%, -50%) rotate(360deg); }
}

@keyframes it21-ag-float-1 {
    0%, 100% { transform: translate(0, 0) scale(1); opacity: 0.15; }
    25% { transform: translate(30px, -50px) scale(1.2); opacity: 0.25; }
    50% { transform: translate(-20px, -100px) scale(0.9); opacity: 0.1; }
    75% { transform: translate(40px, -30px) scale(1.1); opacity: 0.2; }
}

@keyframes it21-ag-float-2 {
    0%, 100% { transform: translate(0, 0) scale(1); opacity: 0.1; }
    33% { transform: translate(-40px, -70px) scale(1.3); opacity: 0.22; }
    66% { transform: translate(50px, -40px) scale(0.8); opacity: 0.08; }
}

@keyframes it21-ag-float-3 {
    0%, 100% { transform: translate(0, 0) scale(0.8); opacity: 0.12; }
    40% { transform: translate(60px, -80px) scale(1.4); opacity: 0.2; }
    80% { transform: translate(-30px, -60px) scale(1); opacity: 0.15; }
}

@keyframes it21-ag-heat-shift {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

@keyframes it21-ag-fireline-glow {
    0%, 100% { opacity: 0.5; filter: blur(0px); }
    50% { opacity: 1; filter: blur(1px); }
}

@keyframes it21-ag-wave {
    0%, 100% { height: 4px; }
    50% { height: 16px; }
}

@keyframes it21-ag-fade-up {
    from { opacity: 0; transform: translateY(30px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes it21-ag-scale-in {
    from { opacity: 0; transform: scale(0.92); }
    to { opacity: 1; transform: scale(1); }
}

@keyframes it21-ag-slide-up {
    from { opacity: 0; transform: translateY(15px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes it21-ag-shimmer {
    0% { background-position: -200% center; }
    100% { background-position: 200% center; }
}

@keyframes it21-ag-breathe {
    0%, 100% { box-shadow: 0 0 30px rgba(255,80,20,0.08), 0 0 60px rgba(255,80,20,0.04); }
    50% { box-shadow: 0 0 40px rgba(255,80,20,0.15), 0 0 80px rgba(255,80,20,0.08); }
}

/* ── Base body ── */
.it21-auth-gateway {
    margin: 0;
    padding: 0;
    min-height: 100vh;
    overflow-x: hidden;
    background: #0a0302;
    font-family: 'Barlow Condensed', sans-serif;
    color: #e8dcc8;
    position: relative;
}

/* ── Background layers ── */
.it21-ag-bg {
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
}

.it21-ag-bg__img {
    position: absolute;
    inset: 0;
    background: var(--it21-page-bg) center / cover no-repeat;
    opacity: 0.3;
    filter: saturate(1.3) brightness(0.4);
}

.it21-ag-bg__heat {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(10,3,2,0.2) 0%,
        rgba(80,20,5,0.15) 30%,
        rgba(180,60,10,0.08) 50%,
        rgba(80,20,5,0.15) 70%,
        rgba(10,3,2,0.4) 100%
    );
    background-size: 200% 200%;
    animation: it21-ag-heat-shift 12s ease-in-out infinite;
}

.it21-ag-bg__vignette {
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at center, transparent 30%, rgba(10,3,2,0.85) 100%);
}

/* ── Ember canvas ── */
.it21-ag-embers {
    position: fixed;
    inset: 0;
    z-index: 1;
    pointer-events: none;
}

/* ── Fire orbs ── */
.it21-ag-orbs {
    position: fixed;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    overflow: hidden;
}

.it21-ag-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(60px);
}

.it21-ag-orb--1 {
    width: 200px; height: 200px;
    background: radial-gradient(circle, rgba(255,100,20,0.2), transparent 70%);
    bottom: 10%; left: 5%;
    animation: it21-ag-float-1 18s ease-in-out infinite;
}

.it21-ag-orb--2 {
    width: 160px; height: 160px;
    background: radial-gradient(circle, rgba(255,60,10,0.15), transparent 70%);
    bottom: 20%; right: 10%;
    animation: it21-ag-float-2 22s ease-in-out infinite;
}

.it21-ag-orb--3 {
    width: 240px; height: 240px;
    background: radial-gradient(circle, rgba(200,80,20,0.12), transparent 70%);
    top: 15%; left: 50%;
    animation: it21-ag-float-3 25s ease-in-out infinite;
}

.it21-ag-orb--4 {
    width: 120px; height: 120px;
    background: radial-gradient(circle, rgba(255,138,56,0.18), transparent 65%);
    top: 30%; right: 20%;
    animation: it21-ag-float-1 20s ease-in-out infinite reverse;
}

.it21-ag-orb--5 {
    width: 180px; height: 180px;
    background: radial-gradient(circle, rgba(255,50,10,0.1), transparent 70%);
    bottom: 5%; left: 40%;
    animation: it21-ag-float-2 16s ease-in-out infinite reverse;
}

/* ── Stage layout ── */
.it21-ag-stage {
    position: relative;
    z-index: 2;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 16px;
}

/* ── Top bar ── */
.it21-ag-topbar {
    width: 100%;
    max-width: 900px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 0;
    animation: it21-ag-fade-up 0.6s ease-out both;
}

.it21-ag-home {
    width: 38px; height: 38px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,138,56,0.06);
    border: 1px solid rgba(255,138,56,0.12);
    color: rgba(255,200,140,0.5);
    text-decoration: none;
    font-size: 1.1rem;
    transition: all 0.25s;
    flex-shrink: 0;
}

.it21-ag-home:hover {
    background: rgba(255,138,56,0.12);
    border-color: rgba(255,138,56,0.25);
    color: var(--it21-gold, #d4a04a);
}

.it21-ag-brand {
    flex: 0 0 auto;
}

.it21-ag-brand img {
    height: 32px;
    width: auto;
    filter: drop-shadow(0 0 8px rgba(255,138,56,0.2));
    transition: filter 0.3s;
}

.it21-ag-brand:hover img {
    filter: drop-shadow(0 0 14px rgba(255,138,56,0.35));
}

.it21-ag-topbar-links {
    margin-left: auto;
    display: flex;
    gap: 6px;
}

.it21-ag-topbar-links a {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 7px 12px;
    border-radius: 6px;
    font-size: 0.75rem;
    font-weight: 600;
    color: rgba(255,200,140,0.5);
    text-decoration: none;
    background: rgba(255,138,56,0.04);
    border: 1px solid rgba(255,138,56,0.08);
    transition: all 0.25s;
}

.it21-ag-topbar-links a:hover {
    background: rgba(255,138,56,0.1);
    border-color: rgba(255,138,56,0.2);
    color: var(--it21-gold, #d4a04a);
}

.it21-ag-topbar-links span {
    display: inline;
}

/* ── Flash messages ── */
.it21-ag-flash-wrap {
    width: 100%;
    max-width: 520px;
    margin: 0 auto 10px;
    animation: it21-ag-slide-up 0.4s ease-out both;
}

.it21-ag-flash {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 8px;
    font-size: 0.82rem;
    margin-bottom: 8px;
    position: relative;
    backdrop-filter: blur(12px);
}

.it21-ag-flash--error {
    background: rgba(239,68,68,0.12);
    border: 1px solid rgba(239,68,68,0.25);
    color: #fca5a5;
}

.it21-ag-flash--success {
    background: rgba(34,197,94,0.12);
    border: 1px solid rgba(34,197,94,0.25);
    color: #86efac;
}

.it21-ag-flash--info {
    background: rgba(56,189,248,0.12);
    border: 1px solid rgba(56,189,248,0.25);
    color: #7dd3fc;
}

.it21-ag-flash i {
    font-size: 1rem;
    flex-shrink: 0;
}

.it21-ag-flash__close {
    margin-left: auto;
    background: none;
    border: none;
    color: inherit;
    cursor: pointer;
    opacity: 0.5;
    transition: opacity 0.2s;
    padding: 2px;
}

.it21-ag-flash__close:hover {
    opacity: 1;
}

/* ── Content area ── */
.it21-ag-content {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 20px 0 40px;
}

/* ── Modal card ── */
.it21-ag-modal {
    width: 100%;
    max-width: 420px;
    position: relative;
    background: rgba(16,6,3,0.88);
    border: 1px solid rgba(255,138,56,0.15);
    border-radius: 18px;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    padding: 36px 32px 28px;
    overflow: hidden;
    animation: it21-ag-scale-in 0.5s ease-out both 0.2s;
    animation-fill-mode: both;
    box-shadow:
        0 0 40px rgba(255,80,20,0.08),
        0 0 80px rgba(255,80,20,0.04),
        0 24px 48px rgba(0,0,0,0.4);
}

.it21-ag-modal--wide {
    max-width: 580px;
}

/* breathing glow */
.it21-ag-modal__glow {
    position: absolute;
    top: 50%; left: 50%;
    width: 300px; height: 300px;
    background: radial-gradient(circle, rgba(255,100,20,0.1), transparent 70%);
    border-radius: 50%;
    animation: it21-ag-glow-rotate 30s linear infinite;
    pointer-events: none;
    z-index: 0;
}

/* fire lines */
.it21-ag-modal__fireline {
    position: absolute;
    top: 0; left: 10%; right: 10%;
    height: 2px;
    background: linear-gradient(90deg,
        transparent,
        rgba(255,138,56,0.5) 20%,
        rgba(255,80,20,0.8) 50%,
        rgba(255,138,56,0.5) 80%,
        transparent
    );
    border-radius: 1px;
    animation: it21-ag-fireline-glow 3s ease-in-out infinite;
    z-index: 3;
}

.it21-ag-modal__fireline--bottom {
    top: auto;
    bottom: 0;
}

/* ── Header ── */
.it21-ag-modal__header {
    position: relative;
    z-index: 1;
    text-align: center;
    margin-bottom: 28px;
    animation: it21-ag-fade-up 0.5s ease-out both 0.4s;
}

.it21-ag-modal__icon-ring {
    width: 64px; height: 64px;
    margin: 0 auto 14px;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(255,100,20,0.12), rgba(255,138,56,0.06));
    border: 2px solid rgba(255,138,56,0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.it21-ag-modal__icon-ring i {
    font-size: 1.6rem;
    color: var(--it21-gold, #d4a04a);
    z-index: 1;
}

.it21-ag-modal__icon-pulse {
    position: absolute;
    inset: -4px;
    border-radius: 50%;
    border: 2px solid rgba(255,138,56,0.3);
    animation: it21-ag-pulse 2.5s ease-in-out infinite;
}

.it21-ag-modal__header h1 {
    font-family: 'Cinzel', serif;
    font-size: 1.6rem;
    font-weight: 700;
    color: #e8dcc8;
    margin: 0 0 6px;
    text-shadow: 0 0 24px rgba(255,100,20,0.15);
}

.it21-ag-modal__header p {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 0.82rem;
    color: rgba(255,200,140,0.45);
    margin: 0;
}

/* ── Form ── */
.it21-ag-form {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 16px;
    animation: it21-ag-fade-up 0.5s ease-out both 0.5s;
}

/* row for register multi-column */
.it21-ag-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

/* field */
.it21-ag-field {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.it21-ag-field__label {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 0.75rem;
    font-weight: 600;
    color: rgba(255,200,140,0.55);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.it21-ag-field__label i {
    font-size: 0.85rem;
    color: rgba(255,138,56,0.5);
}

.it21-ag-field__input-wrap {
    position: relative;
}

.it21-ag-field__input {
    width: 100%;
    padding: 11px 14px;
    border-radius: 8px;
    border: 1px solid rgba(255,138,56,0.12);
    background: rgba(10,4,2,0.6);
    color: #e8dcc8;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 0.88rem;
    outline: none;
    transition: border-color 0.3s, box-shadow 0.3s, background 0.3s;
    box-sizing: border-box;
}

.it21-ag-field__input::placeholder {
    color: rgba(255,200,140,0.2);
}

.it21-ag-field__input:focus {
    border-color: rgba(255,138,56,0.4);
    background: rgba(15,6,3,0.8);
    box-shadow: 0 0 16px rgba(255,100,20,0.1), inset 0 0 12px rgba(255,100,20,0.03);
}

/* glow bar under focused input */
.it21-ag-field__glow {
    position: absolute;
    bottom: 0; left: 10%; right: 10%;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(255,100,20,0.6), transparent);
    border-radius: 1px;
    opacity: 0;
    transition: opacity 0.3s;
    pointer-events: none;
}

.it21-ag-field__input:focus ~ .it21-ag-field__glow {
    opacity: 1;
}

/* ── Submit button ── */
.it21-ag-submit {
    position: relative;
    width: 100%;
    padding: 13px 20px;
    margin-top: 4px;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    overflow: hidden;
    background: transparent;
}

.it21-ag-submit__bg {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, #8b4513, #a0621a, #d4a04a);
    border-radius: 10px;
    transition: opacity 0.3s;
}

.it21-ag-submit:hover .it21-ag-submit__bg {
    opacity: 0.85;
}

.it21-ag-submit::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent 30%, rgba(255,255,255,0.15) 50%, transparent 70%);
    background-size: 200% 100%;
    animation: it21-ag-shimmer 3s ease-in-out infinite;
    border-radius: 10px;
    pointer-events: none;
    z-index: 1;
}

.it21-ag-submit__content {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 0.92rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #fff;
    text-shadow: 0 1px 3px rgba(0,0,0,0.4);
}

.it21-ag-submit__content i {
    font-size: 1.1rem;
}

.it21-ag-submit:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 24px rgba(255,80,20,0.25);
}

.it21-ag-submit:active {
    transform: translateY(0);
}

/* ── Checkbox ── */
.it21-ag-check {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    position: relative;
    z-index: 1;
}

.it21-ag-check input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    width: 0; height: 0;
}

.it21-ag-check__mark {
    width: 20px; height: 20px;
    border-radius: 5px;
    border: 1px solid rgba(255,138,56,0.2);
    background: rgba(10,4,2,0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.25s;
}

.it21-ag-check__mark i {
    font-size: 0.7rem;
    color: transparent;
    transition: color 0.2s;
}

.it21-ag-check input:checked ~ .it21-ag-check__mark {
    border-color: rgba(255,138,56,0.5);
    background: rgba(255,100,20,0.15);
}

.it21-ag-check input:checked ~ .it21-ag-check__mark i {
    color: var(--it21-gold, #d4a04a);
}

.it21-ag-check__text {
    font-size: 0.75rem;
    color: rgba(255,200,140,0.45);
}

/* ── Footer links ── */
.it21-ag-modal__links {
    position: relative;
    z-index: 1;
    text-align: center;
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid rgba(255,138,56,0.08);
    animation: it21-ag-fade-up 0.5s ease-out both 0.6s;
}

.it21-ag-modal__link {
    font-size: 0.78rem;
    color: rgba(255,200,140,0.4);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    transition: color 0.25s;
}

.it21-ag-modal__link:hover {
    color: var(--it21-gold, #d4a04a);
}

.it21-ag-modal__link--accent {
    color: var(--it21-gold, #d4a04a);
    font-weight: 600;
}

.it21-ag-modal__link--accent:hover {
    color: #e8dcc8;
}

.it21-ag-modal__sep {
    display: inline-block;
    margin: 0 8px;
    color: rgba(255,138,56,0.15);
}

/* ── Music toggle ── */
.it21-ag-music {
    position: fixed;
    bottom: 24px; right: 24px;
    z-index: 10;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-radius: 24px;
    background: rgba(16,6,3,0.85);
    border: 1px solid rgba(255,138,56,0.12);
    backdrop-filter: blur(12px);
    transition: border-color 0.3s, box-shadow 0.3s;
    animation: it21-ag-fade-up 0.5s ease-out both 1s;
}

.it21-ag-music.is-playing {
    border-color: rgba(255,138,56,0.25);
    box-shadow: 0 0 16px rgba(255,100,20,0.1);
}

.it21-ag-music__btn {
    width: 32px; height: 32px;
    border-radius: 50%;
    border: 1px solid rgba(255,138,56,0.15);
    background: rgba(255,138,56,0.06);
    color: rgba(255,200,140,0.6);
    font-size: 1rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.25s;
}

.it21-ag-music.is-playing .it21-ag-music__btn {
    color: var(--it21-gold, #d4a04a);
    border-color: rgba(255,138,56,0.3);
}

.it21-ag-music__btn:hover {
    background: rgba(255,138,56,0.12);
}

.it21-ag-music__wave {
    display: flex;
    align-items: flex-end;
    gap: 2px;
    height: 18px;
}

.it21-ag-music__wave span {
    display: block;
    width: 3px;
    height: 4px;
    border-radius: 2px;
    background: rgba(255,138,56,0.2);
    transition: background 0.3s;
}

.it21-ag-music.is-playing .it21-ag-music__wave span {
    background: var(--it21-gold, #d4a04a);
    animation: it21-ag-wave 0.8s ease-in-out infinite;
}

.it21-ag-music.is-playing .it21-ag-music__wave span:nth-child(1) { animation-delay: 0s; }
.it21-ag-music.is-playing .it21-ag-music__wave span:nth-child(2) { animation-delay: 0.15s; }
.it21-ag-music.is-playing .it21-ag-music__wave span:nth-child(3) { animation-delay: 0.3s; }
.it21-ag-music.is-playing .it21-ag-music__wave span:nth-child(4) { animation-delay: 0.45s; }
.it21-ag-music.is-playing .it21-ag-music__wave span:nth-child(5) { animation-delay: 0.6s; }

/* ── Footer ── */
.it21-ag-footer {
    position: relative;
    z-index: 2;
    text-align: center;
    padding: 16px 0 20px;
    font-size: 0.72rem;
    color: rgba(255,200,140,0.25);
    animation: it21-ag-fade-up 0.5s ease-out both 0.8s;
}

.it21-ag-footer__sep {
    margin: 0 6px;
    color: rgba(255,138,56,0.15);
}

/* ── Responsive 640px ── */
@media (max-width: 640px) {
    .it21-ag-modal {
        padding: 28px 20px 22px;
        border-radius: 14px;
        margin: 0 4px;
    }

    .it21-ag-modal--wide {
        max-width: 100%;
    }

    .it21-ag-row {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .it21-ag-modal__header h1 {
        font-size: 1.35rem;
    }

    .it21-ag-topbar-links span {
        display: none;
    }

    .it21-ag-music {
        bottom: 14px;
        right: 14px;
    }
}

/* ═══════════════════════════════════════════════════════════
   INFERNAL MUSIC PLAYER
   ═══════════════════════════════════════════════════════════ */

/* ---------- keyframes ---------- */
@keyframes it21-disc-spin {
    to { transform: rotate(360deg); }
}

@keyframes it21-ember-orbit {
    0%   { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

@keyframes it21-wave-bar {
    0%   { height: 3px; }
    50%  { height: 14px; }
    100% { height: 3px; }
}

@keyframes it21-bar-glow-sweep {
    0%   { left: -40%; opacity: 0; }
    50%  { opacity: 1; }
    100% { left: 110%; opacity: 0; }
}

@keyframes it21-player-breathe {
    0%, 100% { box-shadow: 0 0 20px rgba(255,100,20,0.15), 0 0 60px rgba(255,60,10,0.05); }
    50%      { box-shadow: 0 0 28px rgba(255,100,20,0.25), 0 0 80px rgba(255,60,10,0.10); }
}

@keyframes it21-disc-pulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(255,138,56,0.4); }
    50%      { box-shadow: 0 0 0 6px rgba(255,138,56,0); }
}

@keyframes it21-fire-flicker {
    0%, 100% { opacity: 0.7; }
    25%      { opacity: 1; }
    50%      { opacity: 0.5; }
    75%      { opacity: 0.9; }
}

/* ---------- container ---------- */
body.theme-season21-infernal-throne .it21-player {
    position: fixed;
    bottom: 24px;
    right: 24px;
    z-index: 9500;
    display: flex;
    align-items: center;
    gap: 0;
    border-radius: 28px;
    background: rgba(12,5,2,0.97);
    border: 1px solid rgba(255,138,56,0.18);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    padding: 6px;
    max-width: 56px;
    overflow: hidden;
    transition: max-width 0.45s cubic-bezier(0.22,1,0.36,1),
                padding 0.45s cubic-bezier(0.22,1,0.36,1),
                border-color 0.3s,
                box-shadow 0.3s;
    box-shadow: 0 0 20px rgba(255,100,20,0.12),
                0 4px 30px rgba(0,0,0,0.6),
                inset 0 1px 0 rgba(255,200,100,0.04);
    cursor: pointer;
}

body.theme-season21-infernal-throne .it21-player.is-expanded {
    max-width: 340px;
    padding: 6px 14px 6px 6px;
    gap: 10px;
    border-color: rgba(255,138,56,0.3);
}

body.theme-season21-infernal-throne .it21-player.is-playing {
    animation: it21-player-breathe 3s ease-in-out infinite;
}

body.theme-season21-infernal-throne .it21-player.is-playing.is-expanded {
    border-color: rgba(255,138,56,0.35);
}

/* ---------- disc / play button ---------- */
body.theme-season21-infernal-throne .it21-player__disc {
    position: relative;
    width: 44px;
    height: 44px;
    flex-shrink: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

body.theme-season21-infernal-throne .it21-player__disc-ring {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: conic-gradient(
        from 0deg,
        rgba(255,80,20,0.9),
        rgba(255,160,40,0.7),
        rgba(255,80,20,0.3),
        rgba(255,40,10,0.6),
        rgba(255,160,40,0.8),
        rgba(255,80,20,0.9)
    );
    transition: opacity 0.3s;
    opacity: 0.5;
}

body.theme-season21-infernal-throne .it21-player.is-playing .it21-player__disc-ring {
    animation: it21-disc-spin 3s linear infinite;
    opacity: 1;
}

body.theme-season21-infernal-throne .it21-player__disc-core {
    position: relative;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: radial-gradient(circle at 40% 35%, #1a0a04, #0a0402);
    border: 2px solid rgba(255,138,56,0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    transition: border-color 0.3s, box-shadow 0.3s;
}

body.theme-season21-infernal-throne .it21-player.is-playing .it21-player__disc-core {
    border-color: rgba(255,138,56,0.5);
    box-shadow: 0 0 12px rgba(255,100,20,0.3);
    animation: it21-disc-pulse 2s ease-in-out infinite;
}

body.theme-season21-infernal-throne .it21-player__disc-core i {
    font-size: 0.85rem;
    color: var(--it21-gold);
    transition: color 0.2s, text-shadow 0.2s;
    line-height: 1;
}

body.theme-season21-infernal-throne .it21-player.is-playing .it21-player__disc-core i {
    color: #ffb347;
    text-shadow: 0 0 8px rgba(255,160,60,0.6);
}

/* ember ring particles */
body.theme-season21-infernal-throne .it21-player__ember-ring {
    position: absolute;
    inset: -4px;
    border-radius: 50%;
    opacity: 0;
    transition: opacity 0.4s;
    pointer-events: none;
}

body.theme-season21-infernal-throne .it21-player.is-playing .it21-player__ember-ring {
    opacity: 1;
    animation: it21-ember-orbit 4s linear infinite;
}

body.theme-season21-infernal-throne .it21-player__ember-ring::before,
body.theme-season21-infernal-throne .it21-player__ember-ring::after {
    content: '';
    position: absolute;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--it21-ember);
    box-shadow: 0 0 6px var(--it21-fire);
    animation: it21-fire-flicker 1.2s ease-in-out infinite alternate;
}

body.theme-season21-infernal-throne .it21-player__ember-ring::before {
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}

body.theme-season21-infernal-throne .it21-player__ember-ring::after {
    bottom: 2px;
    right: 2px;
    animation-delay: 0.6s;
}

/* ---------- body (hidden until expanded) ---------- */
body.theme-season21-infernal-throne .it21-player__body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
    opacity: 0;
    transform: translateX(-8px);
    transition: opacity 0.35s 0.1s, transform 0.35s 0.1s;
    pointer-events: none;
}

body.theme-season21-infernal-throne .it21-player.is-expanded .it21-player__body {
    opacity: 1;
    transform: translateX(0);
    pointer-events: auto;
}

/* ---------- info ---------- */
body.theme-season21-infernal-throne .it21-player__info {
    display: flex;
    align-items: baseline;
    gap: 6px;
    overflow: hidden;
}

body.theme-season21-infernal-throne .it21-player__title {
    font-family: var(--it21-font-head);
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--it21-gold);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    letter-spacing: 0.04em;
    text-shadow: 0 0 10px rgba(255,138,56,0.3);
}

body.theme-season21-infernal-throne .it21-player__artist {
    font-family: var(--it21-font-ui);
    font-size: 0.62rem;
    color: rgba(255,200,140,0.45);
    white-space: nowrap;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

/* ---------- wave visualizer ---------- */
body.theme-season21-infernal-throne .it21-player__wave {
    display: flex;
    align-items: flex-end;
    gap: 2px;
    height: 16px;
    padding: 0 2px;
}

body.theme-season21-infernal-throne .it21-player__wave i {
    display: block;
    width: 3px;
    height: 3px;
    border-radius: 1px;
    background: linear-gradient(to top, var(--it21-fire), var(--it21-ember));
    transition: height 0.2s;
}

body.theme-season21-infernal-throne .it21-player.is-playing .it21-player__wave i {
    animation: it21-wave-bar 1s ease-in-out infinite;
}

body.theme-season21-infernal-throne .it21-player.is-playing .it21-player__wave i:nth-child(1) { animation-delay: 0s;    }
body.theme-season21-infernal-throne .it21-player.is-playing .it21-player__wave i:nth-child(2) { animation-delay: 0.12s; }
body.theme-season21-infernal-throne .it21-player.is-playing .it21-player__wave i:nth-child(3) { animation-delay: 0.24s; }
body.theme-season21-infernal-throne .it21-player.is-playing .it21-player__wave i:nth-child(4) { animation-delay: 0.36s; }
body.theme-season21-infernal-throne .it21-player.is-playing .it21-player__wave i:nth-child(5) { animation-delay: 0.48s; }
body.theme-season21-infernal-throne .it21-player.is-playing .it21-player__wave i:nth-child(6) { animation-delay: 0.24s; }
body.theme-season21-infernal-throne .it21-player.is-playing .it21-player__wave i:nth-child(7) { animation-delay: 0.10s; }

/* ---------- seek bar ---------- */
body.theme-season21-infernal-throne .it21-player__seek {
    display: flex;
    align-items: center;
    gap: 6px;
}

body.theme-season21-infernal-throne .it21-player__time {
    font-family: var(--it21-font-ui);
    font-size: 0.58rem;
    color: rgba(255,200,140,0.35);
    font-variant-numeric: tabular-nums;
    min-width: 26px;
}

body.theme-season21-infernal-throne .it21-player__bar {
    flex: 1;
    height: 3px;
    background: rgba(255,138,56,0.08);
    border-radius: 2px;
    cursor: pointer;
    overflow: hidden;
    position: relative;
}

body.theme-season21-infernal-throne .it21-player__bar-fill {
    height: 100%;
    width: 0;
    border-radius: 2px;
    background: linear-gradient(90deg, var(--it21-fire), var(--it21-ember));
    transition: width 0.15s linear;
    position: relative;
}

body.theme-season21-infernal-throne .it21-player__bar-glow {
    position: absolute;
    top: -1px;
    left: -40%;
    width: 30%;
    height: 5px;
    background: linear-gradient(90deg, transparent, rgba(255,160,60,0.5), transparent);
    border-radius: 3px;
    opacity: 0;
    pointer-events: none;
}

body.theme-season21-infernal-throne .it21-player.is-playing .it21-player__bar-glow {
    animation: it21-bar-glow-sweep 3s ease-in-out infinite;
}

/* ---------- volume ---------- */
body.theme-season21-infernal-throne .it21-player__vol {
    display: flex;
    align-items: center;
    gap: 4px;
}

body.theme-season21-infernal-throne .it21-player__vol-ico {
    font-size: 0.85rem;
    color: rgba(255,200,140,0.4);
    cursor: pointer;
    transition: color 0.2s;
}

body.theme-season21-infernal-throne .it21-player__vol-ico:hover {
    color: var(--it21-gold);
}

body.theme-season21-infernal-throne .it21-player__vol-slider {
    width: 48px;
    height: 3px;
    -webkit-appearance: none;
    appearance: none;
    background: rgba(255,138,56,0.08);
    border-radius: 2px;
    cursor: pointer;
    outline: none;
}

body.theme-season21-infernal-throne .it21-player__vol-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: radial-gradient(circle, var(--it21-ember), var(--it21-fire));
    box-shadow: 0 0 6px rgba(255,100,20,0.5);
    cursor: pointer;
    transition: box-shadow 0.2s;
}

body.theme-season21-infernal-throne .it21-player__vol-slider::-webkit-slider-thumb:hover {
    box-shadow: 0 0 12px rgba(255,100,20,0.7);
}

body.theme-season21-infernal-throne .it21-player__vol-slider::-moz-range-thumb {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: none;
    background: radial-gradient(circle, var(--it21-ember), var(--it21-fire));
    box-shadow: 0 0 6px rgba(255,100,20,0.5);
    cursor: pointer;
}

/* ---------- controls row ---------- */
body.theme-season21-infernal-throne .it21-player__controls {
    display: flex;
    align-items: center;
    gap: 10px;
}

/* ---------- disable button ---------- */
body.theme-season21-infernal-throne .it21-player__disable {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 3px 10px;
    font-family: var(--it21-font-ui);
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    color: var(--it21-gold-soft);
    background: rgba(255,138,56,0.06);
    border: 1px solid rgba(255,138,56,0.15);
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.25s;
    white-space: nowrap;
}
body.theme-season21-infernal-throne .it21-player__disable i {
    font-size: 0.72rem;
}
body.theme-season21-infernal-throne .it21-player__disable:hover {
    background: rgba(255,138,56,0.14);
    border-color: rgba(255,138,56,0.35);
}

/* ---------- disabled state ---------- */
body.theme-season21-infernal-throne .it21-player.is-disabled {
    opacity: 0.45;
}
body.theme-season21-infernal-throne .it21-player.is-disabled .it21-player__disc,
body.theme-season21-infernal-throne .it21-player.is-disabled .it21-player__seek,
body.theme-season21-infernal-throne .it21-player.is-disabled .it21-player__wave,
body.theme-season21-infernal-throne .it21-player.is-disabled .it21-player__vol {
    pointer-events: none;
}
body.theme-season21-infernal-throne .it21-player.is-disabled .it21-player__disable {
    opacity: 1;
    pointer-events: auto;
}

/* ---------- auth disable button ---------- */
.it21-ag-music__disable {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 1px solid rgba(255,138,56,0.12);
    background: rgba(255,138,56,0.04);
    color: rgba(255,200,140,0.5);
    font-size: 0.72rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.25s;
    padding: 0;
}
.it21-ag-music__disable:hover {
    background: rgba(255,138,56,0.12);
    color: var(--it21-gold, #d4a04a);
}
.it21-ag-music.is-disabled {
    opacity: 0.4;
}
.it21-ag-music.is-disabled .it21-ag-music__btn,
.it21-ag-music.is-disabled .it21-ag-music__wave {
    pointer-events: none;
}
.it21-ag-music.is-disabled .it21-ag-music__disable {
    opacity: 1;
    pointer-events: auto;
}

/* ---------- hover states ---------- */
body.theme-season21-infernal-throne .it21-player:hover {
    border-color: rgba(255,138,56,0.35);
}

body.theme-season21-infernal-throne .it21-player__disc:hover .it21-player__disc-core {
    border-color: rgba(255,138,56,0.5);
    box-shadow: 0 0 14px rgba(255,100,20,0.4);
}

body.theme-season21-infernal-throne .it21-player__disc:hover .it21-player__disc-core i {
    color: #ffc56b;
    text-shadow: 0 0 10px rgba(255,180,80,0.5);
}

/* ═══════════════════════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════════════════════ */

/* Desktop-first breakpoints */

@media (max-width: 1200px) {
    body.theme-season21-infernal-throne .it21-home-v2__columns {
        grid-template-columns: 210px 1fr 240px;
    }

    body.theme-season21-infernal-throne .it21-main-grid {
        grid-template-columns: 210px 1fr 240px;
    }
}

@media (max-width: 980px) {
    body.theme-season21-infernal-throne .it21-topline {
        justify-content: space-between;
        padding: 0 16px;
    }

    body.theme-season21-infernal-throne .it21-nav {
        display: none;
    }

    body.theme-season21-infernal-throne .it21-header__emblem {
        display: none;
    }

    body.theme-season21-infernal-throne .it21-mobile-toggle {
        display: inline-flex;
    }

    body.theme-season21-infernal-throne .it21-home-v2__columns {
        grid-template-columns: 1fr;
        margin-top: 16px;
    }

    body.theme-season21-infernal-throne .it21-home-v2__rail {
        padding-top: 0;
    }

    body.theme-season21-infernal-throne .it21-home-v2__rail--left {
        order: 2;
    }

    body.theme-season21-infernal-throne .it21-home-v2__center {
        order: 1;
    }

    body.theme-season21-infernal-throne .it21-home-v2__rail--right {
        order: 3;
    }

    body.theme-season21-infernal-throne .it21-main-grid {
        grid-template-columns: 1fr;
    }

    body.theme-season21-infernal-throne .it21-rail--left {
        order: 2;
    }

    body.theme-season21-infernal-throne .it21-content-shell {
        order: 1;
    }

    body.theme-season21-infernal-throne .it21-rail--right {
        order: 3;
    }

    body.theme-season21-infernal-throne .it21-hero-v2 {
        min-height: 396px;
    }

    body.theme-season21-infernal-throne .it21-hero-v2__brand {
        min-height: 396px;
        padding: 30px 20px;
        justify-content: center;
        align-items: flex-end;
    }

    body.theme-season21-infernal-throne .it21-hero-v2__logo {
        width: min(80%, 300px);
    }

    body.theme-season21-infernal-throne .it21-hero-v2__character {
        right: 0;
    }

    body.theme-season21-infernal-throne .it21-hero-v2__char-img {
        max-height: 370px;
    }

    body.theme-season21-infernal-throne .it21-header {
        margin-top: 0;
    }

    body.theme-season21-infernal-throne .it21-hero-v2__brand {
        justify-content: center;
    }

    body.theme-season21-infernal-throne .it21-footer__inner {
        grid-template-columns: 1fr;
        text-align: center;
    }

    body.theme-season21-infernal-throne .it21-footer__brand {
        justify-content: center;
    }

    body.theme-season21-infernal-throne .it21-footer__meta {
        align-items: center;
    }

    body.theme-season21-infernal-throne .it21-auth-page {
        grid-template-columns: 1fr;
    }

    body.theme-season21-infernal-throne .it21-auth-aside {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 14px;
    }

    body.theme-season21-infernal-throne .it21-auth-links {
        flex-direction: row;
        flex-wrap: wrap;
    }

    body.theme-season21-infernal-throne .it21-dl-page {
        padding: 20px 16px 28px;
    }

    body.theme-season21-infernal-throne .it21-dl-info-row {
        grid-template-columns: 1fr 1fr;
    }

    body.theme-season21-infernal-throne .it21-rank-page {
        padding: 20px 16px 28px;
    }

    body.theme-season21-infernal-throne .guide-cards-row {
        grid-template-columns: 1fr 1fr;
    }

    body.theme-season21-infernal-throne .guide-currency-grid {
        grid-template-columns: 1fr 1fr;
    }

    body.theme-season21-infernal-throne .guide-tips-grid {
        grid-template-columns: 1fr 1fr;
    }

    /* char profile 980 */
    body.theme-season21-infernal-throne .it21-char-header {
        flex-wrap: wrap;
    }

    body.theme-season21-infernal-throne .it21-char-header__highlights {
        flex-direction: row;
        flex-wrap: wrap;
        width: 100%;
        gap: 8px;
        margin-top: 4px;
    }

    body.theme-season21-infernal-throne .it21-char-highlight {
        flex: 1 1 calc(50% - 4px);
        min-width: 120px;
    }

    body.theme-season21-infernal-throne .it21-char-grid {
        grid-template-columns: 1fr;
    }

    /* DB pages 980px */
    body.theme-season21-infernal-throne .db-shop-layout {
        grid-template-columns: 1fr;
    }

    body.theme-season21-infernal-throne .db-shop-sidebar {
        position: static;
    }

    body.theme-season21-infernal-throne .db-shop-list {
        flex-direction: row;
        flex-wrap: wrap;
        max-height: none;
    }

    body.theme-season21-infernal-throne .db-events-grid {
        grid-template-columns: 1fr;
    }

    body.theme-season21-infernal-throne .cs-hero {
        flex-direction: column;
        text-align: center;
    }

    body.theme-season21-infernal-throne .cs-hero-stats {
        justify-content: center;
    }

    body.theme-season21-infernal-throne .dbmd-hero {
        flex-direction: column;
        text-align: center;
    }

    body.theme-season21-infernal-throne .dbmd-quick-stats {
        justify-content: center;
    }
}

@media (max-width: 640px) {
    /* player mobile */
    body.theme-season21-infernal-throne .it21-player {
        bottom: 14px;
        right: 14px;
    }
    body.theme-season21-infernal-throne .it21-player.is-expanded {
        max-width: calc(100vw - 28px);
    }

    body.theme-season21-infernal-throne .it21-site {
        width: calc(100vw - 12px);
    }

    body.theme-season21-infernal-throne .it21-topline {
        padding: 0 12px;
        min-height: 50px;
    }

    body.theme-season21-infernal-throne .it21-subline {
        padding: 6px 12px;
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
    }

    body.theme-season21-infernal-throne .it21-countdown-bar {
        padding: 8px 14px;
    }
    body.theme-season21-infernal-throne .it21-countdown-bar__inner {
        flex-direction: column;
        gap: 10px;
    }
    body.theme-season21-infernal-throne .it21-cd-unit {
        min-width: 38px;
        padding: 5px 6px 4px;
    }
    body.theme-season21-infernal-throne .it21-cd-unit span {
        font-size: 1.1rem;
    }
    body.theme-season21-infernal-throne .it21-countdown-bar__date {
        font-size: 0.62rem;
    }

    body.theme-season21-infernal-throne .it21-quickstart__steps {
        flex-direction: column;
        gap: 12px;
    }
    body.theme-season21-infernal-throne .it21-quickstart__connector {
        display: none;
    }

    body.theme-season21-infernal-throne .it21-hero-v2 {
        min-height: 286px;
    }

    body.theme-season21-infernal-throne .it21-hero-v2__brand {
        min-height: 286px;
        padding: 24px 16px;
        justify-content: center;
        align-items: flex-end;
    }

    body.theme-season21-infernal-throne .it21-hero-v2__logo {
        width: min(100%, 260px);
    }

    body.theme-season21-infernal-throne .it21-spotlight-v2__content {
        padding: 100px 16px 20px;
    }

    body.theme-season21-infernal-throne .it21-spotlight-v2__title {
        font-size: clamp(1.4rem, 6vw, 2rem);
    }

    body.theme-season21-infernal-throne .it21-realm-stats {
        flex-wrap: wrap;
    }

    body.theme-season21-infernal-throne .it21-realm-stats__item {
        flex: 0 0 33.33%;
    }

    body.theme-season21-infernal-throne .it21-features-grid__body {
        grid-template-columns: repeat(2, 1fr);
    }

    body.theme-season21-infernal-throne .it21-whyplay__grid {
        grid-template-columns: 1fr;
    }

    body.theme-season21-infernal-throne .it21-quickstart__steps {
        flex-direction: column;
        gap: 8px;
    }
    body.theme-season21-infernal-throne .it21-quickstart__connector {
        display: none;
    }

    body.theme-season21-infernal-throne .it21-topline,
    body.theme-season21-infernal-throne .it21-subline,
    body.theme-season21-infernal-throne .it21-rail-card,
    body.theme-season21-infernal-throne .it21-footer {
        border-radius: 12px;
    }

    body.theme-season21-infernal-throne .it21-spotlight-slider {
        border-radius: 12px 12px 0 0;
    }

    body.theme-season21-infernal-throne .it21-realm-stats {
        border-radius: 0 0 12px 12px;
    }

    body.theme-season21-infernal-throne .it21-auth-card__inner {
        padding: 20px 16px 18px;
    }

    body.theme-season21-infernal-throne .it21-auth-form__row {
        grid-template-columns: 1fr;
    }

    body.theme-season21-infernal-throne .it21-auth-aside {
        grid-template-columns: 1fr;
    }

    body.theme-season21-infernal-throne .it21-auth-stats__grid {
        grid-template-columns: 1fr 1fr;
    }

    body.theme-season21-infernal-throne .it21-dl-hero__inner {
        flex-direction: column;
        align-items: flex-start;
        padding: 20px 16px;
    }

    body.theme-season21-infernal-throne .it21-dl-hero__stats {
        flex-wrap: wrap;
    }

    body.theme-season21-infernal-throne .it21-dl-info-row {
        grid-template-columns: 1fr;
    }

    body.theme-season21-infernal-throne .it21-dl-file {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    body.theme-season21-infernal-throne .it21-dl-file__actions {
        width: 100%;
        justify-content: space-between;
    }

    body.theme-season21-infernal-throne .it21-rank-hero__inner {
        flex-direction: column;
        align-items: flex-start;
        padding: 20px 16px;
    }

    body.theme-season21-infernal-throne .it21-rank-hero__stats {
        flex-wrap: wrap;
    }

    body.theme-season21-infernal-throne .it21-rank-table {
        font-size: 0.7rem;
    }

    body.theme-season21-infernal-throne .it21-rank-table thead th,
    body.theme-season21-infernal-throne .it21-rank-table tbody td {
        padding: 8px 10px;
    }

    body.theme-season21-infernal-throne .it21-guide-body {
        padding: 18px 16px 20px;
    }

    body.theme-season21-infernal-throne .guide-cards-row,
    body.theme-season21-infernal-throne .guide-role-grid,
    body.theme-season21-infernal-throne .guide-event-grid,
    body.theme-season21-infernal-throne .guide-currency-grid,
    body.theme-season21-infernal-throne .guide-tips-grid {
        grid-template-columns: 1fr;
    }

    body.theme-season21-infernal-throne .guide-toc {
        gap: 5px;
    }

    body.theme-season21-infernal-throne .guide-toc a {
        font-size: 0.6rem;
        padding: 5px 10px;
    }

    /* char profile 640 */
    body.theme-season21-infernal-throne .it21-char-profile {
        padding: 12px 0 28px;
        gap: 14px;
    }

    body.theme-season21-infernal-throne .it21-char-header {
        flex-direction: column;
        text-align: center;
        padding: 20px 16px;
        gap: 14px;
    }

    body.theme-season21-infernal-throne .it21-char-header__info {
        align-items: center;
    }

    body.theme-season21-infernal-throne .it21-char-header__meta {
        justify-content: center;
    }

    body.theme-season21-infernal-throne .it21-char-header__actions {
        justify-content: center;
        flex-wrap: wrap;
    }

    body.theme-season21-infernal-throne .it21-char-header__highlights {
        flex-direction: column;
        width: 100%;
    }

    body.theme-season21-infernal-throne .it21-char-highlight {
        flex: none;
        width: 100%;
    }

    body.theme-season21-infernal-throne .it21-char-panel {
        padding: 16px;
    }

    body.theme-season21-infernal-throne .it21-char-location-grid {
        grid-template-columns: 1fr;
    }

    body.theme-season21-infernal-throne .it21-char-equip-doll {
        gap: 10px;
    }

    body.theme-season21-infernal-throne .it21-char-equip-slot__inner {
        width: 64px;
        height: 64px;
    }

    body.theme-season21-infernal-throne .it21-char-equip-slot__inner img {
        max-width: 48px;
        max-height: 48px;
    }

    /* df21 responsive overrides */
    body.theme-season21-infernal-throne .df21-page-grid,
    body.theme-season21-infernal-throne .df21-page-grid--auth {
        grid-template-columns: 1fr;
    }

    body.theme-season21-infernal-throne .df21-service-metrics {
        grid-template-columns: 1fr;
    }

    body.theme-season21-infernal-throne .df21-action-grid {
        grid-template-columns: 1fr 1fr;
    }

    body.theme-season21-infernal-throne .df21-character-grid {
        grid-template-columns: 1fr;
    }

    body.theme-season21-infernal-throne .df21-news-grid {
        grid-template-columns: 1fr;
    }

    body.theme-season21-infernal-throne .df21-page-panel {
        padding: 16px 14px;
    }

    body.theme-season21-infernal-throne .df21-subnav {
        gap: 4px;
        padding: 10px 12px;
        border-radius: 10px;
    }

    body.theme-season21-infernal-throne .df21-subnav a {
        font-size: .64rem;
        padding: 6px 12px;
        letter-spacing: .08em;
    }

    body.theme-season21-infernal-throne .df21-form-grid {
        grid-template-columns: 1fr;
    }

    body.theme-season21-infernal-throne .df21-service-card-grid {
        grid-template-columns: 1fr;
    }

    body.theme-season21-infernal-throne .df21-tier-grid {
        grid-template-columns: 1fr;
    }

    /* DB pages 640px */
    body.theme-season21-infernal-throne .dbi-grid {
        grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    }

    body.theme-season21-infernal-throne .dbm-grid {
        grid-template-columns: 1fr;
    }

    body.theme-season21-infernal-throne .dbma-grid {
        grid-template-columns: 1fr;
    }

    body.theme-season21-infernal-throne .dbsk-grid {
        grid-template-columns: 1fr;
    }

    body.theme-season21-infernal-throne .db-events-grid {
        grid-template-columns: 1fr;
    }

    body.theme-season21-infernal-throne .db-filter-form {
        flex-direction: column;
    }

    body.theme-season21-infernal-throne .db-filter-group {
        min-width: 100%;
    }

    body.theme-season21-infernal-throne .dbrt-hero,
    body.theme-season21-infernal-throne .dbprog-hero {
        grid-template-columns: repeat(2, 1fr);
    }

    body.theme-season21-infernal-throne .cs-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    body.theme-season21-infernal-throne .cs-item-grid {
        grid-template-columns: 1fr;
    }

    body.theme-season21-infernal-throne .cs-equip-grid {
        grid-template-columns: 1fr;
    }

    body.theme-season21-infernal-throne .cs-filter-bar {
        flex-direction: column;
    }

    body.theme-season21-infernal-throne .dbdr-hero {
        flex-direction: column;
        text-align: center;
    }

    body.theme-season21-infernal-throne .db-stat-grid {
        grid-template-columns: 1fr 1fr;
    }

    body.theme-season21-infernal-throne .db-daily-grid {
        grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
    }

    body.theme-season21-infernal-throne .dbprog-cost-grid {
        grid-template-columns: 1fr 1fr;
    }

    body.theme-season21-infernal-throne .auth-card {
        padding: 20px 16px;
    }
}

/* ═══════════════════════════════════════════════════════════════════════
   ACCOUNT  PANEL  ·  it21-*  class  system
   Complete visual redesign for account dashboard, services & sub-pages
   ═══════════════════════════════════════════════════════════════════════ */

/* ── A.  Account keyframes ── */
@keyframes it21-fireline-pulse {
    0%, 100% { opacity: .55; }
    50%      { opacity: 1; }
}
@keyframes it21-fade-up {
    from { opacity: 0; transform: translateY(10px); }
    to   { opacity: 1; transform: translateY(0); }
}
@keyframes it21-glow-breathe {
    0%, 100% { box-shadow: 0 0 8px rgba(255,138,56,.15); }
    50%      { box-shadow: 0 0 20px rgba(255,138,56,.35); }
}

/* ── A2.  Page Hero  (it21-page-hero) ── */
.it21-page-hero {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 0;
    align-items: stretch;
    padding: 0;
    margin-bottom: 28px;
    background:
        radial-gradient(ellipse at 10% 20%, rgba(255,100,30,.1) 0%, transparent 50%),
        radial-gradient(ellipse at 80% 80%, rgba(255,60,20,.07) 0%, transparent 45%),
        radial-gradient(ellipse at 50% 50%, rgba(180,60,10,.04) 0%, transparent 70%),
        rgba(12,5,3,.96);
    border: 1px solid rgba(255,138,56,.14);
    border-radius: var(--it21-radius);
    position: relative;
    overflow: hidden;
    animation: it21-fade-up .4s ease-out both;
    box-shadow:
        0 6px 40px rgba(0,0,0,.5),
        0 1px 0 rgba(255,138,56,.08) inset,
        0 -1px 0 rgba(255,138,56,.04) inset;
}
.it21-page-hero::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--it21-gold), rgba(255,60,20,.8), var(--it21-gold), transparent);
    opacity: .7;
    animation: it21-fireline-pulse 3s ease-in-out infinite;
}
.it21-page-hero::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent 10%, rgba(255,138,56,.18) 50%, transparent 90%);
}
.it21-page-hero__copy {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 32px 36px;
    justify-content: center;
}
.it21-page-hero__copy h1 {
    font-family: var(--it21-font-head);
    font-size: 1.4rem;
    color: #fff;
    margin: 0;
    line-height: 1.3;
    text-shadow: 0 2px 16px rgba(255,80,20,.25);
    letter-spacing: .3px;
}
.it21-page-hero__copy > p {
    color: var(--it21-text-dim);
    font-size: .84rem;
    margin: 0;
    max-width: 520px;
    line-height: 1.6;
}
.it21-page-hero__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.it21-page-hero__tags span {
    padding: 3px 10px;
    font-size: .72rem;
    font-family: var(--it21-font-ui);
    letter-spacing: .5px;
    color: var(--it21-text-dim);
    background: rgba(255,138,56,.06);
    border: 1px solid rgba(255,138,56,.12);
    border-radius: 8px;
}
.it21-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 6px;
}
.it21-cta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 9px 22px;
    font-family: var(--it21-font-ui);
    font-size: .74rem;
    font-weight: 700;
    letter-spacing: .7px;
    text-transform: uppercase;
    color: var(--it21-gold-soft);
    background: rgba(255,138,56,.05);
    border: 1px solid rgba(255,138,56,.2);
    border-radius: var(--it21-radius-sm);
    cursor: pointer;
    transition: all .25s;
    text-decoration: none;
    position: relative;
    overflow: hidden;
}
.it21-cta::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(255,138,56,.06) 0%, transparent 60%);
    opacity: 0;
    transition: opacity .25s;
}
.it21-cta:hover::before { opacity: 1; }
.it21-cta:hover {
    background: rgba(255,138,56,.12);
    border-color: rgba(255,138,56,.5);
    color: #fff;
    box-shadow: 0 0 14px rgba(255,138,56,.12);
}
.it21-cta--primary {
    color: #fff;
    background: linear-gradient(135deg, rgba(255,138,56,.22), rgba(255,60,20,.12));
    border-color: rgba(255,138,56,.4);
    box-shadow: 0 0 8px rgba(255,138,56,.1);
}
.it21-cta--primary:hover {
    background: linear-gradient(135deg, rgba(255,138,56,.35), rgba(255,60,20,.2));
    border-color: var(--it21-gold);
    box-shadow: 0 0 20px rgba(255,138,56,.22);
}
/* --- Aside (hero right panel) --- */
.it21-page-hero__aside {
    display: flex;
    flex-direction: column;
    gap: 0;
    border-left: 1px solid rgba(255,138,56,.1);
    background:
        radial-gradient(ellipse at 50% 40%, rgba(255,100,30,.06) 0%, transparent 70%),
        rgba(8,3,2,.5);
    position: relative;
}
.it21-page-hero__aside::before {
    content: '';
    position: absolute;
    top: 50%; left: 50%;
    width: 120px; height: 120px;
    transform: translate(-50%, -50%);
    background: radial-gradient(circle, rgba(255,120,40,.06) 0%, transparent 70%);
    pointer-events: none;
}
.it21-page-hero__summary {
    padding: 18px 22px;
    border-bottom: 1px solid rgba(255,138,56,.08);
}
.it21-page-hero__summary strong {
    font-family: var(--it21-font-head);
    font-size: .95rem;
    font-weight: 600;
    color: var(--it21-gold);
    display: block;
    margin-bottom: 4px;
    letter-spacing: .2px;
}
.it21-page-hero__summary p {
    font-size: .78rem;
    color: var(--it21-text-dim);
    margin: 0;
    line-height: 1.45;
}
.it21-page-hero__stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    flex: 1;
}
.it21-page-hero__stat {
    text-align: center;
    padding: 20px 14px;
    border-right: 1px solid rgba(255,138,56,.06);
    border-bottom: 1px solid rgba(255,138,56,.06);
    transition: background .25s;
    position: relative;
}
.it21-page-hero__stat:nth-child(2n) { border-right: none; }
.it21-page-hero__stat:nth-last-child(-n+2) { border-bottom: none; }
.it21-page-hero__stat:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    border-right: none;
    border-bottom: none;
}
.it21-page-hero__stat:hover {
    background: rgba(255,138,56,.04);
}
.it21-page-hero__stat span {
    display: block;
    font-family: var(--it21-font-ui);
    font-size: .6rem;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: rgba(230,210,190,.45);
    margin-bottom: 6px;
}
.it21-page-hero__stat strong {
    display: block;
    font-family: var(--it21-font-head);
    font-size: 1.35rem;
    color: #fff;
    line-height: 1.1;
    text-shadow: 0 2px 10px rgba(255,100,30,.15);
}

/* ── B.  Sub-navigation  (it21-subnav) ── */
.it21-subnav {
    display: flex;
    flex-wrap: wrap;
    gap: 3px;
    padding: 5px 6px;
    margin: 0 0 24px;
    background:
        linear-gradient(180deg, rgba(20,9,6,.95) 0%, rgba(14,6,4,.9) 100%);
    border: 1px solid var(--it21-line);
    border-radius: var(--it21-radius);
    position: relative;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0,0,0,.25);
}
.it21-subnav::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--it21-gold), transparent);
    animation: it21-fireline-pulse 3s ease-in-out infinite;
}
.it21-subnav a {
    padding: 7px 14px;
    font-family: var(--it21-font-ui);
    font-size: .76rem;
    font-weight: 600;
    letter-spacing: .6px;
    text-transform: uppercase;
    color: var(--it21-text-dim);
    text-decoration: none;
    border-radius: var(--it21-radius-sm);
    transition: color .2s, background .2s;
    position: relative;
}
.it21-subnav a:hover {
    color: var(--it21-gold-soft);
    background: rgba(255,138,56,.08);
}
.it21-subnav a.is-active {
    color: #fff;
    background: linear-gradient(135deg, rgba(255,138,56,.2), rgba(255,80,20,.1));
    box-shadow: inset 0 0 0 1px rgba(255,138,56,.28), 0 0 8px rgba(255,138,56,.08);
}

/* ── C.  Panel  (it21-panel) ── */
.it21-panel {
    background:
        radial-gradient(ellipse at 50% 0%, rgba(255,138,56,.03) 0%, transparent 60%),
        rgba(16,7,6,.94);
    border: 1px solid var(--it21-line);
    border-radius: var(--it21-radius);
    padding: 0;
    position: relative;
    overflow: hidden;
    animation: it21-fade-up .35s ease-out both;
    box-shadow: 0 2px 16px rgba(0,0,0,.2);
}
.it21-panel::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent 5%, var(--it21-gold) 50%, transparent 95%);
    opacity: .4;
}
.it21-panel__head {
    padding: 22px 26px 16px;
    border-bottom: 1px solid rgba(255,138,56,.08);
    background: rgba(255,138,56,.015);
}
.it21-panel__head h2 {
    font-family: var(--it21-font-head);
    font-size: 1.1rem;
    color: #fff;
    margin: 5px 0 0;
    letter-spacing: .3px;
    text-shadow: 0 1px 6px rgba(255,100,30,.12);
}
.it21-panel__body,
.it21-panel > .it21-kv-list,
.it21-panel > .it21-action-grid,
.it21-panel > .it21-timeline,
.it21-panel > .it21-empty,
.it21-panel > .it21-char-grid,
.it21-panel > .it21-form,
.it21-panel > .it21-table-wrap,
.it21-panel > .it21-svc-grid,
.it21-panel > .it21-tier-grid,
.it21-panel > .it21-msg-stack,
.it21-panel > .it21-copy-box,
.it21-panel > .it21-metrics {
    padding: 20px 26px 22px;
}

/* ── D.  Kicker  &  empty  state ── */
.it21-kicker {
    display: inline-block;
    font-family: var(--it21-font-ui);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    color: var(--it21-gold);
    margin-bottom: 2px;
    position: relative;
    padding-left: 14px;
}
.it21-kicker::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 6px;
    height: 6px;
    background: var(--it21-gold);
    border-radius: 50%;
    box-shadow: 0 0 6px rgba(255,138,56,.5);
}
.it21-empty {
    padding: 40px 16px;
    text-align: center;
    color: var(--it21-text-dim);
    font-style: italic;
    font-size: .88rem;
}

/* ── E.  Layout helpers ── */
.it21-stack {
    display: flex;
    flex-direction: column;
    gap: 22px;
}
.it21-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;
}

/* ── F.  Metrics  bar  (it21-metrics / it21-metric) ── */
.it21-metrics {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 14px;
    margin-bottom: 0;
}
.it21-metric {
    background:
        radial-gradient(ellipse at 50% 20%, rgba(255,138,56,.04) 0%, transparent 60%),
        rgba(14,6,4,.92);
    border: 1px solid var(--it21-line);
    border-radius: var(--it21-radius-sm);
    padding: 22px 18px 20px;
    text-align: center;
    position: relative;
    overflow: hidden;
    transition: border-color .25s, box-shadow .25s, transform .2s;
    animation: it21-fade-up .4s ease-out both;
    box-shadow: 0 2px 12px rgba(0,0,0,.2);
}
.it21-metric::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--it21-gold), transparent);
    opacity: .35;
}
.it21-metric:hover {
    border-color: var(--it21-line-strong);
    box-shadow: 0 4px 24px rgba(255,138,56,.12);
    transform: translateY(-2px);
}
.it21-metric::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--it21-gold), transparent);
    opacity: 0;
    transition: opacity .3s;
}
.it21-metric:hover::after { opacity: .6; }
.it21-metric > span {
    display: block;
    font-family: var(--it21-font-ui);
    font-size: .68rem;
    font-weight: 600;
    letter-spacing: 1.1px;
    text-transform: uppercase;
    color: var(--it21-text-dim);
    margin-bottom: 8px;
}
.it21-metric > strong {
    display: block;
    font-family: var(--it21-font-head);
    font-size: 1.4rem;
    color: var(--it21-gold-soft);
    line-height: 1.15;
    text-shadow: 0 1px 8px rgba(255,138,56,.15);
}
.it21-metric > small {
    display: block;
    margin-top: 10px;
    font-size: .76rem;
    color: var(--it21-text-soft);
    line-height: 1.4;
}

/* ── G.  Key-Value  list  (it21-kv-list) ── */
.it21-kv-list {
    display: flex;
    flex-direction: column;
    gap: 0;
}
.it21-kv-list > div {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border-bottom: 1px solid rgba(255,138,56,.06);
    transition: background .2s;
}
.it21-kv-list > div:nth-child(odd) {
    background: rgba(255,138,56,.015);
}
.it21-kv-list > div:last-child { border-bottom: none; }
.it21-kv-list > div:hover { background: rgba(255,138,56,.05); }
.it21-kv-list > div > strong {
    font-family: var(--it21-font-ui);
    font-size: .82rem;
    font-weight: 600;
    color: var(--it21-text);
    letter-spacing: .3px;
    white-space: nowrap;
}
.it21-kv-list > div > span {
    font-size: .84rem;
    color: var(--it21-text-dim);
    text-align: right;
    word-break: break-word;
    font-family: var(--it21-font-body);
}

/* ── H.  Tables  (it21-table-wrap / it21-table) ── */
.it21-table-wrap {
    overflow-x: auto;
    border-radius: var(--it21-radius-sm);
}
.it21-table {
    width: 100%;
    border-collapse: collapse;
    font-size: .85rem;
}
.it21-table thead {
    background: rgba(255,138,56,.07);
}
.it21-table th {
    font-family: var(--it21-font-ui);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--it21-gold);
    padding: 12px 14px;
    text-align: left;
    border-bottom: 2px solid rgba(255,138,56,.15);
    white-space: nowrap;
}
.it21-table td {
    padding: 11px 14px;
    color: var(--it21-text);
    border-bottom: 1px solid rgba(255,138,56,.05);
    vertical-align: middle;
}
.it21-table tbody tr {
    transition: background .2s;
}
.it21-table tbody tr:nth-child(odd) {
    background: rgba(255,138,56,.012);
}
.it21-table tbody tr:hover {
    background: rgba(255,138,56,.05);
}
.it21-table tbody tr:last-child td {
    border-bottom: none;
}

/* ── I.  Pagination  (it21-pagination) ── */
.it21-pagination {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 6px;
    padding-top: 20px;
    margin-top: 16px;
    border-top: 1px solid rgba(255,138,56,.08);
}

/* ── J.  Forms ── */
.it21-form {
    display: flex;
    flex-direction: column;
    gap: 18px;
}
.it21-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}
.it21-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.it21-field > span {
    font-family: var(--it21-font-ui);
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .8px;
    text-transform: uppercase;
    color: var(--it21-text-dim);
}
.it21-input {
    display: block;
    width: 100%;
    padding: 10px 14px;
    font-family: var(--it21-font-body);
    font-size: .88rem;
    color: #fff;
    background: rgba(10,4,4,.7);
    border: 1px solid var(--it21-line);
    border-radius: var(--it21-radius-sm);
    outline: none;
    transition: border-color .25s, box-shadow .25s;
    box-sizing: border-box;
}
.it21-input:focus {
    border-color: var(--it21-gold);
    box-shadow: 0 0 0 3px rgba(255,138,56,.15);
}
.it21-input:disabled {
    opacity: .5;
    cursor: not-allowed;
}
select.it21-input {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23ff8a38' stroke-width='1.5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    padding-right: 32px;
}

/* ── K.  Buttons ── */
.it21-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 11px 28px;
    font-family: var(--it21-font-ui);
    font-size: .82rem;
    font-weight: 700;
    letter-spacing: .8px;
    text-transform: uppercase;
    color: #fff;
    background: linear-gradient(135deg, rgba(255,138,56,.28), rgba(255,60,20,.16));
    border: 1px solid rgba(255,138,56,.4);
    border-radius: var(--it21-radius-sm);
    cursor: pointer;
    transition: background .25s, border-color .25s, box-shadow .25s, transform .15s;
    text-decoration: none;
    white-space: nowrap;
}
.it21-btn:hover {
    background: linear-gradient(135deg, rgba(255,138,56,.42), rgba(255,60,20,.25));
    border-color: var(--it21-gold);
    box-shadow: 0 0 16px rgba(255,138,56,.2);
    transform: translateY(-1px);
}
.it21-btn:active {
    transform: translateY(0);
}
.it21-btn:disabled {
    opacity: .4;
    cursor: not-allowed;
    transform: none;
}
.it21-btn--sm {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px 14px;
    font-family: var(--it21-font-ui);
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .6px;
    text-transform: uppercase;
    color: var(--it21-gold-soft);
    background: rgba(255,138,56,.1);
    border: 1px solid rgba(255,138,56,.25);
    border-radius: 8px;
    cursor: pointer;
    transition: background .2s, color .2s, border-color .2s;
    text-decoration: none;
    white-space: nowrap;
}
.it21-btn--sm:hover {
    background: rgba(255,138,56,.2);
    color: #fff;
    border-color: var(--it21-gold);
}
.it21-btn--sm:disabled {
    opacity: .35;
    cursor: not-allowed;
}
.it21-btn--sm.is-active {
    color: #fff;
    background: rgba(255,138,56,.25);
    border-color: var(--it21-gold);
}
.it21-btn--muted,
.it21-btn--sm.it21-btn--muted {
    color: var(--it21-text-dim);
    background: rgba(255,138,56,.04);
    border-color: rgba(255,138,56,.1);
    cursor: default;
}
.it21-form-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin-top: 4px;
}

/* ── L.  Character  grid  &  cards ── */
.it21-char-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 14px;
}
.it21-char-card {
    background:
        radial-gradient(ellipse at 50% 0%, rgba(255,138,56,.03) 0%, transparent 60%),
        rgba(12,5,4,.9);
    border: 1px solid var(--it21-line);
    border-radius: var(--it21-radius-sm);
    padding: 18px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    transition: border-color .25s, box-shadow .25s, transform .2s;
    animation: it21-fade-up .4s ease-out both;
    position: relative;
    overflow: hidden;
}
.it21-char-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255,138,56,.3), transparent);
    opacity: .5;
}
.it21-char-card:hover {
    border-color: var(--it21-line-strong);
    box-shadow: 0 6px 28px rgba(255,138,56,.1);
    transform: translateY(-2px);
}
.it21-char-card__head {
    display: flex;
    align-items: center;
    gap: 12px;
}
.it21-char-card__head img {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    border: 2px solid rgba(255,138,56,.3);
    object-fit: cover;
    background: rgba(0,0,0,.3);
    flex-shrink: 0;
    box-shadow: 0 0 10px rgba(255,138,56,.12);
}
.it21-char-card__head h3 {
    font-family: var(--it21-font-head);
    font-size: .95rem;
    color: #fff;
    margin: 0;
}
.it21-char-card__head h3 a {
    color: inherit;
    text-decoration: none;
    transition: color .2s;
}
.it21-char-card__head h3 a:hover {
    color: var(--it21-gold-soft);
}
.it21-char-card__head span {
    font-size: .76rem;
    color: var(--it21-text-dim);
}
.it21-char-card__head > div {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

/* ── L2.  Inline  key-value  (it21-kv) ── */
.it21-kv {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 7px 0;
    border-top: 1px solid rgba(255,138,56,.06);
    font-size: .82rem;
}
.it21-kv > span {
    color: var(--it21-text-dim);
}
.it21-kv > strong {
    color: var(--it21-text);
    font-weight: 600;
}

/* ── L3.  Side  actions ── */
.it21-side-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 4px;
}

/* ── M.  Action  grid  &  tiles ── */
.it21-action-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 10px;
}
.it21-action-tile {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 14px 16px 14px 18px;
    background: rgba(255,138,56,.025);
    border: 1px solid rgba(255,138,56,.1);
    border-radius: var(--it21-radius-sm);
    text-decoration: none;
    transition: background .2s, border-color .2s, box-shadow .2s, transform .15s;
    position: relative;
    overflow: hidden;
}
.it21-action-tile::before {
    content: '';
    position: absolute;
    top: 8px; bottom: 8px; left: 0;
    width: 3px;
    background: linear-gradient(180deg, var(--it21-gold), rgba(255,60,20,.6));
    border-radius: 0 2px 2px 0;
    opacity: .4;
    transition: opacity .2s;
}
.it21-action-tile:hover::before { opacity: 1; }
.it21-action-tile:hover {
    background: rgba(255,138,56,.08);
    border-color: rgba(255,138,56,.35);
    box-shadow: 0 2px 16px rgba(255,138,56,.08);
    transform: translateY(-1px);
}
.it21-action-tile strong {
    font-family: var(--it21-font-ui);
    font-size: .8rem;
    font-weight: 700;
    letter-spacing: .4px;
    color: var(--it21-gold-soft);
}
.it21-action-tile span {
    font-size: .76rem;
    color: var(--it21-text-dim);
    line-height: 1.35;
}

/* ── N.  Timeline ── */
.it21-timeline {
    display: flex;
    flex-direction: column;
    gap: 0;
}
.it21-timeline__item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding: 12px 14px;
    border-bottom: 1px solid rgba(255,138,56,.05);
    transition: background .2s;
    position: relative;
}
.it21-timeline__item::before {
    content: '';
    position: absolute;
    left: 0; top: 50%;
    transform: translateY(-50%);
    width: 3px;
    height: 3px;
    background: var(--it21-gold);
    border-radius: 50%;
    opacity: .5;
}
.it21-timeline__item:last-child { border-bottom: none; }
.it21-timeline__item:hover { background: rgba(255,138,56,.04); }
.it21-timeline__item > strong {
    font-size: .84rem;
    font-weight: 500;
    color: var(--it21-text);
    min-width: 0;
    word-break: break-word;
}
.it21-timeline__item > span {
    font-size: .76rem;
    color: var(--it21-text-dim);
    white-space: nowrap;
    flex-shrink: 0;
}

/* ── O.  Service  card  grid  (resets / grand-resets / skilltree) ── */
.it21-svc-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 16px;
}
.it21-svc-card {
    background:
        radial-gradient(ellipse at 50% 0%, rgba(255,138,56,.03) 0%, transparent 55%),
        rgba(12,5,4,.93);
    border: 1px solid var(--it21-line);
    border-radius: var(--it21-radius);
    padding: 22px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    position: relative;
    overflow: hidden;
    transition: border-color .25s, box-shadow .25s, transform .2s;
    animation: it21-fade-up .4s ease-out both;
    box-shadow: 0 2px 12px rgba(0,0,0,.2);
}
.it21-svc-card:hover {
    border-color: var(--it21-line-strong);
    box-shadow: 0 6px 28px rgba(255,138,56,.1);
    transform: translateY(-1px);
}
.it21-svc-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent 10%, var(--it21-gold) 50%, transparent 90%);
    opacity: .3;
}
.it21-svc-card.is-ready { border-color: rgba(68,221,68,.25); }
.it21-svc-card.is-disabled { opacity: .55; }
.it21-svc-card__meta {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
}
.it21-svc-card__meta h3 {
    font-family: var(--it21-font-head);
    font-size: 1rem;
    color: #fff;
    margin: 2px 0;
}
.it21-svc-card__meta p {
    font-size: .8rem;
    color: var(--it21-text-dim);
    margin: 0;
}

/* ── O2.  Key-Value  grid  (inside  service  cards) ── */
.it21-kv-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px 16px;
}
.it21-kv-grid > div {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 8px 0;
    border-bottom: 1px solid rgba(255,138,56,.06);
}
.it21-kv-grid > div > span {
    font-size: .72rem;
    color: var(--it21-text-dim);
    text-transform: uppercase;
    letter-spacing: .5px;
    font-family: var(--it21-font-ui);
}
.it21-kv-grid > div > strong {
    font-size: .88rem;
    color: var(--it21-text);
}

/* ── O3.  Reward  row ── */
.it21-reward {
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding: 10px 0;
    border-top: 1px solid rgba(255,138,56,.06);
}
.it21-reward > span {
    font-size: .72rem;
    color: var(--it21-text-dim);
    text-transform: uppercase;
    font-family: var(--it21-font-ui);
    letter-spacing: .5px;
}
.it21-reward > strong {
    font-size: .86rem;
    color: var(--it21-gold-soft);
}

/* ── P.  Status  badge ── */
.it21-badge {
    display: inline-flex;
    align-items: center;
    padding: 4px 12px;
    font-family: var(--it21-font-ui);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .8px;
    text-transform: uppercase;
    border-radius: 20px;
    white-space: nowrap;
    color: var(--it21-text-dim);
    background: rgba(255,138,56,.08);
    border: 1px solid rgba(255,138,56,.15);
}
.it21-badge.is-accent {
    color: var(--it21-green);
    background: rgba(68,221,68,.08);
    border-color: rgba(68,221,68,.25);
}
.it21-badge.is-muted {
    color: var(--it21-text-dim);
    background: rgba(255,255,255,.03);
    border-color: rgba(255,255,255,.08);
}
.it21-badge.is-warn {
    color: #ffa726;
    background: rgba(255,167,38,.08);
    border-color: rgba(255,167,38,.2);
}

/* ── Q.  Copy  box  (referrals) ── */
.it21-copy-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 18px;
    background: rgba(10,4,4,.7);
    border: 1px solid var(--it21-line);
    border-radius: var(--it21-radius-sm);
    margin-bottom: 16px;
}
.it21-copy-box > strong {
    font-family: var(--it21-font-head);
    font-size: 1.05rem;
    color: var(--it21-gold-soft);
    letter-spacing: .5px;
    word-break: break-all;
}

/* ── R.  VIP  tier  grid  &  cards ── */
.it21-tier-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 16px;
}
.it21-tier-card {
    background:
        radial-gradient(ellipse at 50% 0%, rgba(255,138,56,.03) 0%, transparent 60%),
        rgba(12,5,4,.88);
    border: 1px solid var(--it21-line);
    border-radius: var(--it21-radius-sm);
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    transition: border-color .25s, box-shadow .25s, transform .2s;
    position: relative;
    overflow: hidden;
}
.it21-tier-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255,138,56,.3), transparent);
    opacity: .4;
}
.it21-tier-card:hover {
    border-color: var(--it21-line-strong);
    transform: translateY(-2px);
    box-shadow: 0 6px 24px rgba(255,138,56,.1);
}
.it21-tier-card.is-active {
    border-color: var(--it21-gold);
    box-shadow: 0 0 20px rgba(255,138,56,.15);
    animation: it21-glow-breathe 3s ease-in-out infinite;
}
.it21-tier-card h3 {
    font-family: var(--it21-font-head);
    font-size: 1.05rem;
    margin: 0;
}
.it21-tier-card ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.it21-tier-card li {
    font-size: .82rem;
    color: var(--it21-text-dim);
    padding-left: 16px;
    position: relative;
}
.it21-tier-card li::before {
    content: '▸';
    position: absolute;
    left: 0;
    color: var(--it21-gold);
    font-size: .7rem;
}

/* ── S.  Messages  (error / success) ── */
.it21-msg-stack {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.it21-error {
    padding: 14px 18px;
    background: rgba(220,38,38,.12);
    border: 1px solid rgba(220,38,38,.3);
    border-radius: var(--it21-radius-sm);
    color: #fca5a5;
    font-size: .88rem;
}
.it21-success {
    padding: 14px 18px;
    background: rgba(68,221,68,.08);
    border: 1px solid rgba(68,221,68,.22);
    border-radius: var(--it21-radius-sm);
    color: #86efac;
    font-size: .88rem;
}

/* ── T.  Responsive  breakpoints  for  account  pages ── */
@media (max-width: 900px) {
    .it21-page-hero { grid-template-columns: 1fr; }
    .it21-page-hero__aside {
        border-left: none;
        border-top: 1px solid rgba(255,138,56,.1);
    }
    .it21-page-hero__stats { grid-template-columns: repeat(auto-fit, minmax(100px, 1fr)); }
    .it21-page-hero__stat:last-child:nth-child(odd) { grid-column: auto; }
    .it21-grid { grid-template-columns: 1fr; }
    .it21-svc-grid { grid-template-columns: 1fr; }
    .it21-tier-grid { grid-template-columns: 1fr; }
    .it21-kv-grid { grid-template-columns: 1fr; }
    .it21-form-row { grid-template-columns: 1fr; }
    .it21-char-grid { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
}
@media (max-width: 640px) {
    .it21-page-hero__copy {
        padding: 20px 18px;
    }
    .it21-page-hero__copy h1 {
        font-size: 1.1rem;
    }
    .it21-page-hero__stats {
        grid-template-columns: repeat(2, 1fr);
    }
    .it21-hero__actions {
        flex-direction: column;
    }
    .it21-hero__actions .it21-cta {
        width: 100%;
        justify-content: center;
    }
    .it21-subnav {
        gap: 3px;
        padding: 5px 6px;
    }
    .it21-subnav a {
        padding: 6px 10px;
        font-size: .72rem;
    }
    .it21-panel__head { padding: 18px 18px 14px; }
    .it21-panel__body,
    .it21-panel > .it21-kv-list,
    .it21-panel > .it21-action-grid,
    .it21-panel > .it21-timeline,
    .it21-panel > .it21-empty,
    .it21-panel > .it21-char-grid,
    .it21-panel > .it21-form,
    .it21-panel > .it21-table-wrap {
        padding: 16px 18px 18px;
    }
    .it21-metrics {
        grid-template-columns: 1fr;
    }
    .it21-action-grid {
        grid-template-columns: 1fr;
    }
    .it21-char-grid {
        grid-template-columns: 1fr;
    }
    .it21-copy-box {
        flex-direction: column;
        text-align: center;
    }
    .it21-timeline__item {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
    }
}


/* ═══════════════════════════════════════════════════════════
   VOTE PAGE — Infernal Throne Redesign
   ═══════════════════════════════════════════════════════════ */

/* ── Compact Wallet Bar ── */
body.theme-season21-infernal-throne .vt-wallet {
    display: flex;
    align-items: center;
    gap: 0;
    padding: 8px 16px;
    margin-bottom: 14px;
    background: linear-gradient(135deg, rgba(255,138,56,0.06) 0%, rgba(255,60,20,0.03) 100%);
    border: 1px solid rgba(255,138,56,0.14);
    border-radius: var(--it21-radius-sm);
}

body.theme-season21-infernal-throne .vt-wallet__item {
    display: flex;
    align-items: center;
    gap: 7px;
    flex: 1;
    padding: 4px 0;
}

body.theme-season21-infernal-throne .vt-wallet__item > i {
    font-size: 0.95rem;
    color: var(--it21-gold);
    flex-shrink: 0;
}

body.theme-season21-infernal-throne .vt-wallet__label {
    font-family: var(--it21-font-ui);
    font-size: 0.62rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: var(--it21-text-dim);
    margin-right: 6px;
}

body.theme-season21-infernal-throne .vt-wallet__val {
    font-family: var(--it21-font-ui);
    font-size: 0.85rem;
    font-weight: 700;
    color: #fff;
}

body.theme-season21-infernal-throne .vt-wallet__sep {
    width: 1px;
    height: 22px;
    background: rgba(255,138,56,0.15);
    margin: 0 14px;
    flex-shrink: 0;
}

/* ── Ribbon (quick stats) ── */
body.theme-season21-infernal-throne .vt-ribbon {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    margin-bottom: 28px;
}

body.theme-season21-infernal-throne .vt-ribbon__stat {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 16px;
    background: rgba(255,138,56,0.04);
    border: 1px solid rgba(255,138,56,0.10);
    border-radius: var(--it21-radius-sm);
    transition: border-color 0.3s, background 0.3s;
}

body.theme-season21-infernal-throne .vt-ribbon__stat:hover {
    border-color: rgba(255,138,56,0.25);
    background: rgba(255,138,56,0.07);
}

body.theme-season21-infernal-throne .vt-ribbon__stat > i {
    font-size: 1.5rem;
    color: var(--it21-gold);
    flex-shrink: 0;
}

body.theme-season21-infernal-throne .vt-ribbon__stat > div {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
}

body.theme-season21-infernal-throne .vt-ribbon__val {
    font-family: var(--it21-font-ui);
    font-size: 1.1rem;
    font-weight: 700;
    color: #fff;
}

body.theme-season21-infernal-throne .vt-ribbon__lbl {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--it21-text-dim);
    font-weight: 600;
}

/* ── Steps (how it works) ── */
body.theme-season21-infernal-throne .vt-steps {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-bottom: 28px;
    padding: 16px 20px;
    background: rgba(255,138,56,0.03);
    border: 1px solid rgba(255,138,56,0.08);
    border-radius: var(--it21-radius-sm);
}

body.theme-season21-infernal-throne .vt-step {
    display: flex;
    align-items: center;
    gap: 10px;
}

body.theme-season21-infernal-throne .vt-step__icon {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(255,138,56,0.15), rgba(255,60,20,0.10));
    border: 1px solid rgba(255,138,56,0.20);
    font-size: 1rem;
    color: var(--it21-gold);
    flex-shrink: 0;
}

body.theme-season21-infernal-throne .vt-step__body {
    display: flex;
    flex-direction: column;
    line-height: 1.3;
}

body.theme-season21-infernal-throne .vt-step__body strong {
    font-family: var(--it21-font-ui);
    font-size: 0.82rem;
    color: #fff;
    font-weight: 700;
}

body.theme-season21-infernal-throne .vt-step__body span {
    font-size: 0.72rem;
    color: var(--it21-text-dim);
}

body.theme-season21-infernal-throne .vt-step__arrow {
    color: rgba(255,138,56,0.30);
    font-size: 1rem;
    flex-shrink: 0;
}

/* ── Vote Card Grid ── */
body.theme-season21-infernal-throne .vt-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
    margin-bottom: 24px;
}

body.theme-season21-infernal-throne .vt-card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 28px 20px 22px;
    background: rgba(16,7,6,0.90);
    border: 1px solid rgba(var(--vt-accent), 0.18);
    border-radius: var(--it21-radius);
    overflow: hidden;
    transition: border-color 0.3s, transform 0.25s, box-shadow 0.3s;
}

body.theme-season21-infernal-throne .vt-card:hover {
    border-color: rgba(var(--vt-accent), 0.40);
    transform: translateY(-2px);
    box-shadow: 0 8px 30px rgba(var(--vt-accent), 0.12);
}

/* glow orb behind icon */
body.theme-season21-infernal-throne .vt-card__glow {
    position: absolute;
    top: -20px;
    left: 50%;
    transform: translateX(-50%);
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(var(--vt-accent), 0.20) 0%, transparent 70%);
    pointer-events: none;
    z-index: 0;
}

body.theme-season21-infernal-throne .vt-card--ready .vt-card__glow {
    animation: vt-pulse 3s ease-in-out infinite;
}

@keyframes vt-pulse {
    0%, 100% { opacity: 0.6; transform: translateX(-50%) scale(1); }
    50%      { opacity: 1;   transform: translateX(-50%) scale(1.15); }
}

/* badge */
body.theme-season21-infernal-throne .vt-card__badge {
    position: absolute;
    top: 10px;
    right: 10px;
    font-family: var(--it21-font-ui);
    font-size: 0.62rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 3px 8px;
    border-radius: 20px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

body.theme-season21-infernal-throne .vt-card__badge--go {
    background: rgba(68,221,68,0.12);
    color: #44dd44;
    border: 1px solid rgba(68,221,68,0.25);
}

body.theme-season21-infernal-throne .vt-card__badge--wait {
    background: rgba(255,138,56,0.08);
    color: var(--it21-text-dim);
    border: 1px solid rgba(255,138,56,0.12);
}

/* icon */
body.theme-season21-infernal-throne .vt-card__icon {
    position: relative;
    z-index: 1;
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(var(--vt-accent), 0.10);
    border: 1px solid rgba(var(--vt-accent), 0.22);
    font-size: 1.5rem;
    color: rgb(var(--vt-accent));
    margin-bottom: 12px;
    transition: background 0.3s, box-shadow 0.3s;
}

body.theme-season21-infernal-throne .vt-card--ready .vt-card__icon {
    box-shadow: 0 0 16px rgba(var(--vt-accent), 0.20);
}

body.theme-season21-infernal-throne .vt-card:hover .vt-card__icon {
    background: rgba(var(--vt-accent), 0.18);
    box-shadow: 0 0 24px rgba(var(--vt-accent), 0.25);
}

/* name + reward */
body.theme-season21-infernal-throne .vt-card__name {
    font-family: var(--it21-font-head);
    font-size: 1rem;
    font-weight: 700;
    color: #fff;
    margin: 0 0 4px;
}

body.theme-season21-infernal-throne .vt-card__reward {
    font-family: var(--it21-font-ui);
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--it21-gold);
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-bottom: 16px;
}

/* ── Actions (ready state) ── */
body.theme-season21-infernal-throne .vt-card__actions {
    display: flex;
    gap: 8px;
    width: 100%;
}

body.theme-season21-infernal-throne .vt-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 9px 16px;
    border-radius: 8px;
    font-family: var(--it21-font-ui);
    font-size: 0.78rem;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    border: none;
    transition: all 0.25s;
    white-space: nowrap;
}

body.theme-season21-infernal-throne .vt-btn--vote {
    flex: 1;
    background: rgba(var(--vt-accent), 0.12);
    color: rgb(var(--vt-accent));
    border: 1px solid rgba(var(--vt-accent), 0.22);
}

body.theme-season21-infernal-throne .vt-btn--vote:hover {
    background: rgba(var(--vt-accent), 0.22);
    color: #fff;
    box-shadow: 0 4px 16px rgba(var(--vt-accent), 0.18);
}

body.theme-season21-infernal-throne .vt-btn--claim {
    flex: 1;
    background: linear-gradient(135deg, var(--it21-gold) 0%, #d05510 100%);
    color: #fff;
    border: 1px solid transparent;
    text-shadow: 0 1px 2px rgba(0,0,0,0.3);
}

body.theme-season21-infernal-throne .vt-btn--claim:hover {
    filter: brightness(1.1);
    box-shadow: 0 4px 20px rgba(255,100,20,0.30);
    color: #fff;
}

/* ── Cooldown bar (cooldown state) ── */
body.theme-season21-infernal-throne .vt-card--cooldown {
    opacity: 0.7;
}

body.theme-season21-infernal-throne .vt-card--cooldown:hover {
    opacity: 0.85;
}

body.theme-season21-infernal-throne .vt-card__cd {
    width: 100%;
}

body.theme-season21-infernal-throne .vt-card__cd-track {
    width: 100%;
    height: 5px;
    background: rgba(255,255,255,0.06);
    border-radius: 3px;
    overflow: hidden;
    margin-bottom: 8px;
}

body.theme-season21-infernal-throne .vt-card__cd-fill {
    height: 100%;
    background: linear-gradient(90deg, rgba(var(--vt-accent), 0.50), rgba(var(--vt-accent), 0.80));
    border-radius: 3px;
    transition: width 0.6s ease;
}

body.theme-season21-infernal-throne .vt-card__cd-text {
    font-size: 0.72rem;
    color: var(--it21-text-dim);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}

/* ── Shop CTA ── */
body.theme-season21-infernal-throne .vt-cta {
    margin-bottom: 28px;
}

body.theme-season21-infernal-throne .vt-cta__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 20px;
    background: linear-gradient(135deg, rgba(255,138,56,0.06) 0%, rgba(255,60,20,0.04) 100%);
    border: 1px solid rgba(255,138,56,0.12);
    border-radius: var(--it21-radius-sm);
}

body.theme-season21-infernal-throne .vt-cta__text {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 0.82rem;
    color: var(--it21-text-soft);
}

body.theme-season21-infernal-throne .vt-cta__text > i {
    font-size: 1.4rem;
    color: var(--it21-gold);
    flex-shrink: 0;
}

body.theme-season21-infernal-throne .vt-cta__text strong {
    color: #fff;
    display: block;
    font-size: 0.85rem;
    margin-bottom: 2px;
}

body.theme-season21-infernal-throne .vt-cta__text span {
    font-size: 0.75rem;
    color: var(--it21-text-dim);
}

body.theme-season21-infernal-throne .vt-btn--shop {
    background: linear-gradient(135deg, var(--it21-gold) 0%, #d05510 100%);
    color: #fff;
    padding: 10px 20px;
    flex-shrink: 0;
}

body.theme-season21-infernal-throne .vt-btn--shop:hover {
    filter: brightness(1.1);
    box-shadow: 0 4px 20px rgba(255,100,20,0.25);
    color: #fff;
}

/* ── Leaderboard ── */
body.theme-season21-infernal-throne .vt-leaderboard {
    border: 1px solid rgba(255,138,56,0.10);
    border-radius: var(--it21-radius);
    overflow: hidden;
    background: rgba(255,138,56,0.02);
}

body.theme-season21-infernal-throne .vt-lb__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 18px;
    border-bottom: 1px solid rgba(255,138,56,0.08);
}

body.theme-season21-infernal-throne .vt-lb__head h3 {
    font-family: var(--it21-font-head);
    font-size: 0.95rem;
    font-weight: 700;
    color: #fff;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

body.theme-season21-infernal-throne .vt-lb__head h3 i {
    color: #ffd700;
}

body.theme-season21-infernal-throne .vt-lb__tabs {
    display: flex;
    gap: 4px;
}

body.theme-season21-infernal-throne .vt-lb__tab {
    font-family: var(--it21-font-ui);
    font-size: 0.70rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 5px 12px;
    border-radius: 6px;
    border: 1px solid rgba(255,138,56,0.10);
    background: transparent;
    color: var(--it21-text-dim);
    cursor: pointer;
    transition: all 0.2s;
}

body.theme-season21-infernal-throne .vt-lb__tab:hover {
    border-color: rgba(255,138,56,0.25);
    color: var(--it21-text);
}

body.theme-season21-infernal-throne .vt-lb__tab.is-active {
    background: rgba(255,138,56,0.12);
    border-color: rgba(255,138,56,0.30);
    color: var(--it21-gold);
}

body.theme-season21-infernal-throne .vt-lb__panel {
    display: none;
    padding: 6px 0;
}

body.theme-season21-infernal-throne .vt-lb__panel.is-active {
    display: block;
}

body.theme-season21-infernal-throne .vt-lb__empty {
    text-align: center;
    padding: 30px 20px;
    color: var(--it21-text-dim);
    font-size: 0.82rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

body.theme-season21-infernal-throne .vt-lb__row {
    display: grid;
    grid-template-columns: 40px 1fr auto auto;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    border-bottom: 1px solid rgba(255,138,56,0.04);
    transition: background 0.2s;
}

body.theme-season21-infernal-throne .vt-lb__row:last-child {
    border-bottom: none;
}

body.theme-season21-infernal-throne .vt-lb__row:hover {
    background: rgba(255,138,56,0.04);
}

body.theme-season21-infernal-throne .vt-lb__row--top {
    background: rgba(255,138,56,0.03);
}

body.theme-season21-infernal-throne .vt-lb__rank {
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--it21-font-ui);
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--it21-text-dim);
}

body.theme-season21-infernal-throne .vt-lb__rank i {
    font-size: 1.1rem;
}

body.theme-season21-infernal-throne .vt-lb__name {
    font-family: var(--it21-font-ui);
    font-size: 0.82rem;
    font-weight: 600;
    color: #fff;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.theme-season21-infernal-throne .vt-lb__count,
body.theme-season21-infernal-throne .vt-lb__credits {
    font-family: var(--it21-font-ui);
    font-size: 0.72rem;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
}

body.theme-season21-infernal-throne .vt-lb__count {
    color: var(--it21-text-dim);
}

body.theme-season21-infernal-throne .vt-lb__credits {
    color: var(--it21-gold);
}

/* ── Vote Page — Responsive ── */
@media (max-width: 768px) {
    body.theme-season21-infernal-throne .vt-wallet {
        flex-direction: column;
        gap: 0;
        padding: 10px 14px;
    }
    body.theme-season21-infernal-throne .vt-wallet__sep {
        width: 100%;
        height: 1px;
        margin: 4px 0;
    }
    body.theme-season21-infernal-throne .vt-ribbon {
        grid-template-columns: repeat(2, 1fr);
    }
    body.theme-season21-infernal-throne .vt-grid {
        grid-template-columns: 1fr;
    }
    body.theme-season21-infernal-throne .vt-steps {
        flex-direction: column;
        gap: 8px;
    }
    body.theme-season21-infernal-throne .vt-step__arrow {
        transform: rotate(90deg);
    }
    body.theme-season21-infernal-throne .vt-cta__inner {
        flex-direction: column;
        text-align: center;
    }
    body.theme-season21-infernal-throne .vt-cta__text {
        flex-direction: column;
    }
    body.theme-season21-infernal-throne .vt-lb__row {
        grid-template-columns: 32px 1fr auto;
    }
    body.theme-season21-infernal-throne .vt-lb__credits {
        display: none;
    }
    body.theme-season21-infernal-throne .vt-lb__head {
        flex-direction: column;
        gap: 10px;
    }
}

@media (max-width: 480px) {
    body.theme-season21-infernal-throne .vt-ribbon {
        grid-template-columns: 1fr;
    }
    body.theme-season21-infernal-throne .vt-card__actions {
        flex-direction: column;
    }
}

/* ══════════════════════════════════════════════════════════════
   Gift Code Page
   ══════════════════════════════════════════════════════════════ */
body.theme-season21-infernal-throne .gc-section {
    max-width: 520px;
    margin: 0 auto;
}
body.theme-season21-infernal-throne .gc-card {
    background: radial-gradient(ellipse at 50% 0%, rgba(255,100,30,0.06) 0%, transparent 60%), rgba(10,4,2,0.7);
    border: 1px solid rgba(255,138,56,0.1);
    border-radius: var(--it21-radius);
    padding: 32px;
    text-align: center;
}
body.theme-season21-infernal-throne .gc-card h2 {
    font-family: var(--it21-font-display);
    color: var(--it21-gold);
    font-size: 1.3rem;
    margin-bottom: 8px;
}
body.theme-season21-infernal-throne .gc-card p {
    color: var(--it21-text-dim);
    font-size: 0.85rem;
    margin-bottom: 24px;
}
body.theme-season21-infernal-throne .gc-input-row {
    display: flex;
    gap: 10px;
    margin-bottom: 16px;
}
body.theme-season21-infernal-throne .gc-input-row input {
    flex: 1;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    font-family: var(--it21-font-ui);
}

/* ══════════════════════════════════════════════════════════════
   Level Rewards Page
   ══════════════════════════════════════════════════════════════ */
body.theme-season21-infernal-throne .lr-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 16px;
    margin-bottom: 24px;
}
body.theme-season21-infernal-throne .lr-card {
    background: radial-gradient(ellipse at 30% 0%, rgba(255,100,30,0.05) 0%, transparent 60%), rgba(10,4,2,0.65);
    border: 1px solid rgba(255,138,56,0.08);
    border-radius: var(--it21-radius);
    padding: 20px;
    transition: border-color 0.3s;
}
body.theme-season21-infernal-throne .lr-card:hover {
    border-color: rgba(255,138,56,0.2);
}
body.theme-season21-infernal-throne .lr-card__title {
    font-family: var(--it21-font-display);
    color: var(--it21-gold);
    font-size: 1rem;
    margin-bottom: 6px;
}
body.theme-season21-infernal-throne .lr-card__desc {
    color: var(--it21-text-dim);
    font-size: 0.82rem;
    margin-bottom: 12px;
    line-height: 1.5;
}
body.theme-season21-infernal-throne .lr-card__reward {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: var(--it21-font-ui);
    font-size: 0.85rem;
    color: var(--it21-accent);
    margin-bottom: 14px;
}
body.theme-season21-infernal-throne .lr-card__actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
body.theme-season21-infernal-throne .lr-claimed {
    color: rgba(100,220,100,0.8);
    font-size: 0.78rem;
}
body.theme-season21-infernal-throne .lr-ineligible {
    color: var(--it21-text-dim);
    opacity: 0.5;
    font-size: 0.78rem;
}

/* ══════════════════════════════════════════════════════════════
   Wheel of Fortune Page
   ══════════════════════════════════════════════════════════════ */
body.theme-season21-infernal-throne .whl-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
}
body.theme-season21-infernal-throne .whl-canvas-box {
    position: relative;
    width: 380px;
    height: 380px;
}
body.theme-season21-infernal-throne .whl-canvas-box canvas {
    width: 100%;
    height: 100%;
    filter: drop-shadow(0 0 24px rgba(255,100,30,0.25));
}
body.theme-season21-infernal-throne .whl-pointer {
    position: absolute;
    top: -18px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 2rem;
    color: var(--it21-gold);
    text-shadow: 0 2px 8px rgba(0,0,0,0.6);
    z-index: 2;
}
body.theme-season21-infernal-throne .whl-spin-btn {
    background: linear-gradient(135deg, var(--it21-gold), #b8860b);
    color: #0a0402;
    font-family: var(--it21-font-display);
    font-size: 1.1rem;
    padding: 14px 48px;
    border: none;
    border-radius: var(--it21-radius);
    cursor: pointer;
    transition: transform 0.2s, box-shadow 0.2s;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}
body.theme-season21-infernal-throne .whl-spin-btn:hover {
    transform: scale(1.05);
    box-shadow: 0 4px 20px rgba(255,138,56,0.3);
}
body.theme-season21-infernal-throne .whl-spin-btn:disabled {
    opacity: 0.4;
    cursor: not-allowed;
    transform: none;
}
body.theme-season21-infernal-throne .whl-result {
    text-align: center;
    padding: 16px 24px;
    background: rgba(255,138,56,0.08);
    border: 1px solid rgba(255,138,56,0.15);
    border-radius: var(--it21-radius);
    color: var(--it21-gold);
    font-family: var(--it21-font-display);
    font-size: 1.1rem;
    min-height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
}
body.theme-season21-infernal-throne .whl-info {
    display: flex;
    gap: 20px;
    font-size: 0.85rem;
    color: var(--it21-text-dim);
}
@media (max-width: 480px) {
    body.theme-season21-infernal-throne .whl-canvas-box {
        width: 280px;
        height: 280px;
    }
}

/* ══════════════════════════════════════════════════════════════
   Battle Pass Page
   ══════════════════════════════════════════════════════════════ */
body.theme-season21-infernal-throne .bp-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 24px;
}
body.theme-season21-infernal-throne .bp-header h2 {
    font-family: var(--it21-font-display);
    color: var(--it21-gold);
    font-size: 1.4rem;
}
body.theme-season21-infernal-throne .bp-xp-bar {
    width: 100%;
    height: 10px;
    background: rgba(255,138,56,0.08);
    border-radius: 5px;
    overflow: hidden;
    margin-bottom: 20px;
}
body.theme-season21-infernal-throne .bp-xp-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--it21-gold), #ff8a38);
    border-radius: 5px;
    transition: width 0.6s ease;
}
body.theme-season21-infernal-throne .bp-tier-track {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
body.theme-season21-infernal-throne .bp-tier {
    display: grid;
    grid-template-columns: 50px 1fr 1fr 100px;
    gap: 12px;
    align-items: center;
    padding: 14px 18px;
    border-radius: var(--it21-radius);
    background: rgba(10,4,2,0.5);
    border: 1px solid rgba(255,138,56,0.06);
    transition: border-color 0.3s;
}
body.theme-season21-infernal-throne .bp-tier:hover {
    border-color: rgba(255,138,56,0.15);
}
body.theme-season21-infernal-throne .bp-tier__num {
    font-family: var(--it21-font-display);
    color: var(--it21-gold);
    font-size: 1.1rem;
    text-align: center;
}
body.theme-season21-infernal-throne .bp-tier__reward {
    font-size: 0.85rem;
    color: var(--it21-text-dim);
}
body.theme-season21-infernal-throne .bp-tier__reward.premium {
    color: var(--it21-accent);
}
body.theme-season21-infernal-throne .bp-tier.locked {
    opacity: 0.4;
}
body.theme-season21-infernal-throne .bp-upgrade-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 24px;
    background: linear-gradient(135deg, rgba(255,138,56,0.15), rgba(255,80,0,0.08));
    border: 1px solid rgba(255,138,56,0.2);
    border-radius: var(--it21-radius);
    color: var(--it21-gold);
    font-family: var(--it21-font-display);
    cursor: pointer;
    transition: background 0.3s;
}
body.theme-season21-infernal-throne .bp-upgrade-cta:hover {
    background: linear-gradient(135deg, rgba(255,138,56,0.25), rgba(255,80,0,0.12));
}
@media (max-width: 600px) {
    body.theme-season21-infernal-throne .bp-tier {
        grid-template-columns: 40px 1fr;
        gap: 8px;
    }
    body.theme-season21-infernal-throne .bp-tier__reward.premium {
        grid-column: 2;
    }
}

/* ══════════════════════════════════════════════════════════════
   GM Panel — Stats & Permissions
   ══════════════════════════════════════════════════════════════ */
body.theme-season21-infernal-throne .gm-stats-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 16px;
    margin-bottom: 24px;
}
body.theme-season21-infernal-throne .gm-stat-card {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 22px 20px;
    background: radial-gradient(ellipse at 30% 0%, rgba(255,100,30,0.06) 0%, transparent 60%), rgba(10,4,2,0.65);
    border: 1px solid rgba(255,138,56,0.1);
    border-radius: var(--it21-radius);
}
body.theme-season21-infernal-throne .gm-stat-card > i {
    font-size: 1.8rem;
    color: var(--it21-gold);
}
body.theme-season21-infernal-throne .gm-stat-value {
    font-family: var(--it21-font-display);
    font-size: 1.4rem;
    color: #fff;
}
body.theme-season21-infernal-throne .gm-stat-label {
    font-size: 0.75rem;
    color: var(--it21-text-dim);
    text-transform: uppercase;
    letter-spacing: 0.08em;
}
body.theme-season21-infernal-throne .gm-perm-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
body.theme-season21-infernal-throne .gm-perm-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 0.78rem;
    font-family: var(--it21-font-ui);
}
body.theme-season21-infernal-throne .gm-perm-badge.granted {
    background: rgba(100,220,100,0.1);
    border: 1px solid rgba(100,220,100,0.2);
    color: rgba(100,220,100,0.9);
}
body.theme-season21-infernal-throne .gm-perm-badge.denied {
    background: rgba(255,80,80,0.08);
    border: 1px solid rgba(255,80,80,0.12);
    color: rgba(255,80,80,0.6);
}
body.theme-season21-infernal-throne .gm-search-form {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}
body.theme-season21-infernal-throne .gm-reply-form textarea {
    width: 100%;
}

/* ══════════════════════════════════════════════════════════════
   Admin Badge Helpers
   ══════════════════════════════════════════════════════════════ */
body.theme-season21-infernal-throne .badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 10px;
    border-radius: 12px;
    font-size: 0.72rem;
    font-family: var(--it21-font-ui);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
body.theme-season21-infernal-throne .badge-success {
    background: rgba(100,220,100,0.1);
    border: 1px solid rgba(100,220,100,0.2);
    color: rgba(100,220,100,0.9);
}
body.theme-season21-infernal-throne .badge-danger {
    background: rgba(255,80,80,0.1);
    border: 1px solid rgba(255,80,80,0.2);
    color: rgba(255,80,80,0.9);
}
body.theme-season21-infernal-throne .badge-warning {
    background: rgba(255,200,50,0.1);
    border: 1px solid rgba(255,200,50,0.2);
    color: rgba(255,200,50,0.9);
}
body.theme-season21-infernal-throne .badge-info {
    background: rgba(100,180,255,0.1);
    border: 1px solid rgba(100,180,255,0.2);
    color: rgba(100,180,255,0.9);
}
body.theme-season21-infernal-throne .badge-gold {
    background: rgba(212,175,55,0.12);
    border: 1px solid rgba(212,175,55,0.25);
    color: var(--it21-gold);
}
body.theme-season21-infernal-throne .badge-muted {
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.08);
    color: rgba(255,255,255,0.4);
}
body.theme-season21-infernal-throne .btn-sm {
    padding: 4px 12px;
    font-size: 0.75rem;
    border-radius: 6px;
}
body.theme-season21-infernal-throne .btn-danger {
    background: rgba(255,80,80,0.15);
    border: 1px solid rgba(255,80,80,0.25);
    color: rgba(255,80,80,0.9);
    cursor: pointer;
    transition: background 0.2s;
}
body.theme-season21-infernal-throne .btn-danger:hover {
    background: rgba(255,80,80,0.25);
}
body.theme-season21-infernal-throne .btn-success {
    background: rgba(100,220,100,0.12);
    border: 1px solid rgba(100,220,100,0.2);
    color: rgba(100,220,100,0.9);
    cursor: pointer;
    transition: background 0.2s;
}
body.theme-season21-infernal-throne .btn-success:hover {
    background: rgba(100,220,100,0.22);
}

/* ═══════════════════════════════════════════════════════════════
   ADMIN — Support Tickets, Search IP, Guides, Event Timers,
   Top Voters, Gallery (Phase 11 — Gap Analysis Batch 2)
   ═══════════════════════════════════════════════════════════════ */

/* Stats row cards */
body.theme-season21-infernal-throne .adm-stat-card {
    background: rgba(212,175,55,0.04);
    border: 1px solid rgba(212,175,55,0.10);
    border-radius: 10px;
    padding: 16px 22px;
    min-width: 120px;
    text-align: center;
}
body.theme-season21-infernal-throne .adm-stat-val {
    display: block;
    font-size: 1.6rem;
    font-weight: 700;
    color: #d4af37;
    line-height: 1.1;
}
body.theme-season21-infernal-throne .adm-stat-lbl {
    display: block;
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .06em;
    opacity: .5;
    margin-top: 4px;
}

/* Filter bar selects in admin */
body.theme-season21-infernal-throne .adm-filter-bar .form-select {
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(212,175,55,0.12);
    border-radius: 6px;
    color: #e0dbd2;
    padding: 6px 10px;
    font-size: .85rem;
}

/* Ticket thread messages */
body.theme-season21-infernal-throne .ticket-msg {
    transition: border-color .2s;
}
body.theme-season21-infernal-throne .ticket-msg:hover {
    border-color: rgba(212,175,55,0.2) !important;
}

/* Gallery admin grid cards */
body.theme-season21-infernal-throne .gallery-admin-card {
    transition: transform .2s, border-color .2s;
}
body.theme-season21-infernal-throne .gallery-admin-card:hover {
    transform: translateY(-2px);
    border-color: rgba(212,175,55,0.2) !important;
}

/* Top voters medal styling in tables */
body.theme-season21-infernal-throne .adm-table tbody tr:nth-child(1) td:first-child,
body.theme-season21-infernal-throne .adm-table tbody tr:nth-child(2) td:first-child,
body.theme-season21-infernal-throne .adm-table tbody tr:nth-child(3) td:first-child {
    font-weight: 700;
    font-size: 1.05rem;
}

/* Responsive: top-voters grid */
@media (max-width: 768px) {
    body.theme-season21-infernal-throne .page-admin-v2 [style*="grid-template-columns: 1fr 1fr"] {
        grid-template-columns: 1fr !important;
    }
}

/* ═══════════════════════════════════════════════════════════════════════
   MOBILE PREMIUM POLISH — Comprehensive mobile-first overhaul
   Touch optimization · App-feel · Accessibility · Performance
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Global Touch Optimizations ── */
body.theme-season21-infernal-throne {
    -webkit-tap-highlight-color: transparent;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

body.theme-season21-infernal-throne .it21-mobile-drawer__body {
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

body.theme-season21-infernal-throne .it21-spotlight-slider__track {
    touch-action: pan-y;
}

body.theme-season21-infernal-throne .it21-player__seek,
body.theme-season21-infernal-throne .it21-player input[type="range"] {
    touch-action: none;
}

/* ── Accessibility: Reduced Motion ── */
@media (prefers-reduced-motion: reduce) {
    body.theme-season21-infernal-throne *,
    body.theme-season21-infernal-throne *::before,
    body.theme-season21-infernal-throne *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.15s !important;
    }

    body.theme-season21-infernal-throne .it21-bg-video {
        display: none !important;
    }

    body.theme-season21-infernal-throne .it21-hero-v2__embers {
        display: none !important;
    }

    body.theme-season21-infernal-throne .it21-spotlight-slide__video {
        display: none;
    }
}

/* ═══════════════════════════════════════════════════════════
   TABLET — 980px  (supplements existing 980px block)
   ═══════════════════════════════════════════════════════════ */
@media (max-width: 980px) {
    /* Touch-friendly hamburger button */
    body.theme-season21-infernal-throne .it21-mobile-toggle {
        min-width: 44px;
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    /* Slider — taller on tablet for better content visibility */
    body.theme-season21-infernal-throne .it21-spotlight-slide {
        min-height: 260px;
    }

    body.theme-season21-infernal-throne .it21-spotlight-slide__content {
        padding: 50px 24px 36px;
    }

    /* Realm stats — wrap nicely on tablet */
    body.theme-season21-infernal-throne .it21-realm-stats {
        flex-wrap: wrap;
    }

    body.theme-season21-infernal-throne .it21-realm-stats__item {
        flex: 1 1 auto;
        min-width: 100px;
    }

    /* Features grid 2-col on tablet */
    body.theme-season21-infernal-throne .it21-features-grid__body {
        grid-template-columns: repeat(3, 1fr);
    }

    /* Footer center-align */
    body.theme-season21-infernal-throne .it21-footer__center {
        order: -1;
    }

    body.theme-season21-infernal-throne .it21-footer__links {
        justify-content: center;
    }

    /* Sidebar rails horizontal on tablet */
    body.theme-season21-infernal-throne .it21-home-v2__rail {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 14px;
    }

    /* Gift code responsive */
    body.theme-season21-infernal-throne .gc-input-row {
        flex-wrap: wrap;
    }

    /* GM panel stats */
    body.theme-season21-infernal-throne .gm-stats-row {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Battle pass tier */
    body.theme-season21-infernal-throne .bp-tier {
        grid-template-columns: 40px 1fr 1fr 80px;
        padding: 12px 14px;
    }

    /* Countdown bar intermediate */
    body.theme-season21-infernal-throne .it21-countdown-bar__inner {
        gap: 12px;
    }
}

/* ═══════════════════════════════════════════════════════════
   LARGE PHONE — 768px
   ═══════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
    /* Hero section — reduce breathing room */
    body.theme-season21-infernal-throne .it21-hero-v2 {
        min-height: 320px;
    }

    body.theme-season21-infernal-throne .it21-hero-v2__brand {
        min-height: 320px;
    }

    body.theme-season21-infernal-throne .it21-hero-v2__char-img {
        max-height: 300px;
    }

    /* Sidebar rails stack to 1-col */
    body.theme-season21-infernal-throne .it21-home-v2__rail {
        grid-template-columns: 1fr;
    }

    /* Whyplay 1-col */
    body.theme-season21-infernal-throne .it21-whyplay__grid {
        grid-template-columns: 1fr;
    }

    body.theme-season21-infernal-throne .it21-whyplay__card {
        padding: 18px 16px;
    }

    /* Footer stacking */
    body.theme-season21-infernal-throne .it21-footer__inner {
        grid-template-columns: 1fr;
        text-align: center;
        gap: 16px;
        padding: 20px 16px;
    }

    body.theme-season21-infernal-throne .it21-footer__brand {
        justify-content: center;
    }

    body.theme-season21-infernal-throne .it21-footer__meta {
        align-items: center;
    }

    body.theme-season21-infernal-throne .it21-footer__links {
        gap: 4px;
    }

    body.theme-season21-infernal-throne .it21-footer__links a {
        font-size: 0.65rem;
        padding: 6px 8px;
        min-height: 36px;
        display: inline-flex;
        align-items: center;
    }

    /* Countdown bar compact */
    body.theme-season21-infernal-throne .it21-countdown-bar__inner {
        flex-direction: column;
        gap: 8px;
        text-align: center;
    }
}

/* ═══════════════════════════════════════════════════════════
   MOBILE — 640px  (supplements existing 640px block)
   ═══════════════════════════════════════════════════════════ */
@media (max-width: 640px) {
    /* ── Site Container — edge-to-edge feel ── */
    body.theme-season21-infernal-throne .it21-site {
        width: calc(100vw - 8px);
        padding: 0;
    }

    /* ── Header — compact & touch-friendly ── */
    body.theme-season21-infernal-throne .it21-topline {
        padding: 0 12px;
        min-height: 52px;
        gap: 8px;
    }

    body.theme-season21-infernal-throne .it21-topline__logo img {
        max-height: 28px;
    }

    /* All interactive elements min 44px tap target */
    body.theme-season21-infernal-throne .it21-topline__actions a,
    body.theme-season21-infernal-throne .it21-topline__actions button {
        min-width: 44px;
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    /* ── Subline — stack vertically ── */
    body.theme-season21-infernal-throne .it21-subline {
        padding: 8px 12px;
        flex-direction: column;
        align-items: center;
        gap: 4px;
        text-align: center;
        font-size: 0.62rem;
    }

    /* ── Hero — Phone optimized ── */
    body.theme-season21-infernal-throne .it21-hero-v2 {
        min-height: 240px;
    }

    body.theme-season21-infernal-throne .it21-hero-v2__brand {
        min-height: 240px;
        padding: 20px 16px;
    }

    body.theme-season21-infernal-throne .it21-hero-v2__logo {
        width: min(85%, 220px);
    }

    body.theme-season21-infernal-throne .it21-hero-v2__character {
        right: -5%;
    }

    body.theme-season21-infernal-throne .it21-hero-v2__char-img {
        max-height: 220px;
    }

    /* Hide ember particles on mobile — performance */
    body.theme-season21-infernal-throne .it21-hero-v2__embers {
        display: none;
    }

    /* Flame emblem smaller */
    body.theme-season21-infernal-throne .it21-hero-v2__flame-emblem {
        transform: scale(0.75);
    }

    /* ── Spotlight Slider — compact mobile ── */
    body.theme-season21-infernal-throne .it21-spotlight-slide {
        min-height: 220px;
    }

    body.theme-season21-infernal-throne .it21-spotlight-slide__content {
        padding: 60px 16px 28px;
    }

    body.theme-season21-infernal-throne .it21-spotlight-slide__kicker {
        font-size: 0.56rem;
        padding: 2px 8px;
    }

    body.theme-season21-infernal-throne .it21-spotlight-slide__title {
        font-size: clamp(1rem, 5vw, 1.3rem);
        margin-bottom: 6px;
    }

    body.theme-season21-infernal-throne .it21-spotlight-slide__meta {
        font-size: 0.6rem;
        gap: 6px;
        margin-bottom: 6px;
    }

    body.theme-season21-infernal-throne .it21-spotlight-slide__excerpt {
        font-size: 0.72rem;
        -webkit-line-clamp: 2;
        margin-bottom: 10px;
    }

    body.theme-season21-infernal-throne .it21-spotlight-slide .it21-btn {
        padding: 8px 16px;
        font-size: 0.68rem;
    }

    /* Slider nav — larger touch targets */
    body.theme-season21-infernal-throne .it21-spotlight-slider__nav {
        bottom: 10px;
        right: 10px;
        padding: 4px 8px;
    }

    body.theme-season21-infernal-throne .it21-spotlight-slider__arrow {
        width: 32px;
        height: 32px;
        font-size: 0.8rem;
    }

    body.theme-season21-infernal-throne .it21-spotlight-slider__dot {
        width: 8px;
        height: 8px;
    }

    body.theme-season21-infernal-throne .it21-spotlight-slider__counter {
        font-size: 0.55rem;
        padding: 3px 8px;
        top: 10px;
        right: 10px;
    }

    /* ── Realm Stats — 2-col grid on mobile ── */
    body.theme-season21-infernal-throne .it21-realm-stats {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 1px;
        background: rgba(255,138,56,0.04);
    }

    body.theme-season21-infernal-throne .it21-realm-stats__item {
        flex: none;
        background: rgba(12,5,4,0.94);
        padding: 12px 6px;
    }

    body.theme-season21-infernal-throne .it21-realm-stats__item + .it21-realm-stats__item::before {
        display: none;
    }

    body.theme-season21-infernal-throne .it21-realm-stats__item:last-child {
        grid-column: 1 / -1;
    }

    body.theme-season21-infernal-throne .it21-realm-stats__item strong {
        font-size: 0.85rem;
    }

    /* ── Features Grid — 2-col ── */
    body.theme-season21-infernal-throne .it21-features-grid__body {
        grid-template-columns: repeat(2, 1fr);
    }

    body.theme-season21-infernal-throne .it21-features-grid__header {
        padding: 14px 16px 10px;
    }

    body.theme-season21-infernal-throne .it21-feature-tile {
        padding: 14px 8px;
    }

    body.theme-season21-infernal-throne .it21-feature-tile__value {
        font-size: 0.85rem;
    }

    /* ── Quick Start — vertical stack ── */
    body.theme-season21-infernal-throne .it21-quickstart__steps {
        flex-direction: column;
        gap: 16px;
        padding: 20px 16px 16px;
    }

    body.theme-season21-infernal-throne .it21-quickstart__step {
        display: flex;
        flex-direction: row;
        align-items: center;
        text-align: left;
        gap: 14px;
        padding: 0;
    }

    body.theme-season21-infernal-throne .it21-quickstart__num {
        position: absolute;
        top: -4px;
        right: -4px;
        margin: 0;
        width: 18px;
        height: 18px;
        font-size: 0.55rem;
        z-index: 1;
    }

    body.theme-season21-infernal-throne .it21-quickstart__step-icon {
        margin: 0;
        flex-shrink: 0;
        position: relative;
    }

    body.theme-season21-infernal-throne .it21-quickstart__step-title {
        font-size: 0.74rem;
        margin-bottom: 2px;
    }

    body.theme-season21-infernal-throne .it21-quickstart__step-desc {
        font-size: 0.68rem;
    }

    body.theme-season21-infernal-throne .it21-quickstart__connector {
        display: none;
    }

    body.theme-season21-infernal-throne .it21-quickstart__cta {
        padding: 12px 16px 18px;
    }

    /* ── Sidebar Rail Cards — compact ── */
    body.theme-season21-infernal-throne .it21-rail-card__head {
        padding: 14px 16px 10px;
    }

    body.theme-season21-infernal-throne .it21-rail-card__body {
        padding: 0 14px 14px;
    }

    /* ── Music Player — mobile friendly ── */
    body.theme-season21-infernal-throne .it21-player {
        bottom: 10px;
        right: 10px;
    }

    body.theme-season21-infernal-throne .it21-player__toggle {
        width: 44px;
        height: 44px;
    }

    body.theme-season21-infernal-throne .it21-player.is-expanded {
        max-width: calc(100vw - 20px);
        width: 100%;
        right: 10px;
        bottom: 10px;
    }

    /* ── Why Play — compact cards ── */
    body.theme-season21-infernal-throne .it21-whyplay__header {
        padding: 14px 16px 10px;
    }

    body.theme-season21-infernal-throne .it21-whyplay__card {
        padding: 16px 14px;
    }

    body.theme-season21-infernal-throne .it21-whyplay__card-title {
        font-size: 0.74rem;
    }

    body.theme-season21-infernal-throne .it21-whyplay__card-desc {
        font-size: 0.72rem;
    }

    /* ── Section Headers — compact ── */
    body.theme-season21-infernal-throne .it21-features-grid__header,
    body.theme-season21-infernal-throne .it21-whyplay__header,
    body.theme-season21-infernal-throne .it21-quickstart__header {
        gap: 10px;
    }

    body.theme-season21-infernal-throne .it21-features-grid__icon,
    body.theme-season21-infernal-throne .it21-whyplay__icon,
    body.theme-season21-infernal-throne .it21-quickstart__icon {
        width: 30px;
        height: 30px;
    }

    body.theme-season21-infernal-throne .it21-features-grid__icon i,
    body.theme-season21-infernal-throne .it21-whyplay__icon i,
    body.theme-season21-infernal-throne .it21-quickstart__icon i {
        font-size: 0.85rem;
    }

    /* ── Gift Code — stack input ── */
    body.theme-season21-infernal-throne .gc-input-row {
        flex-direction: column;
    }

    body.theme-season21-infernal-throne .gc-input-row input {
        width: 100%;
    }

    body.theme-season21-infernal-throne .gc-card {
        padding: 20px 16px !important;
    }

    /* ── GM Panel responsive ── */
    body.theme-season21-infernal-throne .gm-stats-row {
        grid-template-columns: 1fr;
    }

    body.theme-season21-infernal-throne .gm-search-form {
        flex-direction: column;
    }

    body.theme-season21-infernal-throne .gm-search-form input,
    body.theme-season21-infernal-throne .gm-search-form select,
    body.theme-season21-infernal-throne .gm-search-form button {
        width: 100%;
        min-height: 44px;
    }

    body.theme-season21-infernal-throne .gm-perm-badges {
        gap: 6px;
    }

    body.theme-season21-infernal-throne .gm-perm-badge {
        font-size: 0.72rem;
        padding: 5px 10px;
    }

    /* ── Level Rewards — compact grid ── */
    body.theme-season21-infernal-throne .lr-grid {
        grid-template-columns: 1fr;
    }

    body.theme-season21-infernal-throne .lr-card {
        padding: 16px;
    }

    /* ── Wheel of Fortune — already has 480px, add 640 ── */
    body.theme-season21-infernal-throne .whl-canvas-box {
        width: 320px;
        height: 320px;
    }

    body.theme-season21-infernal-throne .whl-info {
        flex-direction: column;
        gap: 8px;
        text-align: center;
    }

    /* ── Video background — optimize for mobile ── */
    body.theme-season21-infernal-throne .it21-bg-video {
        min-width: 100%;
        min-height: 100vh;
        width: auto;
        height: auto;
    }

    /* ── Auth pages compact ── */
    body.theme-season21-infernal-throne .it21-ag-modal {
        margin: 0 6px;
        padding: 24px 16px 20px;
    }

    body.theme-season21-infernal-throne .it21-ag-modal__header h1 {
        font-size: 1.2rem;
    }

    /* ── Border radius — softer on mobile for app feel ── */
    body.theme-season21-infernal-throne .it21-topline,
    body.theme-season21-infernal-throne .it21-subline,
    body.theme-season21-infernal-throne .it21-rail-card,
    body.theme-season21-infernal-throne .it21-footer,
    body.theme-season21-infernal-throne .it21-whyplay,
    body.theme-season21-infernal-throne .it21-quickstart,
    body.theme-season21-infernal-throne .it21-features-grid,
    body.theme-season21-infernal-throne .it21-spotlight-slider {
        border-radius: 14px;
    }

    body.theme-season21-infernal-throne .it21-realm-stats {
        border-radius: 0 0 14px 14px;
    }

    body.theme-season21-infernal-throne .it21-spotlight-slider {
        border-radius: 14px 14px 0 0;
    }
}

/* ═══════════════════════════════════════════════════════════
   SMALL PHONE — 480px
   ═══════════════════════════════════════════════════════════ */
@media (max-width: 480px) {
    /* Tighter container */
    body.theme-season21-infernal-throne .it21-site {
        width: 100vw;
        margin: 0;
    }

    /* Hero ultra compact */
    body.theme-season21-infernal-throne .it21-hero-v2 {
        min-height: 200px;
    }

    body.theme-season21-infernal-throne .it21-hero-v2__brand {
        min-height: 200px;
        padding: 16px 12px;
    }

    body.theme-season21-infernal-throne .it21-hero-v2__logo {
        width: min(90%, 180px);
    }

    body.theme-season21-infernal-throne .it21-hero-v2__char-img {
        max-height: 180px;
    }

    /* Slider ultra compact */
    body.theme-season21-infernal-throne .it21-spotlight-slide {
        min-height: 190px;
    }

    body.theme-season21-infernal-throne .it21-spotlight-slide__content {
        padding: 40px 14px 22px;
    }

    body.theme-season21-infernal-throne .it21-spotlight-slide__title {
        font-size: clamp(0.9rem, 5vw, 1.15rem);
    }

    body.theme-season21-infernal-throne .it21-spotlight-slide__excerpt {
        display: none;
    }

    body.theme-season21-infernal-throne .it21-spotlight-slide__meta {
        margin-bottom: 8px;
    }

    /* Features 2-col stays but tighter */
    body.theme-season21-infernal-throne .it21-feature-tile {
        padding: 12px 6px;
        gap: 2px;
    }

    body.theme-season21-infernal-throne .it21-feature-tile__icon {
        width: 28px;
        height: 28px;
    }

    body.theme-season21-infernal-throne .it21-feature-tile__label {
        font-size: 0.52rem;
    }

    body.theme-season21-infernal-throne .it21-feature-tile__value {
        font-size: 0.78rem;
    }

    /* Realm stats — still 2-col */
    body.theme-season21-infernal-throne .it21-realm-stats__item {
        padding: 10px 4px;
    }

    body.theme-season21-infernal-throne .it21-realm-stats__item strong {
        font-size: 0.78rem;
    }

    body.theme-season21-infernal-throne .it21-realm-stats__item span {
        font-size: 0.52rem;
    }

    /* Footer links wrap tighter */
    body.theme-season21-infernal-throne .it21-footer__links a {
        font-size: 0.6rem;
        padding: 5px 6px;
    }

    body.theme-season21-infernal-throne .it21-footer__inner {
        padding: 16px 12px;
    }

    /* Quick start even more compact */
    body.theme-season21-infernal-throne .it21-quickstart__step-icon {
        width: 36px;
        height: 36px;
    }

    body.theme-season21-infernal-throne .it21-quickstart__step-icon i {
        font-size: 0.95rem;
    }

    /* Countdown bar */
    body.theme-season21-infernal-throne .it21-countdown-bar {
        padding: 6px 10px;
    }

    body.theme-season21-infernal-throne .it21-cd-unit {
        min-width: 32px;
        padding: 4px 5px 3px;
    }

    body.theme-season21-infernal-throne .it21-cd-unit span {
        font-size: 0.95rem;
    }

    /* Battle pass compact */
    body.theme-season21-infernal-throne .bp-tier {
        grid-template-columns: 36px 1fr;
        gap: 6px;
        padding: 10px 12px;
    }

    /* GM panel */
    body.theme-season21-infernal-throne .gm-stat-card {
        padding: 16px 14px;
        gap: 12px;
    }

    body.theme-season21-infernal-throne .gm-stat-card > i {
        font-size: 1.4rem;
    }

    body.theme-season21-infernal-throne .gm-stat-value {
        font-size: 1.1rem;
    }

    /* Level rewards */
    body.theme-season21-infernal-throne .lr-card__actions {
        flex-direction: column;
    }

    body.theme-season21-infernal-throne .lr-card__actions .it21-btn,
    body.theme-season21-infernal-throne .lr-card__actions button {
        width: 100%;
        justify-content: center;
    }

    /* All border-radius even softer */
    body.theme-season21-infernal-throne .it21-topline,
    body.theme-season21-infernal-throne .it21-subline,
    body.theme-season21-infernal-throne .it21-rail-card,
    body.theme-season21-infernal-throne .it21-footer,
    body.theme-season21-infernal-throne .it21-whyplay,
    body.theme-season21-infernal-throne .it21-quickstart,
    body.theme-season21-infernal-throne .it21-features-grid {
        border-radius: 12px;
    }

    body.theme-season21-infernal-throne .it21-spotlight-slider {
        border-radius: 12px 12px 0 0;
    }

    body.theme-season21-infernal-throne .it21-realm-stats {
        border-radius: 0 0 12px 12px;
    }
}

/* ═══════════════════════════════════════════════════════════
   PREMIUM APP FEEL — Interactive States
   ═══════════════════════════════════════════════════════════ */
@media (max-width: 980px) {
    /* Active press states for touch feedback */
    body.theme-season21-infernal-throne .it21-btn:active,
    body.theme-season21-infernal-throne .it21-cta:active,
    body.theme-season21-infernal-throne .it21-dl-file__btn:active,
    body.theme-season21-infernal-throne .whl-spin-btn:active,
    body.theme-season21-infernal-throne .bp-upgrade-cta:active {
        transform: scale(0.96);
        transition: transform 0.1s;
    }

    body.theme-season21-infernal-throne .it21-mobile-drawer__link:active {
        background: rgba(255, 138, 56, 0.15);
        transition: background 0.1s;
    }

    body.theme-season21-infernal-throne .it21-feature-tile:active,
    body.theme-season21-infernal-throne .it21-whyplay__card:active,
    body.theme-season21-infernal-throne .it21-quickstart__step:active {
        background: rgba(255,100,20,0.08);
        transition: background 0.1s;
    }

    body.theme-season21-infernal-throne .it21-rail-card:active {
        transform: scale(0.99);
        transition: transform 0.1s;
    }

    body.theme-season21-infernal-throne .it21-realm-stats__item:active {
        background: rgba(255,138,56,0.08);
        transition: background 0.1s;
    }

    /* Smooth scrolling for the whole page */
    html {
        scroll-behavior: smooth;
    }

    /* Remove hover effects on touch (they stick on mobile) */
    body.theme-season21-infernal-throne .it21-rail-card:hover {
        transform: none;
        box-shadow: none;
    }

    body.theme-season21-infernal-throne .it21-feature-tile:hover {
        background: rgba(12,5,4,0.92);
    }

    body.theme-season21-infernal-throne .gallery-admin-card:hover {
        transform: none;
    }

    /* Prevent content shift from hover animations */
    body.theme-season21-infernal-throne .it21-spotlight-slide .it21-btn:hover i {
        transform: none;
    }
}

/* ═══════════════════════════════════════════════════════════
   LANDSCAPE PHONE ORIENTATION
   ═══════════════════════════════════════════════════════════ */
@media (max-width: 980px) and (orientation: landscape) and (max-height: 500px) {
    /* Reduce hero significantly in landscape */
    body.theme-season21-infernal-throne .it21-hero-v2 {
        min-height: 160px;
    }

    body.theme-season21-infernal-throne .it21-hero-v2__brand {
        min-height: 160px;
        padding: 12px 16px;
    }

    body.theme-season21-infernal-throne .it21-hero-v2__logo {
        width: min(50%, 180px);
    }

    body.theme-season21-infernal-throne .it21-hero-v2__character {
        display: none;
    }

    /* Slider compact in landscape */
    body.theme-season21-infernal-throne .it21-spotlight-slide {
        min-height: 160px;
    }

    body.theme-season21-infernal-throne .it21-spotlight-slide__content {
        padding: 30px 16px 20px;
    }

    body.theme-season21-infernal-throne .it21-spotlight-slide__excerpt {
        display: none;
    }

    /* Hide glow effects in landscape — save performance */
    body.theme-season21-infernal-throne .it21-hero-v2__vignette,
    body.theme-season21-infernal-throne .it21-hero-v2__glow {
        display: none;
    }

    /* Countdown inline */
    body.theme-season21-infernal-throne .it21-countdown-bar__inner {
        flex-direction: row;
    }
}
