.raffle-container { max-width: 780px; width: 100%; margin: 0 auto; }
        .raffle-player-table { overflow: hidden; border: 1px solid rgba(255,255,255,.1); border-radius: 14px; background: rgba(255,255,255,.03); }
        .raffle-player-head,
        .player-row { display: grid; grid-template-columns: 44px minmax(0,1fr) 104px 116px 104px; gap: 12px; align-items: center; }
        .raffle-player-head { padding: 12px 16px; border-bottom: 1px solid rgba(255,255,255,.08); color: rgba(255,255,255,.36); font-size: 10px; font-weight: 900; letter-spacing: .18em; text-transform: uppercase; }
        .raffle-player-head span:nth-child(n+3) { text-align: right; }
        .player-row { padding: 14px 16px; border-bottom: 1px solid rgba(255,69,0,0.1); transition: background 0.2s; }
        .player-row:last-child { border-bottom: 0; }
        .player-row:hover { background: rgba(255,69,0,0.05); }
        .player-row .rank { color: #FF8C00; font-weight: 700; width: 30px; }
        .player-row .raffle-player-name { color: rgba(255,255,255,.78); font-weight: 700; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
        .raffle-player-cell { color: rgba(255,255,255,.62); font-size: 12px; font-weight: 800; text-align: right; }
        .raffle-player-cell.luck { color: #fcd34d; }
        .player-row .tickets { color: #FF8C00; font-weight: 600; }
        .raffle-admin-actions {
            display: flex;
            justify-content: center;
            margin-top: 1.5rem;
        }
        .raffle-draw-link {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 0.65rem;
            min-height: 48px;
            padding: 0 1.35rem;
            border: 1px solid rgba(255, 90, 0, 0.68);
            border-radius: 0.75rem;
            color: #050505;
            background: linear-gradient(135deg, #ff4d00, #ff9416);
            font-family: 'Orbitron', sans-serif;
            font-size: 0.76rem;
            font-weight: 900;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            box-shadow: 0 0 22px rgba(255, 90, 0, 0.22);
            transition: transform 0.18s ease, filter 0.18s ease;
        }
        .raffle-draw-link:hover { transform: translateY(-1px); filter: brightness(1.08); }
        .tier-countdown-card {
            margin-bottom: 1.5rem;
            padding: 1rem;
            border: 1px solid rgba(255, 106, 0, 0.28);
            border-radius: 0.9rem;
            background:
                linear-gradient(135deg, rgba(255, 106, 0, 0.08), transparent 36%),
                rgba(0, 0, 0, 0.5);
            box-shadow: inset 0 0 24px rgba(255, 106, 0, 0.04);
        }
        .tier-countdown-heading {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 1rem;
            margin-bottom: 0.8rem;
        }
        .tier-countdown-heading span {
            color: rgba(255, 255, 255, 0.46);
            font-size: 0.66rem;
            font-weight: 900;
            letter-spacing: 0.16em;
            text-transform: uppercase;
        }
        .tier-countdown-heading strong {
            color: #ff8c00;
            font-family: 'Orbitron', sans-serif;
            font-size: 0.72rem;
            font-weight: 900;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            text-align: right;
        }
        .tier-countdown-grid {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 0.55rem;
        }
        .tier-countdown-unit {
            min-width: 0;
            padding: 0.75rem 0.4rem 0.55rem;
            border: 1px solid rgba(255, 106, 0, 0.34);
            border-radius: 0.7rem;
            background: rgba(0, 0, 0, 0.62);
            text-align: center;
        }
        .tier-countdown-unit strong {
            display: block;
            color: #ff8c00;
            font-family: 'Orbitron', sans-serif;
            font-size: clamp(1rem, 3vw, 1.45rem);
            font-weight: 900;
            line-height: 1;
        }
        .tier-countdown-unit span {
            display: block;
            margin-top: 0.38rem;
            color: rgba(255, 255, 255, 0.42);
            font-size: 0.56rem;
            font-weight: 900;
            letter-spacing: 0.12em;
            text-transform: uppercase;
        }
        .tier-local-time {
            margin-top: 0.85rem;
            color: rgba(255, 255, 255, 0.54);
            font-size: 0.68rem;
            font-weight: 800;
            letter-spacing: 0.08em;
            text-transform: uppercase;
        }
        .tier-status-grid {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 1rem;
            margin-bottom: 1.25rem;
        }
        .tier-status-card {
            min-width: 0;
            container-type: inline-size;
            padding: 1rem;
            border: 1px solid rgba(255, 106, 0, 0.2);
            border-radius: 0.9rem;
            background: rgba(255, 255, 255, 0.04);
        }
        .tier-status-card span,
        .tier-match-list span {
            display: block;
            color: rgba(255, 255, 255, 0.42);
            font-size: 0.64rem;
            font-weight: 900;
            letter-spacing: 0.14em;
            text-transform: uppercase;
        }
        .tier-status-card strong {
            display: block;
            width: 100%;
            max-width: 100%;
            margin-top: 0.38rem;
            overflow: hidden;
            white-space: nowrap;
            color: #ff8c00;
            font-family: 'Orbitron', sans-serif;
            font-size: clamp(1.2rem, 3.8vw, 2rem);
            font-size: clamp(1.05rem, 10cqw, 2rem);
            font-weight: 900;
            line-height: 1.05;
        }
        .tier-status-message {
            margin-bottom: 1rem;
            padding: 1rem;
            border: 1px solid rgba(255, 106, 0, 0.18);
            border-radius: 0.9rem;
            background: rgba(0, 0, 0, 0.45);
            color: rgba(255, 255, 255, 0.76);
            font-size: 0.92rem;
            line-height: 1.5;
        }
        .tier-status-message strong { color: #ff8c00; }
        .tier-progress-shell {
            overflow: hidden;
            height: 12px;
            margin: 0.8rem 0 0.55rem;
            border: 1px solid rgba(255, 106, 0, 0.22);
            border-radius: 999px;
            background: rgba(255, 255, 255, 0.06);
        }
        .tier-progress-bar {
            width: 0%;
            height: 100%;
            border-radius: inherit;
            background: linear-gradient(90deg, #ff4500, #ff8c00);
            box-shadow: 0 0 18px rgba(255, 106, 0, 0.35);
            transition: width 0.4s ease;
        }
        .tier-progress-copy,
        .tier-match-list {
            color: rgba(255, 255, 255, 0.52);
            font-size: 0.78rem;
        }
        .tier-match-list {
            margin-top: 1rem;
            padding: 0.85rem 1rem;
            border: 1px dashed rgba(255, 255, 255, 0.12);
            border-radius: 0.9rem;
        }
        .tier-match-list strong {
            color: rgba(255, 255, 255, 0.78);
            font-weight: 800;
        }
        .tier-reward-panel {
            margin-top: 1.35rem;
            padding: 1rem;
            border: 1px solid rgba(255, 106, 0, 0.2);
            border-radius: 0.9rem;
            background:
                linear-gradient(135deg, rgba(255, 106, 0, 0.07), transparent 34%),
                rgba(255, 255, 255, 0.035);
        }
        .tier-reward-header {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 1rem;
            margin-bottom: 0.9rem;
        }
        .tier-reward-header h2 {
            margin: 0;
            color: #fff;
            font-family: 'Orbitron', sans-serif;
            font-size: 1rem;
            font-weight: 900;
            letter-spacing: 0.1em;
            text-transform: uppercase;
        }
        .tier-reward-header p {
            max-width: 520px;
            margin-top: 0.35rem;
            color: rgba(255, 255, 255, 0.52);
            font-size: 0.8rem;
            line-height: 1.45;
        }
        .tier-reward-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 0.65rem;
        }
        .tier-reward-row {
            display: grid;
            grid-template-columns: minmax(74px, auto) 1fr auto;
            align-items: center;
            gap: 0.65rem;
            min-width: 0;
            padding: 0.72rem 0.8rem;
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 0.75rem;
            background: rgba(0, 0, 0, 0.42);
            color: rgba(255, 255, 255, 0.72);
        }
        .tier-reward-row.is-unlocked {
            border-color: rgba(255, 140, 0, 0.55);
            background: linear-gradient(135deg, rgba(255, 106, 0, 0.18), rgba(255, 255, 255, 0.035));
            box-shadow: 0 0 18px rgba(255, 106, 0, 0.12);
        }
        .tier-reward-row.is-current {
            outline: 1px solid rgba(255, 198, 71, 0.72);
            outline-offset: 2px;
        }
        .tier-reward-row span,
        .tier-reward-row em {
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }
        .tier-reward-row span {
            color: rgba(255, 255, 255, 0.58);
            font-size: 0.68rem;
            font-weight: 900;
            letter-spacing: 0.09em;
            text-transform: uppercase;
        }
        .tier-reward-row strong {
            color: #ff8c00;
            font-family: 'Orbitron', sans-serif;
            font-size: clamp(0.9rem, 2.4vw, 1.1rem);
            font-weight: 900;
            white-space: nowrap;
        }
        .tier-reward-row em {
            color: rgba(255, 255, 255, 0.44);
            font-size: 0.68rem;
            font-style: normal;
            font-weight: 800;
            text-align: right;
        }
        .rtp-rules-card {
            position: relative;
            overflow: hidden;
            width: 100%;
            margin-top: 2rem;
            padding: clamp(18px, 3vw, 30px);
            border: 1px solid rgba(255, 69, 0, 0.75);
            border-radius: 14px;
            background:
                radial-gradient(circle at 8% 0%, rgba(255, 69, 0, 0.1), transparent 32%),
                linear-gradient(135deg, rgba(255, 69, 0, 0.04), transparent 28%),
                rgba(0, 0, 0, 0.86);
            box-shadow: 0 0 28px rgba(255, 69, 0, 0.18), inset 0 0 26px rgba(255, 69, 0, 0.06);
        }
        .rtp-rules-card::before,
        .rtp-rules-card::after {
            content: '';
            position: absolute;
            pointer-events: none;
        }
        .rtp-rules-card::before {
            inset: 6px;
            border: 1px solid rgba(255, 69, 0, 0.34);
            border-radius: 10px;
            box-shadow: 0 0 16px rgba(255, 69, 0, 0.22), inset 0 0 14px rgba(255, 69, 0, 0.12);
        }
        .rtp-rules-card::after {
            inset: 0;
            background:
                radial-gradient(circle at 0% 0%, rgba(255, 69, 0, 0.48), transparent 18%),
                radial-gradient(circle at 100% 100%, rgba(255, 194, 71, 0.32), transparent 18%);
            opacity: 0.32;
            mix-blend-mode: screen;
        }
        .rtp-rules-card > * { position: relative; z-index: 1; }
        .rtp-rules-card h2 {
            margin: 0 0 0.55rem;
            color: #fff;
            font-family: 'Orbitron', sans-serif;
            font-size: clamp(1rem, 2vw, 1.25rem);
            font-weight: 900;
            letter-spacing: 0.08em;
            text-transform: uppercase;
        }
        .rtp-rules-card p {
            max-width: 760px;
            margin: 0;
            color: rgba(255, 255, 255, 0.68);
            font-size: clamp(0.88rem, 1.4vw, 1rem);
            line-height: 1.45;
        }
        .rtp-rules-kicker {
            display: block;
            margin: 0.95rem 0 0.72rem;
            color: rgba(255, 255, 255, 0.46);
            font-size: 0.68rem;
            font-weight: 900;
            letter-spacing: 0.14em;
            text-transform: uppercase;
        }
        .rtp-rule-grid {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: clamp(0.7rem, 2vw, 1rem);
            width: 100%;
        }
        .rtp-rule-card {
            display: grid;
            place-items: center;
            min-height: clamp(72px, 8vw, 94px);
            border: 1px solid rgba(255, 69, 0, 0.62);
            border-radius: 9px;
            background: linear-gradient(180deg, rgba(255, 255, 255, 0.035), transparent), rgba(0, 0, 0, 0.72);
            box-shadow: inset 0 0 18px rgba(255, 69, 0, 0.055), 0 0 12px rgba(255, 69, 0, 0.12);
        }
        .rtp-rule-card span,
        .rtp-rule-card strong {
            font-family: 'Orbitron', sans-serif;
            font-weight: 900;
            line-height: 1.08;
        }
        .rtp-rule-card span { color: rgba(255, 255, 255, 0.72); font-size: clamp(1rem, 2vw, 1.35rem); }
        .rtp-rule-card strong { font-size: clamp(1.04rem, 2.1vw, 1.42rem); }
        .rtp-rule-card .green { color: #24d274; }
        .rtp-rule-card .gold { color: #ffc247; }
        .rtp-rule-card .red { color: #ff4d5a; }
        .leaderboard-outside-panels {
            display: grid;
            gap: clamp(1rem, 2vw, 1.5rem);
            margin-top: clamp(1rem, 2vw, 1.5rem);
        }
        .leaderboard-outside-panels .rtp-rules-card {
            margin-top: 0;
        }
        .leaderboard-education-panels {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: clamp(1rem, 2vw, 1.35rem);
            width: min(100%, 980px);
            margin: 0 auto;
        }
        .leaderboard-education-panel {
            overflow: hidden;
            margin: 0;
            border: 1px solid rgba(255, 69, 0, 0.58);
            border-radius: 14px;
            background: #050505;
            box-shadow: 0 0 28px rgba(255, 69, 0, 0.16);
        }
        .leaderboard-guide-trigger {
            display: block;
            width: 100%;
            padding: 0;
            border: 0;
            background: transparent;
            cursor: zoom-in;
        }
        .leaderboard-education-panel img {
            display: block;
            width: 100%;
            height: auto;
        }
        .leaderboard-guide-lightbox {
            position: fixed;
            inset: 0;
            z-index: 1200;
            display: none;
            align-items: center;
            justify-content: center;
            padding: clamp(1rem, 3vw, 2.5rem);
            background: rgba(0, 0, 0, 0.88);
            backdrop-filter: blur(12px);
        }
        .leaderboard-guide-lightbox.is-open {
            display: flex;
        }
        .leaderboard-guide-lightbox img {
            display: block;
            width: min(96vw, 1500px);
            max-height: 88vh;
            object-fit: contain;
            border: 1px solid rgba(255, 106, 0, 0.7);
            border-radius: 14px;
            background: #000;
            box-shadow: 0 0 48px rgba(255, 106, 0, 0.34);
        }
        .leaderboard-guide-lightbox-close {
            position: absolute;
            top: clamp(0.9rem, 2vw, 1.4rem);
            right: clamp(0.9rem, 2vw, 1.4rem);
            display: grid;
            place-items: center;
            width: 44px;
            height: 44px;
            border: 1px solid rgba(255, 106, 0, 0.68);
            border-radius: 999px;
            color: #fff;
            background: rgba(0, 0, 0, 0.72);
            cursor: pointer;
            transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease;
        }
        .leaderboard-guide-lightbox-close:hover,
        .leaderboard-guide-lightbox-close:focus-visible {
            transform: scale(1.05);
            border-color: #ff8a00;
            background: rgba(255, 106, 0, 0.2);
            outline: none;
        }
        .leaderboard-disclaimer-card {
            position: relative;
            overflow: hidden;
            padding: clamp(1rem, 2.2vw, 1.35rem);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 0.85rem;
            color: rgba(255, 255, 255, 0.52);
            background:
                linear-gradient(135deg, rgba(255, 106, 0, 0.035), transparent 28%),
                repeating-linear-gradient(160deg, rgba(255, 255, 255, 0.012) 0 1px, transparent 1px 18px),
                rgba(0, 0, 0, 0.68);
            font-size: 0.78rem;
            line-height: 1.6;
        }
        .leaderboard-disclaimer-card h2 {
            margin: 0 0 0.75rem;
            color: rgba(255, 255, 255, 0.78);
            font-family: 'Orbitron', sans-serif;
            font-size: 0.78rem;
            font-weight: 900;
            letter-spacing: 0.12em;
            text-transform: uppercase;
        }
        .leaderboard-disclaimer-card p {
            margin: 0;
        }
        @media(max-width: 760px) {
            .rtp-rule-grid { grid-template-columns: 1fr; }
            .leaderboard-education-panels {
                grid-template-columns: 1fr;
                width: min(100%, 540px);
            }
        }
        @media(max-width: 640px) {
            .tier-status-grid { grid-template-columns: 1fr; }
            .tier-reward-grid { grid-template-columns: 1fr; }
            .tier-reward-row { grid-template-columns: minmax(68px, auto) 1fr; }
            .tier-reward-row em { grid-column: 2 / 3; text-align: left; }
            .tier-countdown-heading { align-items: flex-start; flex-direction: column; }
            .tier-countdown-heading strong { text-align: left; }
            .tier-countdown-grid { gap: 0.4rem; }
            .raffle-player-head { display: none; }
            .player-row { grid-template-columns: 36px minmax(0,1fr) auto; }
            .raffle-player-cell { text-align: left; }
            .raffle-player-cell.base { grid-column: 2 / 3; color: rgba(255,255,255,.45); }
            .raffle-player-cell.luck { grid-column: 2 / 3; }
            .raffle-player-cell.tickets { grid-column: 3 / 4; grid-row: 1 / 4; text-align: right; }
        }
        .empty-state { text-align: center; padding: 48px 20px; color: rgba(255,255,255,0.4); }
        .empty-state i { font-size: 40px; color: #FF4500; margin-bottom: 12px; }
