/* Noble Minds Custom Stylesheet */
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Manrope:wght@400;500;600;700;800&family=Space+Grotesk:wght@500;600;700&family=Teko:wght@400;500;600;700&family=Changa:wght@500;600;700&family=Cairo:wght@400;600;700&display=swap');

:root {
    --bg-dark: #08090c;
    --bg-card: rgba(18, 20, 28, 0.75);
    --gold: #FFD300;
    --gold-glow: rgba(255, 211, 0, 0.35);
    --gold-dim: rgba(255, 211, 0, 0.15);
    --text-primary: #f3f4f6;
    --text-muted: #9ca3af;
    --cyber-blue: #00e5ff;
    --cyber-pink: #ff007f;
}

body {
    background-color: var(--bg-dark);
    background-image:
        linear-gradient(180deg, #0b0c0f 0%, #111217 44%, #08090c 100%);
    background-size: auto;
    color: var(--text-primary);
    font-family: 'Manrope', 'Cairo', sans-serif;
    min-height: 100vh;
    overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6, .gamer-font {
    font-family: 'Space Grotesk', 'Cairo', sans-serif;
    letter-spacing: 0;
    text-transform: none;
}

/* Header & Navbar */
.navbar-custom {
    background: rgba(8, 9, 12, 0.94) !important;
    backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    padding: 0.7rem 1.5rem;
}
.navbar-custom .navbar-brand {
    font-family: 'Space Grotesk', 'Cairo', sans-serif;
    font-weight: 700;
    color: var(--gold) !important;
    text-shadow: none;
    display: flex;
    align-items: center;
    gap: 10px;
}
.navbar-custom .navbar-brand img {
    filter: drop-shadow(0 0 5px var(--gold-glow));
    transition: transform 0.3s ease;
}
.navbar-custom .navbar-brand:hover img {
    transform: rotate(5deg) scale(1.1);
}
.navbar-custom .nav-link {
    color: var(--text-primary) !important;
    font-size: 0.92rem;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: none;
    transition: all 0.3s ease;
    border-bottom: 2px solid transparent;
}
.navbar-custom .nav-link:hover, .navbar-custom .nav-link.active {
    color: var(--gold) !important;
    border-bottom: 2px solid var(--gold);
    text-shadow: none;
}

/* Hero Section */
.hero-container {
    position: relative;
    padding: 6rem 1rem;
    text-align: center;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}
.hero-logo {
    max-width: 180px;
    height: auto;
    margin-bottom: 2rem;
    filter: drop-shadow(0 0 20px rgba(255, 211, 0, 0.4));
}
.hero-title {
    font-size: 3.5rem;
    font-weight: 900;
    margin-bottom: 1rem;
    background: linear-gradient(135deg, #ffffff 0%, var(--gold) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow: 0 0 30px rgba(255, 211, 0, 0.2);
}
.hero-subtitle {
    font-size: 1.25rem;
    color: var(--text-muted);
    max-width: 650px;
    margin: 0 auto 2.5rem auto;
    font-weight: 300;
}

/* Glassmorphic Cyber Cards */
.cyber-card {
    background: var(--bg-card);
    backdrop-filter: blur(12px);
    border: 1px solid var(--gold-dim);
    border-radius: 8px;
    padding: 2rem;
    box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.37);
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    position: relative;
    overflow: hidden;
}
.cyber-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 50%;
    height: 100%;
    background: linear-gradient(to right, transparent, rgba(255, 211, 0, 0.05), transparent);
    transition: all 0.6s ease;
}
.cyber-card:hover {
    transform: translateY(-2px);
    border-color: var(--gold);
    box-shadow: 0 10px 30px var(--gold-glow);
}
.cyber-card:hover::before {
    left: 150%;
}

/* Stats Counter Badge */
.stat-box {
    text-align: center;
}
.stat-number {
    font-family: 'Orbitron', 'Changa', sans-serif;
    font-size: 3rem;
    font-weight: 900;
    color: var(--gold);
    text-shadow: 0 0 15px var(--gold-glow);
    margin-bottom: 0.5rem;
}
.stat-label {
    text-transform: uppercase;
    font-size: 0.85rem;
    letter-spacing: 0;
    color: var(--text-muted);
    font-weight: 700;
}

/* Gamer Styled Buttons */
.btn-cyber-primary {
    background: linear-gradient(135deg, var(--gold) 0%, #ffaa00 100%);
    border: none;
    color: #000000 !important;
    font-weight: 800;
    text-transform: none;
    letter-spacing: 0;
    padding: 0.8rem 2rem;
    border-radius: 6px;
    box-shadow: 0 0 15px rgba(255, 211, 0, 0.4);
    transition: all 0.3s ease;
}
.btn-cyber-primary:hover {
    transform: translateY(-1px);
    box-shadow: 0 0 25px rgba(255, 211, 0, 0.7);
    background: linear-gradient(135deg, #ffea00 0%, var(--gold) 100%);
}

.btn-cyber-outline {
    background: transparent;
    border: 2px solid var(--gold);
    color: var(--gold) !important;
    font-weight: 700;
    text-transform: none;
    letter-spacing: 0;
    padding: 0.8rem 2rem;
    border-radius: 6px;
    transition: all 0.3s ease;
}
.btn-cyber-outline:hover {
    background: var(--gold);
    color: #000000 !important;
    box-shadow: 0 0 20px var(--gold-glow);
}

/* Leaderboards & Tables */
.table-cyber {
    background: transparent;
    border-collapse: separate;
    border-spacing: 0 10px;
}
.table-cyber thead th {
    border: none;
    color: var(--gold);
    font-family: 'Orbitron', 'Changa', sans-serif;
    letter-spacing: 0;
    text-transform: uppercase;
    font-size: 0.85rem;
    padding-bottom: 1rem;
}
.table-cyber tbody tr {
    background: rgba(22, 25, 35, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.05);
    transition: all 0.3s ease;
}
.table-cyber tbody tr:hover {
    background: rgba(255, 211, 0, 0.04);
    transform: none;
}
.table-cyber tbody td {
    padding: 1rem;
    border-top: 1px solid var(--gold-dim);
    border-bottom: 1px solid var(--gold-dim);
    vertical-align: middle;
}
.table-cyber tbody td:first-child {
    border-left: 1px solid var(--gold-dim);
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
}
.table-cyber tbody td:last-child {
    border-right: 1px solid var(--gold-dim);
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
}

/* Ranking Badges */
.rank-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    font-weight: 800;
    font-size: 0.9rem;
    font-family: 'Orbitron', 'Changa', sans-serif;
}
.rank-1 {
    background: #ffd700;
    color: #000;
    box-shadow: 0 0 10px rgba(255, 215, 0, 0.5);
}
.rank-2 {
    background: #c0c0c0;
    color: #000;
    box-shadow: 0 0 10px rgba(192, 192, 192, 0.5);
}
.rank-3 {
    background: #cd7f32;
    color: #000;
    box-shadow: 0 0 10px rgba(205, 127, 50, 0.5);
}
.rank-default {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
}

/* Scrim Feed List */
.scrim-item {
    background: rgba(22, 25, 35, 0.6);
    border: 1px solid var(--gold-dim);
    border-radius: 8px;
    padding: 1.2rem;
    margin-bottom: 1rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: all 0.3s ease;
}
.scrim-item:hover {
    border-color: var(--gold);
    box-shadow: 0 4px 15px var(--gold-dim);
    background: rgba(255, 211, 0, 0.03);
}
.scrim-team-name {
    font-weight: 700;
    font-size: 1.1rem;
}
.scrim-vs {
    font-family: 'Orbitron', 'Changa', sans-serif;
    color: var(--gold);
    font-weight: 900;
    font-size: 0.9rem;
    margin: 0 1.5rem;
    text-shadow: 0 0 5px var(--gold-glow);
}
.scrim-meta {
    font-size: 0.85rem;
    color: var(--text-muted);
}

/* Animations */
@keyframes float {
    0% { transform: translateY(0px); }
    50% { transform: translateY(-10px); }
    100% { transform: translateY(0px); }
}

/* Sidebar Custom Styling (inside dashboard) */
.sidebar-custom {
    background: var(--bg-card) !important;
    border-right: 1px solid var(--gold-dim);
    border-radius: 8px;
}
.sidebar-custom .nav-link {
    color: var(--text-primary) !important;
    font-weight: 600;
    padding: 0.8rem 1rem;
    border-radius: 6px;
    margin-bottom: 0.25rem;
    transition: all 0.3s ease;
}
.sidebar-custom .nav-link:hover {
    background: rgba(255, 211, 0, 0.05) !important;
    color: var(--gold) !important;
}
.sidebar-custom .nav-link.active {
    background: linear-gradient(90deg, var(--gold-dim), transparent) !important;
    border-left: 3px solid var(--gold);
    color: var(--gold) !important;
    font-weight: 700;
}

/* --- Global Bootstrap Dark Overrides --- */

/* Cards Overrides */
.card {
    background: var(--bg-card) !important;
    border: 1px solid var(--gold-dim) !important;
    color: var(--text-primary) !important;
    border-radius: 8px !important;
}
.card-header {
    background: rgba(255, 211, 0, 0.05) !important;
    border-bottom: 1px solid var(--gold-dim) !important;
    color: var(--gold) !important;
    font-weight: bold !important;
}
.card-body {
    color: var(--text-primary) !important;
}

/* Modals Overrides */
.modal-content {
    background-color: var(--bg-dark) !important;
    border: 1px solid var(--gold) !important;
    color: var(--text-primary) !important;
    border-radius: 8px !important;
    box-shadow: 0 0 25px var(--gold-dim) !important;
}
.modal-header {
    border-bottom: 1px solid var(--gold-dim) !important;
    color: var(--gold) !important;
}
.modal-footer {
    border-top: 1px solid var(--gold-dim) !important;
}
.modal-title {
    font-family: 'Orbitron', 'Changa', sans-serif !important;
    letter-spacing: 0 !important;
}
.btn-close {
    filter: invert(1) brightness(2) !important;
}

/* Inputs, Textareas, Selects */
.form-control, .form-select {
    background-color: #12141c !important;
    border: 1px solid var(--gold-dim) !important;
    color: var(--text-primary) !important;
}
.form-control:focus, .form-select:focus {
    border-color: var(--gold) !important;
    box-shadow: 0 0 10px var(--gold-glow) !important;
    background-color: #12141c !important;
    color: var(--text-primary) !important;
}
.form-control::placeholder {
    color: var(--text-muted) !important;
    opacity: 0.6;
}
.form-text, .text-muted {
    color: var(--text-muted) !important;
}

/* Global Tables Overrides */
.table {
    color: var(--text-primary) !important;
}
.table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(255, 255, 255, 0.02) !important;
}
.table tbody tr {
    background-color: transparent !important;
    transition: all 0.3s ease !important;
}
.table tbody tr:hover {
    background-color: rgba(255, 211, 0, 0.04) !important;
}
th, td {
    border-color: var(--gold-dim) !important;
    color: var(--text-primary) !important;
    padding: 0.75rem 1rem !important;
}
thead th {
    font-family: 'Orbitron', 'Changa', sans-serif !important;
    color: var(--gold) !important;
    text-transform: uppercase !important;
    font-size: 0.85rem !important;
    border-bottom: 2px solid var(--gold-dim) !important;
}

/* Pagination Overrides */
.pagination .page-link {
    background-color: #12141c !important;
    border-color: var(--gold-dim) !important;
    color: var(--gold) !important;
}
.pagination .page-link:hover {
    background-color: var(--gold-dim) !important;
    border-color: var(--gold) !important;
}
.pagination .page-item.active .page-link {
    background-color: var(--gold) !important;
    border-color: var(--gold) !important;
    color: #000000 !important;
    font-weight: bold !important;
}
.pagination .page-item.disabled .page-link {
    background-color: #08090c !important;
    border-color: rgba(255, 255, 255, 0.05) !important;
    color: var(--text-muted) !important;
}

/* Alert Overrides */
.alert {
    background-color: rgba(18, 20, 28, 0.85) !important;
    border: 1px solid var(--gold-dim) !important;
    color: var(--text-primary) !important;
}
.alert-info {
    border-left: 4px solid var(--cyber-blue) !important;
}
.alert-success {
    border-left: 4px solid var(--gold) !important;
}
.alert-danger {
    border-left: 4px solid var(--cyber-pink) !important;
}

/* Horizontal Rules */
hr {
    border-color: var(--gold-dim) !important;
    opacity: 0.3 !important;
}

/* Code Snippets */
pre, code {
    background-color: #12141c !important;
    border: 1px solid rgba(255, 255, 255, 0.05) !important;
    color: var(--gold) !important;
    padding: 0.2rem 0.4rem !important;
    border-radius: 4px !important;
}

/* Custom Premium Badges and Headers */
.gamer-header {
    font-family: 'Orbitron', 'Changa', sans-serif;
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--gold) !important;
    text-shadow: 0 0 10px var(--gold-glow);
    border-left: 4px solid var(--gold);
    padding-left: 12px;
    margin-bottom: 1.5rem;
    text-transform: uppercase;
    letter-spacing: 0;
}

.badge-cyber-tag {
    background: rgba(255, 211, 0, 0.08) !important;
    border: 1px solid rgba(255, 211, 0, 0.3) !important;
    color: var(--gold) !important;
    font-family: 'Orbitron', 'Changa', sans-serif;
    font-size: 0.75rem;
    padding: 0.35rem 0.75rem;
    border-radius: 4px;
    letter-spacing: 0;
}

.badge-scrim-winner {
    background: rgba(46, 213, 115, 0.1) !important;
    border: 1px solid rgba(46, 213, 115, 0.3) !important;
    color: #2ed573 !important;
    font-weight: 700;
    font-size: 0.75rem;
    padding: 0.35rem 0.75rem;
    border-radius: 4px;
}

.badge-scrim-upcoming {
    background: rgba(0, 229, 255, 0.1) !important;
    border: 1px solid rgba(0, 229, 255, 0.3) !important;
    color: var(--cyber-blue) !important;
    font-weight: 700;
    font-size: 0.75rem;
    padding: 0.35rem 0.75rem;
    border-radius: 4px;
}

.badge-cyber-scrim-id {
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    color: var(--text-primary) !important;
    font-family: 'Orbitron', 'Changa', sans-serif;
    font-size: 0.75rem;
    padding: 0.35rem 0.75rem;
    border-radius: 4px;
    letter-spacing: 0;
}

/* Noble Minds Product Experience */
.container {
    max-width: 1180px;
}

.section-kicker,
.panel-label {
    color: var(--gold);
    display: block;
    font-family: 'Orbitron', 'Changa', sans-serif;
    font-size: 0.78rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
    text-transform: uppercase;
}

.arena-hero {
    align-items: stretch;
    display: grid;
    gap: 2rem;
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr);
    min-height: calc(100vh - 124px);
    padding: 4rem 0 3rem;
}

.arena-hero-copy {
    align-content: center;
    display: grid;
    min-height: 100%;
}

.arena-title {
    color: var(--text-primary);
    font-size: clamp(2.35rem, 6vw, 5.25rem);
    font-weight: 900;
    line-height: 0.98;
    max-width: 980px;
    text-transform: uppercase;
}

.arena-subtitle {
    color: var(--text-muted);
    font-size: 1.15rem;
    line-height: 1.7;
    margin: 1.5rem 0 2rem;
    max-width: 720px;
}

.hero-actions,
.cta-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem;
}

.arena-panel,
.community-cta,
.dashboard-hero,
.operator-note {
    background: rgba(18, 20, 28, 0.82);
    border: 1px solid var(--gold-dim);
    border-radius: 8px;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.24);
}

.arena-panel {
    align-self: center;
    display: grid;
    gap: 1.4rem;
    padding: 1.4rem;
}

.arena-panel-header {
    align-items: center;
    display: flex;
    gap: 1rem;
}

.arena-mark {
    background: #0c0d12;
    border: 1px solid var(--gold-dim);
    border-radius: 8px;
    height: 72px;
    object-fit: contain;
    padding: 0.55rem;
    width: 72px;
}

.arena-snapshot-grid,
.ops-metrics {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(3, 1fr);
}

.arena-snapshot-grid div,
.ops-metrics div {
    background: rgba(255, 255, 255, 0.035);
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 8px;
    padding: 1rem;
}

.arena-snapshot-grid span,
.ops-metrics span {
    color: var(--gold);
    display: block;
    font-family: 'Orbitron', 'Changa', sans-serif;
    font-size: 1.8rem;
    font-weight: 900;
}

.arena-snapshot-grid small,
.ops-metrics small,
.featured-squad small,
.journey-step small,
.server-card p,
.ops-card p,
.operator-note p {
    color: var(--text-muted);
}

.featured-squad {
    border-top: 1px solid var(--gold-dim);
    padding-top: 1.1rem;
}

.featured-squad strong {
    display: block;
    font-size: 1.25rem;
}

.identity-strip {
    border-bottom: 1px solid var(--gold-dim);
    border-top: 1px solid var(--gold-dim);
    display: grid;
    gap: 1px;
    grid-template-columns: repeat(3, 1fr);
    margin-bottom: 4rem;
}

.identity-strip div {
    background: rgba(18, 20, 28, 0.72);
    padding: 1.3rem;
}

.identity-strip span {
    color: var(--gold);
    display: block;
    font-family: 'Orbitron', 'Changa', sans-serif;
    font-weight: 900;
}

.identity-strip strong,
.journey-step strong {
    display: block;
    margin-bottom: 0.25rem;
}

.identity-strip small {
    color: var(--text-muted);
}

.section-block {
    margin: 4rem 0;
}

.section-heading {
    margin-bottom: 1.5rem;
    max-width: 760px;
}

.section-heading h2,
.community-cta h2,
.dashboard-hero h1,
.operator-note h2 {
    font-size: clamp(1.75rem, 4vw, 3.15rem);
    font-weight: 900;
}

.section-heading p,
.community-cta p,
.dashboard-hero p {
    color: var(--text-muted);
    font-size: 1.04rem;
    line-height: 1.65;
}

.arena-grid {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: minmax(0, 1fr) minmax(340px, 0.9fr);
}

.card-heading-row,
.scrim-item-top,
.scrim-item-bottom {
    align-items: center;
    display: flex;
    justify-content: space-between;
    gap: 1rem;
}

.squad-rank-list {
    display: grid;
    gap: 0.85rem;
}

.squad-rank-row {
    align-items: center;
    background: rgba(255, 255, 255, 0.035);
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 8px;
    display: grid;
    gap: 0.8rem;
    grid-template-columns: auto minmax(0, 1fr) auto;
    padding: 0.9rem;
}

.squad-rank-main strong,
.squad-rank-main small {
    display: block;
}

.squad-rank-main small {
    color: var(--text-muted);
}

.elo-pill {
    background: rgba(255, 211, 0, 0.1);
    border: 1px solid var(--gold-dim);
    border-radius: 999px;
    color: var(--gold);
    font-family: 'Orbitron', 'Changa', sans-serif;
    font-weight: 800;
    padding: 0.35rem 0.75rem;
}

.scrim-item {
    display: grid;
    gap: 0.9rem;
}

.scrim-versus {
    align-items: center;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    text-align: center;
}

.scrim-team-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.empty-state {
    border: 1px dashed var(--gold-dim);
    border-radius: 8px;
    color: var(--text-muted);
    padding: 1.25rem;
    text-align: center;
}

.journey-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(4, 1fr);
}

.journey-step {
    background: rgba(18, 20, 28, 0.72);
    border: 1px solid var(--gold-dim);
    border-radius: 8px;
    padding: 1.1rem;
}

.journey-step span {
    color: var(--gold);
    display: block;
    font-family: 'Orbitron', 'Changa', sans-serif;
    font-size: 1.5rem;
    font-weight: 900;
    margin-bottom: 0.7rem;
}

.community-cta,
.dashboard-hero {
    align-items: center;
    display: flex;
    gap: 1.5rem;
    justify-content: space-between;
    margin: 4rem 0 2rem;
    padding: 2rem;
}

.dashboard-hero {
    margin-top: 0;
}

.server-grid,
.ops-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(3, 1fr);
}

.server-card,
.ops-card {
    background: rgba(18, 20, 28, 0.78);
    border: 1px solid var(--gold-dim);
    border-radius: 8px;
    display: grid;
    gap: 1rem;
    padding: 1.25rem;
}

.server-card img,
.server-initial {
    border-radius: 8px;
    height: 150px;
    object-fit: cover;
    width: 100%;
}

.server-initial {
    align-items: center;
    background: rgba(255, 211, 0, 0.1);
    color: var(--gold);
    display: flex;
    font-family: 'Orbitron', 'Changa', sans-serif;
    font-size: 3rem;
    font-weight: 900;
    justify-content: center;
}

.ops-metrics {
    grid-template-columns: repeat(4, 1fr);
    margin-bottom: 1rem;
}

.ops-card h2,
.server-card h2 {
    font-size: 1.35rem;
}

.operator-note {
    margin-top: 1rem;
    padding: 1.5rem;
}

.dashboard-panel {
    background: rgba(18, 20, 28, 0.82);
    border: 1px solid var(--gold-dim);
    border-radius: 8px;
    box-shadow: 0 18px 55px rgba(0, 0, 0, 0.22);
    padding: 1.25rem;
}

.dashboard-panel h2 {
    color: var(--text-main);
    font-size: 1.25rem;
    margin-bottom: 1rem;
}

.dashboard-feed {
    display: grid;
    gap: 0.65rem;
}

.dashboard-feed-item {
    background: rgba(255, 255, 255, 0.035);
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 8px;
    color: var(--text-main);
    display: grid;
    gap: 0.25rem;
    padding: 0.85rem 0.95rem;
    text-decoration: none;
}

.dashboard-feed-item:hover {
    border-color: var(--gold);
    color: var(--text-main);
    box-shadow: 0 0 16px var(--gold-dim);
}

.dashboard-feed-item span {
    font-weight: 700;
}

.dashboard-feed-item small {
    color: var(--text-muted);
}

/* =========================================================
   Noble Minds Dashboard Surface
   Operational UI that shares the landing page's black/yellow,
   angular, esports-control-room visual language.
   ========================================================= */
body.nm-dashboard {
    --dash-panel: rgba(10, 10, 10, 0.92);
    --dash-panel-soft: rgba(18, 18, 18, 0.86);
    --dash-line: rgba(255, 192, 0, 0.22);
    --dash-line-strong: rgba(255, 192, 0, 0.72);
    --dash-muted: #9298a5;
    --dash-text: #f8f8f8;
    --dash-action: #60a5fa;
    --dash-action-soft: rgba(96, 165, 250, 0.14);
    --dash-success: #22c55e;
    --dash-success-soft: rgba(34, 197, 94, 0.14);
    --dash-danger: #ff4d6d;
    --dash-danger-soft: rgba(255, 77, 109, 0.13);
    --dash-warning: #f59e0b;
    --dash-warning-soft: rgba(245, 158, 11, 0.14);
    --dash-neutral: #a7adba;
    --dash-neutral-soft: rgba(167, 173, 186, 0.12);
    background:
        linear-gradient(168deg, transparent 0 68%, rgba(255, 192, 0, 0.055) 68.2% 75%, transparent 75.2%),
        radial-gradient(circle at 78% 12%, rgba(255, 192, 0, 0.09), transparent 30%),
        #080808;
    color: var(--dash-text);
    font-family: 'Manrope', 'Cairo', sans-serif;
}

body.nm-dashboard h1,
body.nm-dashboard h2,
body.nm-dashboard h3,
body.nm-dashboard h4,
body.nm-dashboard h5,
body.nm-dashboard h6,
body.nm-dashboard .navbar-brand,
body.nm-dashboard .btn,
body.nm-dashboard .badge,
body.nm-dashboard .nav-link,
body.nm-dashboard .breadcrumb,
body.nm-dashboard th,
body.nm-dashboard .section-kicker,
body.nm-dashboard .panel-label {
    font-family: 'Teko', 'Changa', sans-serif !important;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

body.nm-dashboard .container {
    max-width: 1440px;
}

body.nm-dashboard #main-content {
    margin-top: 0.75rem !important;
}

body.nm-dashboard .navbar-custom {
    background: #080808 !important;
    border-bottom: 1px solid rgba(255, 192, 0, 0.32);
    padding: 0.55rem 1.2rem;
}

body.nm-dashboard .navbar-custom .navbar-brand {
    background: #050505;
    border-bottom: 3px solid var(--nm-yellow);
    clip-path: polygon(0 0, 100% 0, 91% 100%, 0 100%);
    color: var(--nm-white) !important;
    font-size: 1.25rem;
    gap: 0.7rem;
    padding: 0.45rem 1.8rem 0.32rem 0.85rem;
}

body.nm-dashboard .navbar-custom .nav-link {
    color: var(--dash-text) !important;
    font-size: 0.98rem;
    padding-inline: 0.75rem;
}

body.nm-dashboard .navbar-custom .nav-link:hover,
body.nm-dashboard .navbar-custom .nav-link.active {
    border-bottom-color: var(--nm-yellow);
    color: var(--nm-yellow) !important;
}

body.nm-dashboard .dashboard-layout {
    align-items: flex-start;
    gap: 0.85rem;
}

body.nm-dashboard #sidebarMenu {
    background:
        linear-gradient(180deg, rgba(255, 192, 0, 0.06), transparent 36%),
        var(--dash-panel) !important;
    border: 1px solid var(--dash-line);
    border-radius: 0 !important;
    box-shadow: 8px 10px 0 rgba(0, 0, 0, 0.24) !important;
    clip-path: polygon(0 0, 100% 0, 94% 100%, 0 100%);
    min-height: calc(100vh - 96px);
}

body.nm-dashboard .sidebar-heading {
    color: var(--nm-yellow) !important;
    font-family: 'Teko', 'Changa', sans-serif;
    font-size: 1.12rem;
    letter-spacing: 0.05em;
    line-height: 1.05;
    padding-right: 1.4rem !important;
    text-shadow: none !important;
    text-transform: uppercase;
}

body.nm-dashboard .sidebar-heading,
body.nm-dashboard .sidebar-heading span {
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.nm-dashboard .sidebar-custom .nav-link {
    border: 1px solid transparent;
    border-radius: 0;
    clip-path: polygon(0 0, 100% 0, 93% 100%, 0 100%);
    color: var(--dash-muted) !important;
    font-size: 0.95rem;
    margin-bottom: 0.22rem;
    padding: 0.48rem 1.05rem 0.36rem 0.75rem;
}

body.nm-dashboard .sidebar-custom .nav-link:hover,
body.nm-dashboard .sidebar-custom .nav-link.active {
    background: var(--nm-yellow) !important;
    border-left: 0;
    color: #050505 !important;
    font-weight: 700;
}

body.nm-dashboard main {
    flex: 1;
    min-width: 0;
}

body.nm-dashboard .breadcrumb {
    background: transparent;
    border-bottom: 1px solid rgba(255, 192, 0, 0.18);
    font-size: 0.86rem;
    margin-bottom: 0.65rem !important;
    padding-bottom: 0.38rem;
}

body.nm-dashboard .breadcrumb a {
    color: var(--nm-yellow);
    text-decoration: none;
}

body.nm-dashboard .breadcrumb-item.active {
    color: var(--dash-muted);
}

body.nm-dashboard .dashboard-hero,
body.nm-dashboard .operator-note,
body.nm-dashboard .dashboard-panel,
body.nm-dashboard .card,
body.nm-dashboard .ops-card,
body.nm-dashboard .server-card {
    background: var(--dash-panel) !important;
    border: 1px solid var(--dash-line) !important;
    border-radius: 0 !important;
    box-shadow: 8px 9px 0 rgba(0, 0, 0, 0.22) !important;
    clip-path: polygon(0 0, 100% 0, calc(100% - 14px) 100%, 0 100%);
}

body.nm-dashboard .dashboard-hero {
    background:
        linear-gradient(110deg, rgba(255, 192, 0, 0.13), transparent 34%),
        var(--dash-panel) !important;
    margin-bottom: 0.8rem;
    padding: 1rem 1.25rem;
}

body.nm-dashboard .dashboard-hero h1 {
    color: var(--nm-white);
    font-size: clamp(2rem, 4.2vw, 3.6rem);
    line-height: 0.92;
    margin-bottom: 0.35rem;
}

body.nm-dashboard .dashboard-hero p,
body.nm-dashboard .ops-card p,
body.nm-dashboard .operator-note p {
    color: var(--dash-muted);
    font-size: 0.9rem;
    line-height: 1.42;
}

body.nm-dashboard .section-kicker,
body.nm-dashboard .panel-label {
    background: #050505;
    color: var(--nm-yellow);
    display: inline-block;
    font-size: 0.86rem;
    line-height: 1;
    padding: 0.24rem 0.45rem 0.14rem;
}

body.nm-dashboard .ops-metrics {
    gap: 0.55rem;
    margin-bottom: 0.65rem;
}

body.nm-dashboard .ops-metrics div {
    background: var(--dash-panel-soft);
    border: 1px solid rgba(255, 255, 255, 0.13);
    border-radius: 0;
    clip-path: polygon(18px 0, 100% 0, calc(100% - 14px) 100%, 0 100%);
    padding: 0.65rem 1rem;
}

body.nm-dashboard .ops-metrics span {
    color: var(--nm-white);
    font-family: 'Teko', 'Changa', sans-serif;
    font-size: clamp(1.8rem, 3.4vw, 2.75rem);
    line-height: 0.9;
    text-shadow: none;
}

body.nm-dashboard .ops-metrics small {
    color: var(--dash-muted);
    font-family: 'Teko', 'Changa', sans-serif;
    font-size: 0.88rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

body.nm-dashboard .attention-grid {
    display: grid;
    gap: 0.55rem;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

body.nm-dashboard .attention-item {
    align-items: center;
    background: rgba(255, 255, 255, 0.045);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-left: 4px solid var(--dash-warning);
    color: var(--dash-text);
    display: flex;
    gap: 0.7rem;
    min-height: 68px;
    padding: 0.55rem 0.75rem;
    text-decoration: none;
}

body.nm-dashboard .attention-item:hover {
    background: rgba(255, 255, 255, 0.075);
    color: var(--dash-text);
}

body.nm-dashboard .attention-count {
    color: var(--dash-warning);
    font-family: 'Teko', 'Changa', sans-serif;
    font-size: 2rem;
    line-height: 0.9;
    min-width: 2.3rem;
}

body.nm-dashboard .attention-item strong {
    display: block;
    font-family: 'Teko', 'Changa', sans-serif;
    font-size: 1rem;
    letter-spacing: 0.05em;
    line-height: 1;
    text-transform: uppercase;
}

body.nm-dashboard .attention-item small {
    color: var(--dash-muted);
    display: block;
    font-size: 0.78rem;
    line-height: 1.25;
    margin-top: 0.15rem;
}

body.nm-dashboard .ops-grid {
    gap: 0.65rem;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

body.nm-dashboard .ops-card {
    align-content: space-between;
    gap: 0.55rem;
    min-height: 150px;
    padding: 0.9rem;
}

body.nm-dashboard .ops-card h2,
body.nm-dashboard .server-card h2,
body.nm-dashboard .dashboard-panel h2,
body.nm-dashboard .card-title,
body.nm-dashboard .h2,
body.nm-dashboard h1.h2 {
    color: var(--nm-white);
    font-size: clamp(1.25rem, 2.3vw, 1.7rem);
    line-height: 1;
}

body.nm-dashboard .btn {
    border-radius: 6px !important;
    clip-path: none;
    font-size: 0.86rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1;
    min-height: 34px;
    padding: 0.48rem 0.85rem 0.38rem;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

body.nm-dashboard .btn-sm {
    font-size: 0.78rem;
    min-height: 30px;
    padding: 0.38rem 0.75rem 0.26rem;
}

body.nm-dashboard .btn-primary,
body.nm-dashboard .btn-cyber-primary {
    background: var(--dash-action) !important;
    border: 1px solid var(--dash-action) !important;
    color: #060606 !important;
    box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.26) !important;
}
body.nm-dashboard .btn-primary:hover,
body.nm-dashboard .btn-cyber-primary:hover {
    filter: drop-shadow(0 0 6px rgba(96, 165, 250, 0.6)) brightness(1.1) !important;
    transform: translateY(-1.5px);
}

body.nm-dashboard .btn-cyber-outline {
    background: transparent !important;
    border: 1px solid var(--nm-yellow) !important;
    color: var(--nm-yellow) !important;
}
body.nm-dashboard .btn-cyber-outline:hover {
    background: rgba(255, 192, 0, 0.15) !important;
    filter: drop-shadow(0 0 6px rgba(255, 192, 0, 0.5)) brightness(1.1) !important;
    color: #ffffff !important;
    transform: translateY(-1.5px);
}

body.nm-dashboard .dashboard-hero .btn-cyber-primary {
    background: var(--nm-yellow) !important;
    border-color: var(--nm-yellow) !important;
}
body.nm-dashboard .dashboard-hero .btn-cyber-primary:hover {
    filter: drop-shadow(0 0 6px rgba(255, 192, 0, 0.6)) brightness(1.1) !important;
}

body.nm-dashboard .btn-success {
    background: var(--dash-success) !important;
    border: 1px solid var(--dash-success) !important;
    color: #041007 !important;
}
body.nm-dashboard .btn-success:hover {
    filter: drop-shadow(0 0 6px rgba(34, 197, 94, 0.6)) brightness(1.1) !important;
    transform: translateY(-1.5px);
}

body.nm-dashboard .btn-warning {
    background: var(--dash-warning) !important;
    border: 1px solid var(--dash-warning) !important;
    color: #120a00 !important;
}
body.nm-dashboard .btn-warning:hover {
    filter: drop-shadow(0 0 6px rgba(245, 158, 11, 0.6)) brightness(1.1) !important;
    transform: translateY(-1.5px);
}

body.nm-dashboard .btn-outline-primary {
    background: rgba(96, 165, 250, 0.08) !important;
    border: 1px solid rgba(96, 165, 250, 0.55) !important;
    color: #93c5fd !important;
}
body.nm-dashboard .btn-outline-primary:hover {
    background: rgba(96, 165, 250, 0.22) !important;
    border-color: #60a5fa !important;
    color: #ffffff !important;
    filter: drop-shadow(0 0 6px rgba(96, 165, 250, 0.5)) !important;
    transform: translateY(-1.5px);
}

body.nm-dashboard .btn-outline-secondary {
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.25) !important;
    color: rgba(255, 255, 255, 0.85) !important;
}
body.nm-dashboard .btn-outline-secondary:hover {
    background: rgba(255, 192, 0, 0.14) !important;
    border-color: var(--nm-yellow) !important;
    color: var(--nm-yellow) !important;
    filter: drop-shadow(0 0 6px rgba(255, 192, 0, 0.5)) !important;
    transform: translateY(-1.5px);
}

body.nm-dashboard .btn-outline-success {
    background: rgba(34, 197, 94, 0.08) !important;
    border: 1px solid rgba(34, 197, 94, 0.55) !important;
    color: #4ade80 !important;
}
body.nm-dashboard .btn-outline-success:hover {
    background: rgba(34, 197, 94, 0.22) !important;
    border-color: #22c55e !important;
    color: #ffffff !important;
    filter: drop-shadow(0 0 6px rgba(34, 197, 94, 0.5)) !important;
    transform: translateY(-1.5px);
}

body.nm-dashboard .btn-outline-warning {
    background: rgba(245, 158, 11, 0.08) !important;
    border: 1px solid rgba(245, 158, 11, 0.55) !important;
    color: #fbbf24 !important;
}
body.nm-dashboard .btn-outline-warning:hover {
    background: rgba(245, 158, 11, 0.22) !important;
    border-color: #f59e0b !important;
    color: #ffffff !important;
    filter: drop-shadow(0 0 6px rgba(245, 158, 11, 0.5)) !important;
    transform: translateY(-1.5px);
}

body.nm-dashboard .btn-outline-danger,
body.nm-dashboard .btn-danger {
    background: rgba(255, 77, 109, 0.08) !important;
    border: 1px solid rgba(255, 77, 109, 0.55) !important;
    color: #fb7185 !important;
}
body.nm-dashboard .btn-outline-danger:hover,
body.nm-dashboard .btn-danger:hover {
    background: rgba(255, 77, 109, 0.22) !important;
    border-color: #ff4d6d !important;
    color: #ffffff !important;
    filter: drop-shadow(0 0 6px rgba(255, 77, 109, 0.5)) !important;
    transform: translateY(-1.5px);
}

body.nm-dashboard .card {
    overflow: hidden;
}

body.nm-dashboard .card-header,
body.nm-dashboard .modal-header,
body.nm-dashboard .modal-footer {
    background: rgba(255, 192, 0, 0.08) !important;
    border-color: var(--dash-line) !important;
}

body.nm-dashboard .card-body {
    padding: 0.9rem;
}

body.nm-dashboard .table-responsive {
    background: var(--dash-panel);
    border: 1px solid var(--dash-line);
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.22);
    overflow-x: auto;
    padding: 0.15rem;
    -webkit-overflow-scrolling: touch;
}

body.nm-dashboard .table {
    border-collapse: separate;
    border-spacing: 0 0.32rem;
    margin-bottom: 0;
    min-width: 760px;
}

body.nm-dashboard thead th {
    background: transparent !important;
    border: 0 !important;
    color: var(--nm-yellow) !important;
    font-size: 0.86rem !important;
    padding: 0.48rem 0.65rem !important;
}

body.nm-dashboard tbody tr {
    background: rgba(255, 255, 255, 0.035) !important;
}

body.nm-dashboard tbody td {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    padding: 0.52rem 0.65rem !important;
    vertical-align: middle;
}

body.nm-dashboard tbody td:first-child {
    border-left: 3px solid var(--dash-line-strong) !important;
}

body.nm-dashboard tbody td:last-child {
    border-right: 1px solid rgba(255, 255, 255, 0.08) !important;
}

body.nm-dashboard .form-control,
body.nm-dashboard .form-select,
body.nm-dashboard textarea {
    background: #0b0b0b !important;
    border: 1px solid rgba(255, 255, 255, 0.16) !important;
    border-radius: 0 !important;
    color: var(--nm-white) !important;
    min-height: 36px;
    padding: 0.38rem 0.62rem;
}

body.nm-dashboard .form-control:focus,
body.nm-dashboard .form-select:focus {
    border-color: var(--nm-yellow) !important;
    box-shadow: 0 0 0 3px rgba(255, 192, 0, 0.12) !important;
}

body.nm-dashboard .form-label {
    color: var(--nm-yellow);
    font-family: 'Teko', 'Changa', sans-serif;
    font-size: 0.92rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

body.nm-dashboard .badge {
    border-radius: 5px;
    clip-path: none;
    font-family: inherit;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.1;
    padding: 0.28rem 0.5rem 0.24rem;
}

body.nm-dashboard .badge.bg-success,
body.nm-dashboard .badge-scrim-winner {
    background: var(--dash-success-soft) !important;
    border: 1px solid rgba(34, 197, 94, 0.62) !important;
    color: #4ade80 !important;
}

body.nm-dashboard .badge.bg-primary,
body.nm-dashboard .badge.bg-info,
body.nm-dashboard .badge-scrim-upcoming {
    background: var(--dash-action-soft) !important;
    border: 1px solid rgba(96, 165, 250, 0.58) !important;
    color: #93c5fd !important;
}

body.nm-dashboard .badge.bg-warning {
    background: var(--dash-warning-soft) !important;
    border: 1px solid rgba(245, 158, 11, 0.7) !important;
    color: #fbbf24 !important;
}

body.nm-dashboard .badge.bg-secondary {
    background: var(--dash-neutral-soft) !important;
    border: 1px solid rgba(167, 173, 186, 0.28);
    color: var(--dash-muted) !important;
}

body.nm-dashboard .badge.bg-danger {
    background: var(--dash-danger-soft) !important;
    border: 1px solid rgba(255, 77, 109, 0.7) !important;
    color: #fb7185 !important;
}

body.nm-dashboard .alert {
    background: var(--dash-panel) !important;
    border: 1px solid var(--dash-line) !important;
    border-left: 5px solid var(--nm-yellow) !important;
    border-radius: 0 !important;
    color: var(--dash-text) !important;
    box-shadow: 5px 5px 0 rgba(0, 0, 0, 0.18);
    margin-bottom: 0.75rem;
    padding: 0.65rem 0.85rem;
}

body.nm-dashboard .list-group,
body.nm-dashboard .list-group-item {
    background: transparent !important;
    border-color: var(--dash-line) !important;
    color: var(--dash-text) !important;
}

body.nm-dashboard .list-group-item {
    background: rgba(255, 255, 255, 0.035) !important;
    margin-bottom: 0.28rem;
    padding: 0.55rem 0.7rem;
}

body.nm-dashboard .dashboard-feed-item {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.12);
    border-left: 3px solid var(--nm-yellow);
    border-radius: 0;
    gap: 0.05rem;
    padding: 0.52rem 0.68rem;
}

body.nm-dashboard .dashboard-feed-item span {
    color: var(--nm-white);
}

body.nm-dashboard .modal-content {
    background: #080808 !important;
    border: 1px solid var(--nm-yellow) !important;
    border-radius: 0 !important;
    box-shadow: 9px 9px 0 rgba(0, 0, 0, 0.32) !important;
}

body.nm-dashboard .pagination .page-link {
    background: var(--dash-panel) !important;
    border-color: var(--dash-line) !important;
    border-radius: 0 !important;
    color: var(--nm-yellow) !important;
    font-family: 'Teko', 'Changa', sans-serif;
    font-size: 0.9rem;
    padding: 0.35rem 0.6rem;
}

body.nm-dashboard .pagination .page-item.active .page-link {
    background: var(--nm-yellow) !important;
    color: #050505 !important;
}

body.nm-dashboard pre,
body.nm-dashboard code {
    background: #070707 !important;
    border-color: rgba(255, 192, 0, 0.22) !important;
    border-radius: 0 !important;
}

body.nm-dashboard .dashboard-pagebar {
    border-color: rgba(255, 192, 0, 0.18) !important;
    gap: 0.75rem;
}

body.nm-dashboard .dashboard-pagebar h1,
body.nm-dashboard .dashboard-pagebar .h2 {
    margin: 0;
}

body.nm-dashboard .dashboard-pagebar p {
    font-size: 0.82rem;
}

body.nm-dashboard .dashboard-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: flex-end;
}

body.nm-dashboard .dashboard-actions form {
    margin: 0;
}

body.nm-dashboard .dashboard-filter {
    background: rgba(10, 10, 10, 0.72);
    border: 1px solid rgba(255, 192, 0, 0.16);
    padding: 0.65rem;
}

body.nm-dashboard .dashboard-filter .form-label {
    margin-bottom: 0.22rem;
}

body.nm-dashboard .table-actions {
    min-width: 148px;
    white-space: nowrap;
}

body.nm-dashboard .dashboard-action-menu {
    align-items: center;
    display: inline-flex;
    gap: 0.3rem;
}

body.nm-dashboard .table-actions .btn {
    display: inline-flex;
    margin: 0.08rem;
    vertical-align: middle;
}

body.nm-dashboard .dropdown-menu {
    background: #080808 !important;
    border: 1px solid rgba(255, 192, 0, 0.32) !important;
    border-radius: 0 !important;
    box-shadow: 6px 7px 0 rgba(0, 0, 0, 0.3);
    min-width: 160px;
    padding: 0.28rem;
}

body.nm-dashboard .dropdown-item {
    border-radius: 0;
    color: var(--dash-text);
    font-family: 'Teko', 'Changa', sans-serif;
    font-size: 0.9rem;
    letter-spacing: 0.04em;
    line-height: 1;
    padding: 0.5rem 0.65rem 0.36rem;
    text-transform: uppercase;
}

body.nm-dashboard .dropdown-item:hover,
body.nm-dashboard .dropdown-item:focus {
    background: rgba(255, 192, 0, 0.1);
    color: var(--nm-yellow);
}

body.nm-dashboard .dropdown-item:disabled {
    color: var(--dash-muted);
    opacity: 0.5;
}

body.nm-dashboard .dropdown-menu form {
    margin: 0;
}

body.nm-dashboard .table-actions {
    min-width: 132px;
}

body.nm-dashboard .table-actions .dashboard-action-menu {
    gap: 0.45rem;
}

body.nm-dashboard .table-actions .btn,
body.nm-dashboard .table-actions .dropdown-item {
    clip-path: none;
    border-radius: 4px !important;
    font-family: inherit;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.1;
    text-transform: uppercase;
}

body.nm-dashboard .table-actions .btn {
    align-items: center;
    box-shadow: none !important;
    display: inline-flex;
    gap: 0.25rem;
    min-height: 28px;
    padding: 0.35rem 0.55rem;
}

body.nm-dashboard .table-actions .btn:hover {
    transform: none;
}

body.nm-dashboard .table-actions .dropdown-menu {
    border-radius: 6px !important;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.34);
    min-width: 176px;
    padding: 0.35rem;
}

body.nm-dashboard .table-actions .dropdown-item {
    align-items: center;
    display: flex;
    gap: 0.35rem;
    min-height: 32px;
    padding: 0.45rem 0.6rem;
}

body.nm-dashboard .modal-body {
    padding: 0.9rem;
}

body.nm-dashboard .modal-header,
body.nm-dashboard .modal-footer {
    padding: 0.65rem 0.9rem;
}

body.nm-dashboard .input-group .btn {
    min-height: 36px;
}

@media (max-width: 991px) {
    body.nm-dashboard .container {
        max-width: 100%;
        padding-left: 0.85rem;
        padding-right: 0.85rem;
    }

    body.nm-dashboard #sidebarMenu {
        clip-path: none;
        min-height: auto;
    }

    body.nm-dashboard .dashboard-layout {
        gap: 0;
    }

    body.nm-dashboard main {
        padding-left: 0.35rem !important;
        padding-right: 0.35rem !important;
    }

    body.nm-dashboard .dashboard-pagebar {
        align-items: stretch !important;
        flex-direction: column;
    }

    body.nm-dashboard .dashboard-actions {
        justify-content: flex-start;
        width: 100%;
    }

    body.nm-dashboard .dashboard-actions > .btn,
    body.nm-dashboard .dashboard-actions > form,
    body.nm-dashboard .dashboard-actions > form > .btn {
        flex: 1 1 160px;
    }

    body.nm-dashboard .dashboard-actions > .btn,
    body.nm-dashboard .dashboard-actions > form > .btn {
        justify-content: center;
        width: 100%;
    }

    body.nm-dashboard .dashboard-filter {
        padding: 0.75rem;
    }

    body.nm-dashboard .table-responsive {
        margin-left: -0.35rem;
        margin-right: -0.35rem;
        padding: 0.1rem;
    }

    body.nm-dashboard .table {
        min-width: 720px;
    }
}

@media (max-width: 575px) {
    body.nm-dashboard .container {
        margin-top: 0.75rem !important;
        padding-left: 0.55rem;
        padding-right: 0.55rem;
    }

    body.nm-dashboard .breadcrumb {
        font-size: 0.78rem;
        overflow-x: auto;
        white-space: nowrap;
    }

    body.nm-dashboard .dashboard-pagebar h1,
    body.nm-dashboard .dashboard-pagebar .h2 {
        font-size: 1.25rem;
    }

    body.nm-dashboard .dashboard-actions {
        gap: 0.4rem;
    }

    body.nm-dashboard .dashboard-actions > .btn,
    body.nm-dashboard .dashboard-actions > form {
        flex-basis: 100%;
    }

    body.nm-dashboard .btn {
        min-height: 36px;
        padding-left: 0.7rem;
        padding-right: 0.7rem;
    }

    body.nm-dashboard .table {
        font-size: 0.86rem;
        min-width: 680px;
    }

    body.nm-dashboard thead th,
    body.nm-dashboard tbody td {
        padding-left: 0.45rem !important;
        padding-right: 0.45rem !important;
    }

    body.nm-dashboard .badge {
        white-space: nowrap;
    }

    body.nm-dashboard .dashboard-action-menu {
        gap: 0.35rem;
    }
}

@media (max-width: 991px) {
    .arena-hero,
    .arena-grid,
    .identity-strip,
    .journey-grid,
    .server-grid,
    .ops-grid,
    .ops-metrics {
        grid-template-columns: 1fr;
    }

    .arena-hero {
        min-height: auto;
        padding-top: 2.5rem;
    }

    .community-cta,
    .dashboard-hero {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 575px) {
    .arena-snapshot-grid {
        grid-template-columns: 1fr;
    }

    .hero-actions .btn,
    .cta-actions .btn {
        width: 100%;
    }

    .scrim-item-top,
    .scrim-item-bottom,
    .card-heading-row {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* =========================================================
   Noble Minds Landing Page - DESIGN 2: THE VELOCITY SPLIT
   Extreme angles, speed, forward momentum.
   Sized to always fit the viewport on first paint
   (uses clamp(min, min(<vw>, <vh>), max) so width AND height
   both constrain the scale).
   ========================================================= */
:root {
    --nm-black: #030405;
    --nm-dark: #07080a;
    --nm-velocity: #121316;
    --nm-stat-bg: #111111;
    --nm-stat-border: #333333;
    --nm-yellow: #FFC000;
    --nm-white: #ffffff;
    --nm-text-muted: #9ca3af;
    --nm-text-dim: #6b7280;
    --nm-metal-base:
        linear-gradient(112deg, transparent 0 11%, rgba(255, 192, 0, 0.08) 11.1% 11.45%, transparent 11.55% 36%, rgba(255, 255, 255, 0.05) 36.1% 36.35%, transparent 36.45% 100%),
        linear-gradient(104deg, rgba(255, 192, 0, 0.075) 0 8%, transparent 8.2% 48%, rgba(255, 255, 255, 0.045) 48.15% 48.45%, transparent 48.6% 100%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.055), transparent 14% 82%, rgba(0, 0, 0, 0.45)),
        linear-gradient(180deg, #17191d 0%, #0b0c0f 45%, #030405 100%);
    --nm-metal-plate:
        linear-gradient(110deg, rgba(255, 255, 255, 0.06), transparent 20% 80%, rgba(0, 0, 0, 0.38)),
        repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.028) 0 1px, transparent 1px 9px),
        linear-gradient(180deg, rgba(27, 29, 33, 0.94), rgba(8, 9, 11, 0.96));
}

/* Reusable skew helpers (match reference: skewX(-20deg) / +20deg) */
.nm-skew { transform: skewX(-20deg); }
.nm-unskew { transform: skewX(20deg); }

/* Body: pitch black + Teko display font. Becomes the scroll container with
   y-mandatory scroll-snap so every <section> pages one viewport at a time. */
html {
    height: 100%;
}

body.nm-landing {
    background-color: var(--nm-black);
    background-image: var(--nm-metal-base);
    background-attachment: fixed;
    background-size: cover;
    color: var(--nm-white);
    font-family: 'Teko', 'Changa', sans-serif;
    margin: 0;
    padding: 0;
    height: 100vh;
    height: 100dvh;
    overflow-x: hidden;
    overflow-y: scroll;
    scroll-snap-type: y mandatory;
    scrollbar-width: thin;
    scrollbar-color: var(--nm-stat-border) var(--nm-black);
}

body.nm-landing::before,
body.nm-landing::after {
    content: '';
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
}

body.nm-landing::before {
    background:
        linear-gradient(108deg, transparent 0 7%, rgba(255, 192, 0, 0.16) 7.15% 7.55%, transparent 7.7% 100%),
        linear-gradient(108deg, transparent 0 42%, rgba(255, 255, 255, 0.09) 42.1% 42.35%, transparent 42.5% 100%),
        linear-gradient(108deg, rgba(255, 255, 255, 0.055) 0 22%, rgba(0, 0, 0, 0.18) 22.15% 48%, transparent 48.2% 100%);
    clip-path: polygon(0 0, 100% 0, 100% 70%, 0 93%);
    opacity: 0.42;
}

body.nm-landing::after {
    background:
        linear-gradient(102deg, rgba(255, 192, 0, 0.16), rgba(255, 192, 0, 0.035) 34%, transparent 68%),
        linear-gradient(102deg, transparent 0 72%, rgba(255, 255, 255, 0.075) 72.15% 72.45%, transparent 72.6% 100%);
    clip-path: polygon(0 78%, 100% 56%, 100% 100%, 0 100%);
    opacity: 0.48;
}

body.nm-landing::-webkit-scrollbar { width: 8px; }
body.nm-landing::-webkit-scrollbar-track { background: var(--nm-black); }
body.nm-landing::-webkit-scrollbar-thumb {
    background: var(--nm-stat-border);
    border-radius: 0;
}
body.nm-landing::-webkit-scrollbar-thumb:hover {
    background: var(--nm-yellow);
}

/* Bypass Bootstrap container chrome so sections are full-bleed. */
body.nm-landing #main-content {
    max-width: none !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* ---------- Fixed brand header (overlays every section) ---------- */
.nm-fixed-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: clamp(0.75rem, 2vh, 1.75rem) clamp(1rem, 3vw, 2.5rem);
    width: 100%;
    box-sizing: border-box;
    pointer-events: none;
}

.nm-fixed-header > * {
    pointer-events: auto;
}

.nm-header-brand {
    background: var(--nm-black);
    border-bottom: 2px solid var(--nm-yellow);
    transform: skewX(-20deg);
    padding: clamp(0.45rem, 1.2vh, 0.75rem) clamp(1rem, 1.8vw, 1.5rem);
    display: inline-block;
    text-decoration: none;
    color: var(--nm-white) !important;
}

.nm-header-brand-inner {
    transform: skewX(20deg);
    display: flex;
    align-items: center;
    gap: 0.75rem;
    color: var(--nm-white);
}

.nm-header-brand-text {
    font-family: 'Teko', 'Changa', sans-serif;
    font-weight: 700;
    font-size: clamp(1.5rem, min(2.4vw, 3.6vh), 2.25rem);
    line-height: 1;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--nm-white);
    white-space: nowrap;
}

.nm-header-logo {
    height: clamp(22px, 3vh, 32px);
    width: auto;
    max-width: clamp(22px, 3vh, 32px);
    object-fit: contain;
    flex-shrink: 0;
    filter: drop-shadow(0 0 4px rgba(255, 192, 0, 0.5));
}

.nm-header-action {
    background: var(--nm-white);
    color: var(--nm-black) !important;
    transform: skewX(-20deg);
    padding: clamp(0.45rem, 1.2vh, 0.7rem) clamp(1.25rem, 2.5vw, 2rem);
    border: none;
    text-decoration: none;
    display: inline-block;
    transition: background 0.15s ease-in-out;
}

.nm-header-action > span {
    display: block;
    transform: skewX(20deg);
    font-family: 'Teko', 'Changa', sans-serif;
    font-weight: 700;
    font-size: clamp(1.1rem, min(1.6vw, 2.8vh), 1.5rem);
    letter-spacing: 0.05em;
    text-transform: uppercase;
    line-height: 1.2;
}

.nm-header-action:hover {
    background: var(--nm-yellow);
}

/* ---------- Header Navigation Links ---------- */
.nm-header-nav {
    display: flex;
    align-items: center;
    gap: clamp(1rem, 2vw, 2.5rem);
}

.nm-header-nav-link {
    font-family: 'Teko', 'Changa', sans-serif;
    font-weight: 700;
    font-size: clamp(1.1rem, min(1.6vw, 2.8vh), 1.5rem);
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--nm-text-muted);
    text-decoration: none;
    transition: all 0.2s ease-in-out;
    padding: 0.2rem 0.5rem;
    border-bottom: 2px solid transparent;
}

.nm-header-nav-link:hover,
.nm-header-nav-link.active {
    color: var(--nm-yellow);
    border-bottom: 2px solid var(--nm-yellow);
}

.nm-header-right {
    display: flex;
    align-items: center;
    gap: 1rem;
}

/* Mobile Menu Toggle Button */
.nm-menu-toggle {
    background: var(--nm-velocity);
    border: 1px solid var(--nm-stat-border);
    transform: skewX(-20deg);
    width: clamp(2.5rem, 5vh, 3.5rem);
    height: clamp(2.2rem, 4.5vh, 3rem);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
    padding: 0;
}

.nm-menu-toggle:hover {
    border-color: var(--nm-yellow);
    background: var(--nm-black);
}

.nm-menu-toggle-icon {
    display: block;
    position: relative;
    width: 18px;
    height: 2px;
    background: var(--nm-white);
    transform: skewX(20deg);
    transition: background 0.2s ease;
}

.nm-menu-toggle-icon::before,
.nm-menu-toggle-icon::after {
    content: '';
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background: var(--nm-white);
    transition: all 0.2s ease;
}

.nm-menu-toggle-icon::before {
    top: -6px;
}

.nm-menu-toggle-icon::after {
    top: 6px;
}

/* Toggle Active State (transforms hamburger to X) */
.nm-menu-toggle.active .nm-menu-toggle-icon {
    background: transparent;
}

.nm-menu-toggle.active .nm-menu-toggle-icon::before {
    transform: rotate(45deg);
    top: 0;
}

.nm-menu-toggle.active .nm-menu-toggle-icon::after {
    transform: rotate(-45deg);
    top: 0;
}

/* Mobile Navigation Overlay */
.nm-mobile-nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    background: rgba(3, 4, 5, 0.98);
    backdrop-filter: blur(15px);
    z-index: 99;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}

.nm-mobile-nav.active {
    opacity: 1;
    pointer-events: auto;
}

.nm-mobile-nav-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
    width: 100%;
    padding: 2rem;
}

.nm-mobile-nav-link {
    font-family: 'Teko', 'Changa', sans-serif;
    font-weight: 700;
    font-size: 2.25rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--nm-white);
    text-decoration: none;
    transition: color 0.2s ease;
    border-bottom: 2px solid transparent;
    padding: 0.25rem 1rem;
}

.nm-mobile-nav-link:hover,
.nm-mobile-nav-link.active {
    color: var(--nm-yellow);
    border-bottom: 2px solid var(--nm-yellow);
}

body.nm-menu-open {
    overflow: hidden !important;
}

/* ---------- Section base ----------
   Every snap section: 100vh, own diagonal #111 slab with faint yellow wedge. */
.nm-section {
    position: relative;
    height: 100vh;
    height: 100dvh;
    width: 100%;
    overflow: hidden;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    background: transparent;
}

.nm-section::before {
    display: none;
}

.nm-section::after {
    display: none;
}

.nm-section + .nm-section {
    margin-top: -1px;
}

/* Mirror the slab on every other section so the visual rhythm alternates */
.nm-section--alt::before {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 75%);
}

.nm-section--alt::after {
    clip-path: polygon(0% 30%, 100% 100%, 0% 100%);
    right: auto;
    left: 0;
}

.nm-section__inner {
    position: relative;
    z-index: 10;
    height: 100%;
    width: 100%;
    max-width: 80rem;
    margin: 0 auto;
    padding: clamp(5rem, 12vh, 8rem) clamp(1rem, 3vw, 2.5rem) clamp(2rem, 5vh, 4rem);
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: clamp(1rem, 2.5vh, 2rem);
}

/* Section header block (tagline + big title) */
.nm-section__header {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: clamp(0.3rem, 0.8vh, 0.6rem);
}

.nm-section__title {
    font-family: 'Teko', 'Changa', sans-serif;
    font-weight: 700;
    font-size: clamp(2.5rem, min(7vw, 12vh), 6.5rem);
    line-height: 0.85;
    letter-spacing: 0;
    text-transform: uppercase;
    margin: 0;
    color: var(--nm-white);
}

.nm-section__title .outline {
    color: transparent;
    -webkit-text-stroke: 2px var(--nm-yellow);
    background: none;
    display: inline-block;
}

/* Generic content area inside a section */
.nm-section__body {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
}

/* =========================================================
   SECTION: HERO (existing hero retained)
   ========================================================= */
.nm-section--hero .nm-section__inner {
    /* Hero centers the two-column grid, no need for header block */
    justify-content: center;
    padding-top: clamp(5rem, 11vh, 7rem);
}

.nm-hero-grid {
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: clamp(1.5rem, 4vw, 4rem);
    box-sizing: border-box;
}

.nm-hero-left {
    flex: 1 1 60%;
    min-width: 0;
    max-width: 60%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

/* Tagline pill: yellow on translucent black */
.nm-tagline {
    background: rgba(0, 0, 0, 0.5);
    color: var(--nm-yellow);
    font-family: 'Teko', 'Changa', sans-serif;
    font-weight: 500;
    font-size: clamp(1.2rem, min(2.2vw, 3.4vh), 2.25rem);
    line-height: 1.1;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 0.15rem 0.5rem;
    margin-bottom: clamp(0.4rem, 1vh, 0.7rem);
    display: inline-block;
}

/* Hero headline */
.nm-title {
    font-family: 'Teko', 'Changa', sans-serif;
    font-weight: 700;
    font-size: clamp(3.25rem, min(11vw, 20vh), 11rem);
    line-height: 0.8;
    text-transform: uppercase;
    letter-spacing: 0;
    margin: 0;
    color: var(--nm-white);
}

.nm-title span.outline {
    color: transparent;
    -webkit-text-stroke: 2px var(--nm-yellow);
    background: none;
    display: inline-block;
}

/* Description quote block: white left border */
.nm-desc {
    border-left: 4px solid var(--nm-white);
    padding-left: 1rem;
    margin: clamp(1rem, 2.5vh, 2rem) 0 clamp(1.25rem, 3vh, 2.25rem);
    max-width: 36rem;
}

.nm-desc p {
    color: var(--nm-text-muted);
    font-family: 'Manrope', 'Cairo', sans-serif;
    font-weight: 500;
    font-size: clamp(0.95rem, min(1.35vw, 2.4vh), 1.6rem);
    line-height: 1.4;
    margin: 0;
}

/* Enlist Now: double-skew button */
.nm-btn-yellow {
    background: var(--nm-yellow);
    transform: skewX(-20deg);
    display: inline-block;
    padding: 0;
    border: none;
    text-decoration: none;
    cursor: pointer;
    transition: transform 0.2s ease-out;
    margin-top: clamp(0.25rem, 1vh, 0.6rem);
}

.nm-btn-yellow > span {
    display: block;
    transform: skewX(20deg);
    padding: clamp(0.55rem, 1.4vh, 0.9rem) clamp(1.5rem, 3vw, 2.5rem);
    color: var(--nm-black);
    font-family: 'Teko', 'Changa', sans-serif;
    font-weight: 700;
    font-size: clamp(1rem, min(1.4vw, 2.4vh), 1.5rem);
    line-height: 1.2;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.nm-btn-yellow:hover {
    transform: skewX(-20deg) scale(1.05);
}

/* Right Stats Board */
.nm-metric-board {
    flex: 1 1 40%;
    min-width: 0;
    max-width: 40%;
    display: flex;
    flex-direction: column;
    gap: clamp(0.6rem, 1.5vh, 1.25rem);
}

.nm-metric-row {
    background: var(--nm-stat-bg);
    border: 1px solid var(--nm-stat-border);
    transform: skewX(-20deg);
    padding: clamp(0.65rem, 1.5vh, 1.25rem) clamp(0.9rem, 1.6vw, 1.5rem);
    position: relative;
    overflow: hidden;
    cursor: default;
}

.nm-metric-row::before {
    content: '';
    position: absolute;
    inset: 0;
    background: var(--nm-white);
    transform: translateX(-100%);
    transition: transform 0.5s ease-out;
    z-index: 0;
}

.nm-metric-row:hover::before {
    transform: translateX(0);
}

.nm-metric-row-inner {
    transform: skewX(20deg);
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 0.5rem;
}

.nm-metric-label {
    color: var(--nm-text-dim);
    font-family: 'Teko', 'Changa', sans-serif;
    font-weight: 700;
    font-size: clamp(1rem, min(1.8vw, 2.8vh), 1.875rem);
    line-height: 1;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    transition: color 0.5s ease-out;
}

.nm-metric-val {
    font-family: 'Teko', 'Changa', sans-serif;
    font-weight: 700;
    font-size: clamp(2rem, min(5vw, 9vh), 5.5rem);
    line-height: 1;
    color: var(--nm-white);
    transition: color 0.5s ease-out;
}

.nm-metric-row.highlight .nm-metric-val { color: var(--nm-yellow); }
.nm-metric-row:hover .nm-metric-label { color: #1f2937; }
.nm-metric-row:hover .nm-metric-val { color: var(--nm-black); }

/* Champion card */
.nm-champion-card {
    background: var(--nm-yellow);
    color: var(--nm-black);
    transform: skewX(-20deg);
    padding: clamp(0.75rem, 1.8vh, 1.4rem) clamp(0.9rem, 1.6vw, 1.5rem);
    margin-top: clamp(0.4rem, 1vh, 0.8rem);
    box-shadow: clamp(6px, 1.2vh, 10px) clamp(6px, 1.2vh, 10px) 0px #222;
    position: relative;
    overflow: hidden;
}

.nm-champion-inner {
    transform: skewX(20deg);
    text-align: center;
}

.nm-champion-kicker {
    color: var(--nm-black);
    font-family: 'Teko', 'Changa', sans-serif;
    font-weight: 700;
    font-size: clamp(0.9rem, min(1.3vw, 2vh), 1.25rem);
    line-height: 1.1;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    margin: 0 0 0.2rem;
}

.nm-champion-name {
    font-family: 'Teko', 'Changa', sans-serif;
    font-weight: 700;
    font-size: clamp(1.8rem, min(4vw, 6.5vh), 4.5rem);
    line-height: 1;
    letter-spacing: 0;
    text-transform: uppercase;
    margin: 0 0 0.35rem;
    color: var(--nm-black);
}

.nm-champion-tag {
    background: var(--nm-black);
    color: var(--nm-yellow);
    padding: 0.15rem 0.9rem;
    font-family: 'Teko', 'Changa', sans-serif;
    font-weight: 500;
    font-size: clamp(1rem, min(1.5vw, 2.2vh), 1.5rem);
    line-height: 1.2;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    display: inline-block;
    border: none;
}

.nm-champion-tag .sep {
    color: var(--nm-white);
    margin: 0 0.45rem;
}

/* =========================================================
   SECTION: LEADERBOARD (Top Squads / #arena)
   ========================================================= */
.nm-leaderboard {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: clamp(0.5rem, 1.2vh, 1rem);
    flex: 1 1 auto;
    min-height: 0;
    justify-content: center;
}

.nm-leaderboard__row {
    background: var(--nm-stat-bg);
    border: 1px solid var(--nm-stat-border);
    transform: skewX(-20deg);
    padding: clamp(0.6rem, 1.5vh, 1.2rem) clamp(1rem, 2vw, 1.8rem);
    position: relative;
    overflow: hidden;
}

.nm-leaderboard__row::before {
    content: '';
    position: absolute;
    inset: 0;
    background: var(--nm-white);
    transform: translateX(-100%);
    transition: transform 0.5s ease-out;
    z-index: 0;
}

.nm-leaderboard__row:hover::before {
    transform: translateX(0);
}

.nm-leaderboard__row--top {
    background: var(--nm-yellow);
    border-color: var(--nm-yellow);
    box-shadow: clamp(5px, 1vh, 8px) clamp(5px, 1vh, 8px) 0px #222;
}

.nm-leaderboard__row--top::before { display: none; }

.nm-leaderboard__inner {
    transform: skewX(20deg);
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: clamp(0.8rem, 2vw, 1.8rem);
}

.nm-leaderboard__rank {
    font-family: 'Teko', 'Changa', sans-serif;
    font-weight: 700;
    font-size: clamp(1.6rem, min(3vw, 5vh), 3rem);
    color: var(--nm-text-dim);
    line-height: 1;
    flex: 0 0 auto;
    min-width: clamp(2rem, 3.5vw, 3.5rem);
    transition: color 0.5s ease-out;
}

.nm-leaderboard__row--top .nm-leaderboard__rank { color: var(--nm-black); }
.nm-leaderboard__row:hover .nm-leaderboard__rank { color: var(--nm-black); }

.nm-leaderboard__body {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.nm-leaderboard__name {
    font-family: 'Teko', 'Changa', sans-serif;
    font-weight: 700;
    font-size: clamp(1.25rem, min(2.4vw, 3.6vh), 2.25rem);
    color: var(--nm-white);
    text-transform: uppercase;
    line-height: 1;
    letter-spacing: 0.02em;
    transition: color 0.5s ease-out;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.nm-leaderboard__row--top .nm-leaderboard__name { color: var(--nm-black); }
.nm-leaderboard__row:hover .nm-leaderboard__name { color: var(--nm-black); }

.nm-leaderboard__tag {
    font-family: 'Manrope', 'Cairo', sans-serif;
    font-weight: 700;
    font-size: clamp(0.7rem, min(0.9vw, 1.5vh), 0.95rem);
    letter-spacing: 0.15em;
    color: var(--nm-yellow);
    text-transform: uppercase;
    transition: color 0.5s ease-out;
}

.nm-leaderboard__row--top .nm-leaderboard__tag { color: var(--nm-black); }
.nm-leaderboard__row:hover .nm-leaderboard__tag { color: #1f2937; }

.nm-leaderboard__elo {
    font-family: 'Teko', 'Changa', sans-serif;
    font-weight: 700;
    font-size: clamp(1.5rem, min(2.8vw, 4.5vh), 2.8rem);
    color: var(--nm-white);
    line-height: 1;
    flex: 0 0 auto;
    transition: color 0.5s ease-out;
}

.nm-leaderboard__row--top .nm-leaderboard__elo { color: var(--nm-black); }
.nm-leaderboard__row:hover .nm-leaderboard__elo { color: var(--nm-black); }

.nm-leaderboard__elo-label {
    font-family: 'Manrope', 'Cairo', sans-serif;
    font-weight: 600;
    font-size: clamp(0.6rem, min(0.8vw, 1.3vh), 0.8rem);
    letter-spacing: 0.15em;
    color: var(--nm-text-dim);
    text-transform: uppercase;
    margin-left: 0.4rem;
    transition: color 0.5s ease-out;
}

.nm-leaderboard__row--top .nm-leaderboard__elo-label { color: var(--nm-black); opacity: 0.7; }
.nm-leaderboard__row:hover .nm-leaderboard__elo-label { color: #1f2937; }

.nm-leaderboard__empty {
    font-family: 'Teko', 'Changa', sans-serif;
    font-weight: 500;
    font-size: clamp(1.2rem, min(2vw, 3vh), 2rem);
    color: var(--nm-text-dim);
    letter-spacing: 0.05em;
    text-transform: uppercase;
    text-align: center;
    padding: clamp(2rem, 5vh, 4rem) 1rem;
}

/* =========================================================
   SECTION: RECENT SCRIMS (Battle Logs)
   ========================================================= */
.nm-scrims {
    flex: 1 1 auto;
    min-height: 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(0.8rem, 1.8vw, 1.6rem);
    align-items: stretch;
    align-content: center;
}

.nm-scrim-card {
    background: var(--nm-stat-bg);
    border: 1px solid var(--nm-stat-border);
    transform: skewX(-20deg);
    padding: clamp(0.9rem, 2vh, 1.6rem) clamp(0.9rem, 1.6vw, 1.4rem);
    overflow: hidden;
    position: relative;
    transition: border-color 0.2s ease;
}

.nm-scrim-card--done {
    border-color: var(--nm-yellow);
}

.nm-scrim-card:hover {
    border-color: var(--nm-white);
}

.nm-scrim-card__inner {
    transform: skewX(20deg);
    display: flex;
    flex-direction: column;
    gap: clamp(0.5rem, 1.2vh, 0.9rem);
    height: 100%;
}

.nm-scrim-card__meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.5rem;
    font-family: 'Manrope', 'Cairo', sans-serif;
    font-weight: 700;
    font-size: clamp(0.65rem, min(0.85vw, 1.4vh), 0.85rem);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--nm-text-dim);
    border-bottom: 1px solid var(--nm-stat-border);
    padding-bottom: clamp(0.4rem, 1vh, 0.7rem);
}

.nm-scrim-card__time {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--nm-yellow);
}

.nm-scrim-card__matchup {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(0.3rem, 0.8vh, 0.6rem);
    flex: 1 1 auto;
    justify-content: center;
}

.nm-scrim-card__team {
    font-family: 'Teko', 'Changa', sans-serif;
    font-weight: 700;
    font-size: clamp(1.25rem, min(2.2vw, 3.6vh), 2.25rem);
    color: var(--nm-white);
    text-transform: uppercase;
    line-height: 1;
    text-align: center;
    word-break: break-word;
}

.nm-scrim-card__team--winner {
    color: var(--nm-yellow);
}

.nm-scrim-card__vs {
    font-family: 'Teko', 'Changa', sans-serif;
    font-weight: 500;
    font-size: clamp(0.9rem, min(1.3vw, 2vh), 1.1rem);
    color: var(--nm-text-dim);
    letter-spacing: 0.25em;
    line-height: 1;
}

.nm-scrim-card__footer {
    text-align: center;
    border-top: 1px solid var(--nm-stat-border);
    padding-top: clamp(0.4rem, 1vh, 0.7rem);
}

.nm-scrim-card__score {
    font-family: 'Teko', 'Changa', sans-serif;
    font-weight: 700;
    font-size: clamp(1.75rem, min(3vw, 5vh), 3rem);
    color: var(--nm-yellow);
    line-height: 1;
}

.nm-scrim-card__status {
    font-family: 'Teko', 'Changa', sans-serif;
    font-weight: 600;
    font-size: clamp(1.1rem, min(1.8vw, 2.6vh), 1.5rem);
    color: var(--nm-yellow);
    text-transform: uppercase;
    letter-spacing: 0.15em;
    line-height: 1;
}

.nm-scrims-empty {
    grid-column: 1 / -1;
    text-align: center;
    font-family: 'Teko', 'Changa', sans-serif;
    font-weight: 500;
    font-size: clamp(1.2rem, min(2vw, 3vh), 2rem);
    color: var(--nm-text-dim);
    letter-spacing: 0.05em;
    text-transform: uppercase;
    padding: clamp(2rem, 5vh, 4rem) 1rem;
}

/* =========================================================
   SECTION: FEATURES (Arsenal / What We Offer)
   ========================================================= */
.nm-features {
    flex: 1 1 auto;
    min-height: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: clamp(0.8rem, 1.8vw, 1.5rem);
    align-content: center;
}

.nm-feature {
    background: var(--nm-stat-bg);
    border: 1px solid var(--nm-stat-border);
    transform: skewX(-20deg);
    padding: clamp(1rem, 2.5vh, 2rem) clamp(1rem, 2vw, 1.8rem);
    overflow: hidden;
    position: relative;
    transition: border-color 0.2s ease, transform 0.2s ease;
}

.nm-feature:hover {
    border-color: var(--nm-yellow);
}

.nm-feature__inner {
    transform: skewX(20deg);
    display: flex;
    flex-direction: column;
    gap: clamp(0.4rem, 1.2vh, 0.9rem);
    height: 100%;
}

.nm-feature__num {
    font-family: 'Teko', 'Changa', sans-serif;
    font-weight: 700;
    font-size: clamp(2rem, min(4vw, 7vh), 4.5rem);
    color: var(--nm-yellow);
    line-height: 0.9;
    letter-spacing: 0;
}

.nm-feature__title {
    font-family: 'Teko', 'Changa', sans-serif;
    font-weight: 700;
    font-size: clamp(1.25rem, min(2.2vw, 3.6vh), 2.25rem);
    color: var(--nm-white);
    text-transform: uppercase;
    line-height: 1;
    margin: 0;
    letter-spacing: 0.02em;
}

.nm-feature__desc {
    font-family: 'Manrope', 'Cairo', sans-serif;
    font-weight: 500;
    font-size: clamp(0.85rem, min(1.1vw, 1.9vh), 1.1rem);
    color: var(--nm-text-muted);
    line-height: 1.45;
    margin: 0;
}

/* =========================================================
   SECTION: STEPS / JOIN (#join)
   ========================================================= */
.nm-steps {
    flex: 1 1 auto;
    min-height: 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(0.8rem, 2vw, 1.8rem);
    align-content: center;
}

.nm-step {
    background: var(--nm-stat-bg);
    border: 1px solid var(--nm-stat-border);
    transform: skewX(-20deg);
    padding: clamp(1rem, 2.5vh, 2rem) clamp(1rem, 1.8vw, 1.6rem);
    overflow: hidden;
    position: relative;
    transition: border-color 0.2s ease;
}

.nm-step:hover {
    border-color: var(--nm-yellow);
}

.nm-step--accent {
    background: var(--nm-yellow);
    border-color: var(--nm-yellow);
    box-shadow: clamp(6px, 1.2vh, 10px) clamp(6px, 1.2vh, 10px) 0px #222;
}

.nm-step--accent:hover { border-color: var(--nm-yellow); }

.nm-step__inner {
    transform: skewX(20deg);
    display: flex;
    flex-direction: column;
    gap: clamp(0.5rem, 1.2vh, 1rem);
    height: 100%;
}

.nm-step__num {
    font-family: 'Teko', 'Changa', sans-serif;
    font-weight: 700;
    font-size: clamp(2rem, min(5vw, 8vh), 5rem);
    line-height: 0.9;
    color: var(--nm-yellow);
}

.nm-step--accent .nm-step__num { color: var(--nm-black); }

.nm-step__title {
    font-family: 'Teko', 'Changa', sans-serif;
    font-weight: 700;
    font-size: clamp(1.25rem, min(2.4vw, 4vh), 2.5rem);
    text-transform: uppercase;
    line-height: 1;
    margin: 0;
    color: var(--nm-white);
    letter-spacing: 0.02em;
}

.nm-step--accent .nm-step__title { color: var(--nm-black); }

.nm-step__desc {
    font-family: 'Manrope', 'Cairo', sans-serif;
    font-weight: 500;
    font-size: clamp(0.85rem, min(1.1vw, 1.9vh), 1.1rem);
    line-height: 1.45;
    margin: 0;
    color: var(--nm-text-muted);
}

.nm-step--accent .nm-step__desc { color: var(--nm-black); opacity: 0.85; }

.nm-steps-cta {
    flex: 0 0 auto;
    display: flex;
    justify-content: center;
    margin-top: clamp(1rem, 2.5vh, 2rem);
}

/* =========================================================
   SECTION: FAQ (Intel Brief)
   ========================================================= */
.nm-faq {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: clamp(0.5rem, 1.2vh, 0.9rem);
    justify-content: center;
    max-width: 60rem;
    margin: 0 auto;
    width: 100%;
}

.nm-faq__item {
    background: var(--nm-stat-bg);
    border: 1px solid var(--nm-stat-border);
    transform: skewX(-20deg);
    overflow: hidden;
    position: relative;
    transition: border-color 0.2s ease;
}

.nm-faq__item[open] {
    border-color: var(--nm-yellow);
}

.nm-faq__item summary {
    list-style: none;
    cursor: pointer;
    padding: clamp(0.7rem, 1.6vh, 1.1rem) clamp(1rem, 1.8vw, 1.5rem);
    display: block;
    color: var(--nm-white);
    user-select: none;
}

.nm-faq__item summary::-webkit-details-marker { display: none; }
.nm-faq__item summary::marker { content: ''; }

.nm-faq__q-inner {
    transform: skewX(20deg);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
}

.nm-faq__q {
    font-family: 'Teko', 'Changa', sans-serif;
    font-weight: 700;
    font-size: clamp(1.1rem, min(1.7vw, 2.8vh), 1.75rem);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    line-height: 1;
}

.nm-faq__icon {
    font-family: 'Teko', 'Changa', sans-serif;
    font-weight: 700;
    font-size: clamp(1.5rem, min(2.4vw, 3.6vh), 2.25rem);
    color: var(--nm-yellow);
    line-height: 1;
    transition: transform 0.2s ease;
    flex: 0 0 auto;
}

.nm-faq__item[open] .nm-faq__icon {
    transform: rotate(45deg);
}

.nm-faq__a {
    padding: 0 clamp(1rem, 1.8vw, 1.5rem) clamp(0.7rem, 1.6vh, 1.1rem);
}

.nm-faq__a-inner {
    transform: skewX(20deg);
    font-family: 'Manrope', 'Cairo', sans-serif;
    font-weight: 500;
    font-size: clamp(0.85rem, min(1.05vw, 1.8vh), 1.05rem);
    color: var(--nm-text-muted);
    line-height: 1.55;
}

/* =========================================================
   SECTION: FOOTER
   ========================================================= */
.nm-section--footer .nm-section__inner {
    justify-content: space-evenly;
    align-items: center;
    text-align: center;
    padding-top: clamp(5rem, 12vh, 8rem);
}

.nm-footer-mark {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(0.75rem, 2vh, 1.5rem);
}

.nm-footer-logo {
    width: clamp(60px, 10vh, 110px);
    height: auto;
    filter: drop-shadow(0 0 12px rgba(255, 192, 0, 0.4));
}

.nm-footer-wordmark {
    font-family: 'Teko', 'Changa', sans-serif;
    font-weight: 700;
    font-size: clamp(2.5rem, min(7vw, 11vh), 8rem);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    line-height: 0.9;
    margin: 0;
    color: var(--nm-white);
}

.nm-footer-wordmark .outline {
    color: transparent;
    -webkit-text-stroke: 2px var(--nm-yellow);
    background: none;
    display: inline-block;
}

.nm-footer-tag {
    font-family: 'Teko', 'Changa', sans-serif;
    font-weight: 500;
    font-size: clamp(0.95rem, min(1.5vw, 2.4vh), 1.4rem);
    color: var(--nm-yellow);
    letter-spacing: 0.25em;
    text-transform: uppercase;
}

.nm-footer-nav {
    display: flex;
    justify-content: center;
    gap: clamp(1rem, 3vw, 3rem);
    flex-wrap: wrap;
}

.nm-footer-nav a {
    font-family: 'Teko', 'Changa', sans-serif;
    font-weight: 700;
    font-size: clamp(1rem, min(1.5vw, 2.4vh), 1.5rem);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--nm-text-muted);
    text-decoration: none;
    transition: color 0.15s ease;
}

.nm-footer-nav a:hover {
    color: var(--nm-yellow);
}

.nm-footer-copy {
    font-family: 'Manrope', 'Cairo', sans-serif;
    font-weight: 500;
    font-size: clamp(0.7rem, min(0.9vw, 1.5vh), 0.85rem);
    color: var(--nm-text-dim);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    border-top: 1px solid var(--nm-stat-border);
    padding-top: clamp(0.75rem, 2vh, 1.5rem);
    width: 100%;
    max-width: 40rem;
}

/* =========================================================
   RESPONSIVE: stack and disable snap on tablet/phone
   ========================================================= */
@media (max-width: 991px) {
    body.nm-landing {
        height: auto;
        min-height: 100vh;
        min-height: 100dvh;
        overflow-y: auto;
        scroll-snap-type: none;
    }

    .nm-section {
        scroll-snap-align: none;
        height: auto;
        min-height: 100vh;
        min-height: 100dvh;
    }

    .nm-section__inner {
        padding-top: clamp(5rem, 12vh, 7rem);
        padding-bottom: clamp(2rem, 6vh, 4rem);
        gap: clamp(1rem, 3vh, 2rem);
    }

    .nm-hero-grid {
        flex-direction: column;
        align-items: stretch;
    }

    .nm-hero-left,
    .nm-metric-board {
        flex: 0 0 auto;
        max-width: 100%;
        width: 100%;
    }

    .nm-title {
        font-size: clamp(3rem, min(13vw, 15vh), 6rem);
    }

    .nm-metric-val {
        font-size: clamp(2rem, min(9vw, 7vh), 3.5rem);
    }

    .nm-champion-name {
        font-size: clamp(1.6rem, min(7vw, 5vh), 2.8rem);
    }

    .nm-section__title {
        font-size: clamp(2.5rem, min(9vw, 10vh), 4.5rem);
    }

    .nm-scrims,
    .nm-features,
    .nm-steps {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
    }

    .nm-features { grid-template-rows: auto; }
}

/* ---------- Phones: tighter chrome ---------- */
@media (max-width: 640px) {
    .nm-fixed-header {
        padding: 0.75rem 0.9rem;
    }

    .nm-header-brand { padding: 0.4rem 0.85rem; }
    .nm-header-action { padding: 0.4rem 1.2rem; }
    .nm-header-brand-inner { gap: 0.5rem; }
    .nm-header-brand-text { font-size: 1.4rem; }
    .nm-header-logo { height: 20px; max-width: 20px; }
    .nm-header-action > span { font-size: 1.05rem; }

    .nm-tagline { font-size: 1.2rem; }
    .nm-desc p { font-size: 1rem; }
    .nm-champion-card { box-shadow: 6px 6px 0px #222; }
}

/* ---------- Landscape phones / very short viewports ---------- */
@media (max-height: 540px) and (min-width: 640px) {
    .nm-fixed-header {
        padding: 0.5rem 1.25rem;
    }

    .nm-section__inner {
        padding-top: 4rem;
        padding-bottom: 1rem;
        gap: 0.6rem;
    }

    .nm-tagline { margin-bottom: 0.25rem; }
    .nm-desc { margin: 0.75rem 0 1rem; }

    .nm-title {
        font-size: clamp(2.5rem, min(7vw, 18vh), 5.5rem);
    }

    .nm-section__title {
        font-size: clamp(2rem, min(5vw, 14vh), 4rem);
    }

    .nm-metric-board { gap: 0.5rem; }
    .nm-metric-row { padding: 0.45rem 1rem; }
    .nm-metric-val { font-size: clamp(1.5rem, 8vh, 3rem); }

    .nm-champion-card {
        padding: 0.55rem 1rem;
        margin-top: 0.4rem;
        box-shadow: 5px 5px 0px #222;
    }

    .nm-champion-name {
        font-size: clamp(1.25rem, 6vh, 2.25rem);
    }
}

/* =========================================================
   PUBLIC ELO ARENA
   A public match board using the Noble Minds control-room language.
   ========================================================= */
.nm-elo-showcase-grid {
    align-items: center;
    display: grid;
    gap: clamp(1.5rem, 4vw, 4rem);
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
}

.nm-elo-showcase-copy {
    max-width: 42rem;
}

.nm-elo-showcase-lede {
    color: var(--nm-white);
    font-family: 'Teko', 'Changa', sans-serif;
    font-size: clamp(1.8rem, 3vw, 3rem);
    line-height: 0.95;
    margin: 0 0 0.8rem;
    text-transform: uppercase;
}

.nm-elo-showcase-desc {
    color: var(--nm-text-muted);
    font-family: 'Manrope', 'Cairo', sans-serif;
    font-size: clamp(0.9rem, 1.2vw, 1.1rem);
    line-height: 1.5;
    margin: 0 0 1.35rem;
    max-width: 35rem;
}

.nm-elo-protocol {
    display: grid;
    gap: 0.6rem;
    grid-template-columns: repeat(3, 1fr);
    margin-bottom: 1.5rem;
}

.nm-elo-protocol__item {
    border-left: 2px solid var(--nm-yellow);
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
    padding: 0.35rem 0.65rem;
}

.nm-elo-protocol__item:nth-child(2) { border-left-color: var(--cyber-blue); }
.nm-elo-protocol__item:nth-child(3) { border-left-color: #22c55e; }

.nm-elo-protocol__item span {
    color: var(--nm-yellow);
    font-family: 'Teko', 'Changa', sans-serif;
    font-size: 1.5rem;
    line-height: 0.9;
}

.nm-elo-protocol__item:nth-child(2) span { color: var(--cyber-blue); }
.nm-elo-protocol__item:nth-child(3) span { color: #22c55e; }

.nm-elo-protocol__item strong {
    color: var(--nm-white);
    font-family: 'Teko', 'Changa', sans-serif;
    font-size: 1.1rem;
    line-height: 1;
    text-transform: uppercase;
}

.nm-elo-protocol__item small {
    color: var(--nm-text-dim);
    font-family: 'Manrope', 'Cairo', sans-serif;
    font-size: 0.7rem;
    line-height: 1.25;
}

.nm-elo-preview {
    background: rgba(0, 0, 0, 0.34);
    border: 1px solid var(--nm-stat-border);
    box-shadow: 8px 8px 0 #222;
    padding: clamp(1rem, 2vw, 1.6rem);
    transform: skewX(-8deg);
}

.nm-elo-preview > * {
    transform: skewX(8deg);
}

.nm-elo-preview__header,
.nm-elo-preview__row {
    align-items: center;
    display: flex;
    justify-content: space-between;
}

.nm-elo-preview__header {
    border-bottom: 1px solid var(--nm-stat-border);
    color: var(--nm-white);
    font-family: 'Teko', 'Changa', sans-serif;
    font-size: 1.2rem;
    letter-spacing: 0.04em;
    padding-bottom: 0.7rem;
    text-transform: uppercase;
}

.nm-elo-live {
    color: #22c55e;
    font-family: 'Manrope', 'Cairo', sans-serif;
    font-size: 0.65rem;
    letter-spacing: 0.08em;
}

.nm-elo-live i {
    background: currentColor;
    border-radius: 50%;
    display: inline-block;
    height: 6px;
    margin-right: 0.25rem;
    width: 6px;
}

.nm-elo-preview__columns {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, 1fr);
    padding-top: 1rem;
}

.nm-elo-preview__label {
    color: var(--nm-yellow);
    font-family: 'Teko', 'Changa', sans-serif;
    font-size: 0.85rem;
    letter-spacing: 0.12em;
    margin-bottom: 0.35rem;
    text-transform: uppercase;
}

.nm-elo-preview__label--blue { color: var(--cyber-blue); }

.nm-elo-preview__row {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    gap: 0.35rem;
    padding: 0.5rem 0;
}

.nm-elo-preview__rank {
    color: var(--nm-yellow);
    font-family: 'Teko', 'Changa', sans-serif;
    font-size: 1.2rem;
}

.nm-elo-preview__rank--blue { color: var(--cyber-blue); }

.nm-elo-preview__name {
    color: var(--nm-white);
    flex: 1;
    font-family: 'Manrope', 'Cairo', sans-serif;
    font-size: 0.72rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.nm-elo-preview__row strong {
    color: var(--nm-white);
    font-family: 'Teko', 'Changa', sans-serif;
    font-size: 1.2rem;
}

.nm-elo-preview__empty {
    color: var(--nm-text-dim);
    font-family: 'Manrope', 'Cairo', sans-serif;
    font-size: 0.72rem;
    padding: 0.6rem 0;
}

@media (max-width: 991px) {
    .nm-elo-showcase-grid { grid-template-columns: 1fr; }
    .nm-elo-showcase-copy { max-width: none; }
}

@media (max-width: 640px) {
    .nm-elo-protocol,
    .nm-elo-preview__columns { grid-template-columns: 1fr; }
    .nm-elo-preview { transform: none; }
    .nm-elo-preview > * { transform: none; }
}

body.elo-arena-public {
    background:
        linear-gradient(155deg, rgba(255, 192, 0, 0.06), transparent 26%),
        #080808;
}

body.elo-arena-public #main-content {
    max-width: 1440px;
    margin-top: 0 !important;
    padding-top: 1.8rem;
    padding-bottom: 4rem;
}

.elo-arena-shell {
    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
}

.elo-arena-hero,
.elo-arena-section,
.elo-arena-cta {
    border: 1px solid var(--dash-line);
    background: var(--dash-panel);
    box-shadow: 8px 9px 0 rgba(0, 0, 0, 0.22);
    clip-path: polygon(0 0, 100% 0, calc(100% - 16px) 100%, 0 100%);
}

.elo-arena-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.65fr);
    gap: clamp(2rem, 5vw, 6rem);
    min-height: 430px;
    padding: clamp(2rem, 5vw, 5rem);
    background:
        linear-gradient(112deg, rgba(255, 192, 0, 0.14), transparent 42%),
        repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.025) 0 1px, transparent 1px 18px),
        var(--dash-panel);
}

.elo-kicker {
    color: var(--nm-yellow);
    font-size: 0.82rem;
    letter-spacing: 0.15em;
    line-height: 1.2;
    margin: 0 0 0.8rem;
    text-transform: uppercase;
}

.elo-arena-hero h1 {
    color: var(--nm-white);
    font-size: clamp(3.6rem, 8vw, 8rem);
    line-height: 0.78;
    margin: 0;
    text-transform: uppercase;
}

.elo-arena-hero h1 span,
.elo-section-heading h2 span,
.elo-arena-cta h2 span {
    color: transparent;
    -webkit-text-stroke: 1px var(--nm-yellow);
}

.elo-arena-hero__lede {
    color: var(--dash-muted);
    font-family: 'Manrope', 'Cairo', sans-serif;
    font-size: 1rem;
    line-height: 1.55;
    margin: 1.65rem 0 1.5rem;
    max-width: 38rem;
}

.elo-arena-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
}

.elo-arena-actions .btn,
.elo-arena-cta .btn {
    min-height: 44px;
}

.elo-arena-signal {
    align-self: center;
    border: 1px solid var(--dash-line-strong);
    border-left: 4px solid var(--nm-yellow);
    background: rgba(0, 0, 0, 0.42);
    padding: 1.35rem;
    transform: skewX(-7deg);
}

.elo-arena-signal > * {
    transform: skewX(7deg);
}

.elo-arena-signal__top,
.elo-arena-signal__rows > div {
    align-items: center;
    display: flex;
    justify-content: space-between;
    gap: 1rem;
}

.elo-arena-signal__top {
    color: var(--dash-muted);
    font-size: 0.75rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.elo-status {
    color: var(--dash-success);
    white-space: nowrap;
}

.elo-status i,
.elo-live i {
    background: currentColor;
    border-radius: 50%;
    display: inline-block;
    height: 7px;
    margin-right: 0.35rem;
    width: 7px;
}

.elo-arena-signal__title {
    color: var(--nm-white);
    font-family: 'Teko', 'Changa', sans-serif;
    font-size: clamp(2rem, 3vw, 3.1rem);
    line-height: 0.9;
    margin: 2rem 0;
    text-transform: uppercase;
}

.elo-arena-signal__rows {
    border-top: 1px solid var(--dash-line);
}

.elo-arena-signal__rows > div {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    padding: 0.72rem 0;
}

.elo-arena-signal__rows span,
.elo-arena-signal__footer {
    color: var(--dash-muted);
    font-family: 'Manrope', 'Cairo', sans-serif;
    font-size: 0.72rem;
}

.elo-arena-signal__rows strong {
    color: var(--nm-white);
    font-size: 0.82rem;
    text-align: right;
}

.elo-arena-signal__footer {
    line-height: 1.5;
    padding-top: 1rem;
}

.elo-arena-signal__footer strong {
    color: var(--nm-yellow);
}

.elo-arena-section {
    margin-top: 1.4rem;
    padding: clamp(1.4rem, 3vw, 2.5rem);
}

.elo-section-heading {
    align-items: end;
    display: flex;
    justify-content: space-between;
    gap: 1.5rem;
    margin-bottom: 1.5rem;
}

.elo-section-heading--compact {
    align-items: end;
}

.elo-section-heading h2,
.elo-arena-cta h2 {
    color: var(--nm-white);
    font-size: clamp(2.3rem, 5vw, 4.8rem);
    line-height: 0.82;
    margin: 0;
    text-transform: uppercase;
}

.elo-section-note,
.elo-log-note {
    color: var(--dash-muted);
    font-family: 'Manrope', 'Cairo', sans-serif;
    font-size: 0.8rem;
    line-height: 1.45;
    margin: 0;
    max-width: 20rem;
}

.elo-mode-switch {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.elo-mode-button {
    background: #050505;
    border: 1px solid var(--dash-line);
    color: var(--dash-muted);
    cursor: pointer;
    font-family: 'Teko', 'Changa', sans-serif;
    font-size: 1rem;
    letter-spacing: 0.05em;
    min-height: 42px;
    padding: 0.45rem 1.1rem 0.25rem;
    text-transform: uppercase;
}

.elo-mode-button:hover,
.elo-mode-button:focus-visible,
.elo-mode-button.is-active {
    background: var(--nm-yellow);
    border-color: var(--nm-yellow);
    color: #050505;
}

.elo-board {
    border-top: 1px solid var(--dash-line);
}

.elo-board__head,
.elo-ranking-row {
    display: grid;
    grid-template-columns: minmax(120px, 0.8fr) minmax(0, 2fr) minmax(100px, 0.6fr);
    gap: 1rem;
}

.elo-board__head {
    color: var(--dash-muted);
    font-size: 0.72rem;
    letter-spacing: 0.1em;
    padding: 0.8rem 1rem 0.45rem;
    text-transform: uppercase;
}

.elo-board__head span:last-child {
    text-align: right;
}

.elo-ranking-row {
    align-items: center;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    color: var(--nm-white);
    min-height: 68px;
    padding: 0.7rem 1rem;
    text-decoration: none;
    transition: background 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}

.elo-ranking-row:hover {
    background: rgba(255, 192, 0, 0.08);
    border-color: var(--dash-line-strong);
    color: var(--nm-white);
    transform: translateX(4px);
}

.elo-ranking-row__rank {
    color: var(--nm-yellow);
    font-family: 'Teko', 'Changa', sans-serif;
    font-size: 1.8rem;
    line-height: 1;
}

.elo-ranking-row__rank--blue,
.elo-ranking-row__rating--blue {
    color: var(--cyber-blue);
}

.elo-ranking-row__identity {
    align-items: center;
    display: flex;
    gap: 0.8rem;
    min-width: 0;
}

.elo-ranking-row__identity img,
.elo-avatar {
    align-items: center;
    background: #0b0d12;
    border: 1px solid var(--dash-line);
    display: inline-flex;
    flex: 0 0 38px;
    height: 38px;
    justify-content: center;
    object-fit: contain;
    width: 38px;
}

.elo-avatar {
    color: var(--nm-yellow);
    font-family: 'Teko', 'Changa', sans-serif;
    font-size: 1.5rem;
}

.elo-avatar--blue {
    border-color: rgba(0, 229, 255, 0.45);
    color: var(--cyber-blue);
}

.elo-ranking-row__identity > span:last-child {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.elo-ranking-row__identity strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.elo-ranking-row__identity small {
    color: var(--dash-muted);
    font-family: 'Manrope', 'Cairo', sans-serif;
    font-size: 0.72rem;
    margin-top: 0.18rem;
}

.elo-ranking-row__rating {
    color: var(--nm-yellow);
    font-family: 'Teko', 'Changa', sans-serif;
    font-size: 2rem;
    line-height: 1;
    text-align: right;
}

.elo-ranking-row__rating small {
    color: var(--dash-muted);
    font-family: 'Manrope', 'Cairo', sans-serif;
    font-size: 0.62rem;
    margin-left: 0.3rem;
}

.elo-empty-state {
    border: 1px dashed var(--dash-line);
    color: var(--dash-muted);
    font-family: 'Manrope', 'Cairo', sans-serif;
    padding: 1.4rem;
    text-align: center;
}

.elo-protocol-grid {
    counter-reset: elo-step;
    display: grid;
    gap: 0.8rem;
    grid-template-columns: repeat(4, 1fr);
    list-style: none;
    margin: 0;
    padding: 0;
}

.elo-protocol-grid li {
    background: rgba(0, 0, 0, 0.3);
    border-left: 3px solid var(--dash-line-strong);
    min-height: 150px;
    padding: 1.1rem;
}

.elo-protocol-grid li:nth-child(2) { border-left-color: var(--cyber-blue); }
.elo-protocol-grid li:nth-child(3) { border-left-color: var(--dash-success); }
.elo-protocol-grid li:nth-child(4) { border-left-color: var(--nm-yellow); }

.elo-protocol-grid span {
    color: var(--nm-yellow);
    display: block;
    font-family: 'Teko', 'Changa', sans-serif;
    font-size: 2rem;
    line-height: 1;
}

.elo-protocol-grid li:nth-child(2) span { color: var(--cyber-blue); }
.elo-protocol-grid li:nth-child(3) span { color: var(--dash-success); }

.elo-protocol-grid strong {
    color: var(--nm-white);
    display: block;
    font-size: 1rem;
    margin: 0.55rem 0 0.35rem;
}

.elo-protocol-grid p {
    color: var(--dash-muted);
    font-family: 'Manrope', 'Cairo', sans-serif;
    font-size: 0.8rem;
    line-height: 1.45;
    margin: 0;
}

.elo-match-log {
    border-top: 1px solid var(--dash-line);
}

.elo-match-row {
    align-items: center;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    display: grid;
    gap: 1rem;
    grid-template-columns: 110px minmax(0, 1fr) 100px 70px;
    min-height: 72px;
    padding: 0.8rem 1rem;
}

.elo-match-row__mode,
.elo-match-row__delta {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.elo-match-row__mode > span {
    color: var(--nm-yellow);
    font-family: 'Teko', 'Changa', sans-serif;
    font-size: 1.15rem;
    letter-spacing: 0.08em;
}

.elo-match-row__mode small,
.elo-match-row__result span,
.elo-match-row__score {
    color: var(--dash-muted);
    font-family: 'Manrope', 'Cairo', sans-serif;
    font-size: 0.72rem;
}

.elo-match-row__result {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.elo-match-row__result strong { color: var(--nm-white); }

.elo-match-row__delta {
    align-items: flex-end;
    font-family: 'Teko', 'Changa', sans-serif;
    font-size: 1.1rem;
}

.elo-match-row__score { text-align: right; }

.elo-arena-cta {
    align-items: center;
    display: flex;
    justify-content: space-between;
    gap: 1.5rem;
    margin-top: 1.4rem;
    padding: 2rem clamp(1.4rem, 3vw, 3rem);
    background:
        linear-gradient(105deg, rgba(255, 192, 0, 0.16), transparent 62%),
        var(--dash-panel);
}

.elo-arena-cta h2 { font-size: clamp(2rem, 4vw, 4rem); }

@media (max-width: 900px) {
    .elo-arena-hero { grid-template-columns: 1fr; }
    .elo-arena-signal { max-width: 520px; width: 100%; }
    .elo-protocol-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
    body.elo-arena-public #main-content { padding: 0.8rem 0.7rem 2.5rem; }
    .elo-arena-hero { padding: 1.5rem 1.1rem 1.7rem; }
    .elo-arena-hero h1 { font-size: clamp(3.4rem, 17vw, 5.5rem); }
    .elo-arena-signal { padding: 1rem; transform: none; }
    .elo-arena-signal > * { transform: none; }
    .elo-arena-section { padding: 1.2rem 0.85rem; }
    .elo-section-heading,
    .elo-arena-cta { align-items: flex-start; flex-direction: column; }
    .elo-section-heading h2 { font-size: clamp(2.4rem, 12vw, 3.5rem); }
    .elo-mode-switch { width: 100%; }
    .elo-mode-button { flex: 1; }
    .elo-board__head,
    .elo-ranking-row { grid-template-columns: 2.2rem minmax(0, 1fr) auto; gap: 0.55rem; padding-inline: 0.45rem; }
    .elo-board__head span:first-child { grid-column: 1 / 3; }
    .elo-ranking-row__identity img,
    .elo-avatar { flex-basis: 32px; height: 32px; width: 32px; }
    .elo-ranking-row__rating { font-size: 1.65rem; }
    .elo-ranking-row__rating small { display: block; margin-left: 0; }
    .elo-protocol-grid { grid-template-columns: 1fr; }
    .elo-match-row { grid-template-columns: 1fr auto; gap: 0.5rem; padding-inline: 0.45rem; }
    .elo-match-row__result { grid-column: 1 / -1; grid-row: 1; }
    .elo-match-row__mode { grid-column: 1; grid-row: 2; }
    .elo-match-row__delta { grid-column: 2; grid-row: 2; }
    .elo-match-row__score { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    .elo-ranking-row { transition: none; }
}

/* =========================================================
   COMPACT PUBLIC LEADERBOARD
   Ranking data stays dense; profile actions stay on the row.
   ========================================================= */
body.public-leaderboard {
    background:
        linear-gradient(155deg, rgba(255, 192, 0, 0.05), transparent 28%),
        #080808;
}

body.public-leaderboard #main-content {
    max-width: 1440px;
    margin-top: 0 !important;
    padding-top: 1.8rem;
    padding-bottom: 3.5rem;
}

.leaderboard-shell {
    margin: 0 auto;
    max-width: 1320px;
}

.leaderboard-hero,
.leaderboard-controls,
.leaderboard-panel {
    background: var(--dash-panel);
    border: 1px solid var(--dash-line);
    box-shadow: 8px 9px 0 rgba(0, 0, 0, 0.22);
    clip-path: polygon(0 0, 100% 0, calc(100% - 14px) 100%, 0 100%);
}

.leaderboard-hero {
    align-items: end;
    background:
        linear-gradient(110deg, rgba(255, 192, 0, 0.13), transparent 45%),
        var(--dash-panel);
    display: flex;
    gap: 2rem;
    justify-content: space-between;
    min-height: 220px;
    padding: clamp(1.7rem, 4vw, 3.6rem);
}

.leaderboard-kicker {
    color: var(--nm-yellow);
    font-size: 0.78rem;
    letter-spacing: 0.14em;
    line-height: 1.2;
    margin: 0 0 0.65rem;
    text-transform: uppercase;
}

.leaderboard-hero h1 {
    color: var(--nm-white);
    font-size: clamp(3.1rem, 7vw, 6.7rem);
    line-height: 0.8;
    margin: 0;
    text-transform: uppercase;
}

.leaderboard-hero h1 span,
.leaderboard-panel__header h2 span {
    color: transparent;
    -webkit-text-stroke: 1px var(--nm-yellow);
}

.leaderboard-hero p:not(.leaderboard-kicker) {
    color: var(--dash-muted);
    font-family: 'Manrope', 'Cairo', sans-serif;
    font-size: 0.92rem;
    line-height: 1.5;
    margin: 1rem 0 0;
    max-width: 39rem;
}

.leaderboard-hero__actions {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    gap: 0.65rem;
}

.leaderboard-controls {
    align-items: end;
    display: grid;
    gap: 1.5rem;
    grid-template-columns: minmax(300px, 0.8fr) minmax(0, 1.2fr);
    margin-top: 1.25rem;
    padding: 1.15rem 1.35rem;
}

.leaderboard-mode-switch {
    display: flex;
    gap: 0.55rem;
}

.leaderboard-mode-button {
    align-items: center;
    background: #050505;
    border: 1px solid var(--dash-line);
    color: var(--dash-muted);
    display: flex;
    gap: 0.55rem;
    min-height: 48px;
    padding: 0.45rem 0.85rem;
    text-decoration: none;
    transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}

.leaderboard-mode-button:hover,
.leaderboard-mode-button:focus-visible,
.leaderboard-mode-button.is-active {
    background: var(--nm-yellow);
    border-color: var(--nm-yellow);
    color: #050505;
}

.leaderboard-mode-button--blue:hover,
.leaderboard-mode-button--blue:focus-visible,
.leaderboard-mode-button--blue.is-active {
    background: var(--cyber-blue);
    border-color: var(--cyber-blue);
}

.leaderboard-mode-icon {
    color: var(--nm-yellow);
    font-family: 'Teko', 'Changa', sans-serif;
    font-size: 1.05rem;
    line-height: 1;
}

.leaderboard-mode-button--blue .leaderboard-mode-icon { color: var(--cyber-blue); }
.leaderboard-mode-button.is-active .leaderboard-mode-icon { color: #050505; }

.leaderboard-mode-button span:not(.leaderboard-mode-icon) {
    font-size: 1rem;
    white-space: nowrap;
}

.leaderboard-mode-button small {
    color: currentColor;
    font-family: 'Manrope', 'Cairo', sans-serif;
    font-size: 0.62rem;
    opacity: 0.72;
    white-space: nowrap;
}

.leaderboard-search label {
    color: var(--nm-yellow);
    display: block;
    font-size: 0.75rem;
    letter-spacing: 0.1em;
    margin-bottom: 0.45rem;
    text-transform: uppercase;
}

.leaderboard-search__row {
    display: flex;
    gap: 0.55rem;
}

.leaderboard-search input[type='search'] {
    background: #050505;
    border: 1px solid var(--dash-line);
    color: var(--nm-white);
    font-family: 'Manrope', 'Cairo', sans-serif;
    min-height: 42px;
    min-width: 0;
    padding: 0.55rem 0.75rem;
    width: 100%;
}

.leaderboard-search input[type='search']::placeholder { color: #69707b; }

.leaderboard-search input[type='search']:focus {
    border-color: var(--nm-yellow);
    box-shadow: 0 0 0 2px rgba(255, 192, 0, 0.18);
    outline: none;
}

.leaderboard-search small {
    color: var(--dash-muted);
    display: block;
    font-family: 'Manrope', 'Cairo', sans-serif;
    font-size: 0.69rem;
    margin-top: 0.45rem;
}

.leaderboard-panel {
    margin-top: 1.25rem;
    padding: clamp(1.15rem, 2.5vw, 2rem);
}

.leaderboard-panel__header {
    align-items: end;
    display: flex;
    gap: 1.25rem;
    justify-content: space-between;
    margin-bottom: 1.1rem;
}

.leaderboard-panel__header h2 {
    color: var(--nm-white);
    font-size: clamp(2rem, 4vw, 3.8rem);
    line-height: 0.82;
    margin: 0;
    text-transform: uppercase;
}

.leaderboard-panel__count {
    color: var(--dash-muted);
    font-family: 'Manrope', 'Cairo', sans-serif;
    font-size: 0.73rem;
    text-align: right;
    white-space: nowrap;
}

.leaderboard-table {
    border-top: 1px solid var(--dash-line);
}

.leaderboard-table__head,
.leaderboard-table__row {
    display: grid;
    gap: 1rem;
    grid-template-columns: 4.5rem minmax(0, 1fr) 10rem 7.5rem 6rem;
}

.leaderboard-table__head {
    color: var(--dash-muted);
    font-size: 0.68rem;
    letter-spacing: 0.1em;
    padding: 0.75rem 0.7rem 0.35rem;
    text-transform: uppercase;
}

.leaderboard-table__head span:nth-last-child(-n+2) { text-align: right; }

.leaderboard-table__row {
    align-items: center;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    min-height: 70px;
    padding: 0.65rem 0.7rem;
    transition: background 0.18s ease, border-color 0.18s ease;
}

.leaderboard-table__row:hover {
    background: rgba(255, 192, 0, 0.06);
    border-color: var(--dash-line-strong);
}

.leaderboard-rank {
    color: var(--nm-yellow);
    font-family: 'Teko', 'Changa', sans-serif;
    font-size: 1.65rem;
    line-height: 1;
}

.leaderboard-rank--blue { color: var(--cyber-blue); }

.leaderboard-rank small {
    color: currentColor;
    display: block;
    font-family: 'Manrope', 'Cairo', sans-serif;
    font-size: 0.57rem;
    letter-spacing: 0.08em;
}

.leaderboard-identity {
    align-items: center;
    display: flex;
    gap: 0.75rem;
    min-width: 0;
}

.leaderboard-identity img,
.leaderboard-avatar {
    align-items: center;
    background: #0b0d12;
    border: 1px solid var(--dash-line);
    display: inline-flex;
    flex: 0 0 38px;
    height: 38px;
    justify-content: center;
    object-fit: contain;
    width: 38px;
}

.leaderboard-avatar {
    color: var(--nm-yellow);
    font-family: 'Teko', 'Changa', sans-serif;
    font-size: 1.45rem;
}

.leaderboard-avatar--blue {
    border-color: rgba(0, 229, 255, 0.45);
    color: var(--cyber-blue);
}

.leaderboard-identity > span:last-child {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.leaderboard-identity strong {
    color: var(--nm-white);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.leaderboard-identity small,
.leaderboard-stat small {
    color: var(--dash-muted);
    font-family: 'Manrope', 'Cairo', sans-serif;
    font-size: 0.7rem;
    line-height: 1.3;
    margin-top: 0.18rem;
}

.leaderboard-stat {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.leaderboard-stat strong {
    color: var(--nm-white);
    font-size: 0.82rem;
    white-space: nowrap;
}

.leaderboard-rating {
    color: var(--nm-yellow);
    font-family: 'Teko', 'Changa', sans-serif;
    font-size: 1.85rem;
    line-height: 1;
    text-align: right;
    white-space: nowrap;
}

.leaderboard-rating--blue { color: var(--cyber-blue); }

.leaderboard-rating small {
    color: var(--dash-muted);
    font-family: 'Manrope', 'Cairo', sans-serif;
    font-size: 0.59rem;
    margin-left: 0.2rem;
}

.leaderboard-action {
    justify-self: end;
    min-width: 5.2rem;
}

.leaderboard-empty {
    color: var(--dash-muted);
    font-family: 'Manrope', 'Cairo', sans-serif;
    padding: 1.5rem 0.7rem;
    text-align: center;
}

.leaderboard-footer {
    align-items: center;
    color: var(--dash-muted);
    display: flex;
    font-family: 'Manrope', 'Cairo', sans-serif;
    font-size: 0.73rem;
    gap: 1rem;
    justify-content: space-between;
    padding: 1.15rem 0.25rem;
}

.leaderboard-footer a {
    color: var(--nm-yellow);
    text-decoration: none;
}

.leaderboard-footer a:hover { text-decoration: underline; }

@media (max-width: 900px) {
    .leaderboard-hero { align-items: start; flex-direction: column; }
    .leaderboard-controls { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
    body.public-leaderboard #main-content { padding: 0.8rem 0.65rem 2rem; }
    .leaderboard-hero { padding: 1.45rem 1rem 1.65rem; }
    .leaderboard-hero h1 { font-size: clamp(3.2rem, 16vw, 5.2rem); }
    .leaderboard-hero__actions,
    .leaderboard-hero__actions .btn { width: 100%; }
    .leaderboard-hero__actions .btn { text-align: center; }
    .leaderboard-controls { padding: 0.9rem; }
    .leaderboard-mode-switch { width: 100%; }
    .leaderboard-mode-button { flex: 1; justify-content: center; padding-inline: 0.45rem; }
    .leaderboard-mode-button small { display: none; }
    .leaderboard-search__row { flex-wrap: wrap; }
    .leaderboard-search__row .btn { flex: 1; }
    .leaderboard-table__head { display: none; }
    .leaderboard-table__row {
        grid-template-columns: 2.6rem minmax(0, 1fr) auto;
        grid-template-areas:
            "rank identity rating"
            "rank stat action";
        gap: 0.35rem 0.55rem;
        min-height: 76px;
        padding: 0.72rem 0.35rem;
    }
    .leaderboard-rank { grid-area: rank; }
    .leaderboard-identity { grid-area: identity; }
    .leaderboard-stat { grid-area: stat; }
    .leaderboard-rating { grid-area: rating; font-size: 1.6rem; }
    .leaderboard-action { grid-area: action; min-width: 4.6rem; }
    .leaderboard-rating small { display: block; margin-left: 0; }
    .leaderboard-footer { align-items: start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
    .leaderboard-mode-button,
    .leaderboard-table__row { transition: none; }
}

/* ============== League registration ============== */
.league-shell { max-width: 960px; margin: 0 auto 4rem; display: grid; gap: 1.5rem; }
.league-shell--narrow { max-width: 680px; }
.league-hero h1 { font-size: clamp(2rem, 6vw, 3.4rem); line-height: 1.05; margin: 0 0 0.8rem; }
.league-hero h1 span { color: var(--nm-yellow); }
.league-hero__lede { color: var(--dash-muted); max-width: 60ch; margin: 0; }
.league-panel {
    background: var(--dash-panel);
    border: 1px solid var(--dash-line);
    border-radius: 12px;
    padding: clamp(1.1rem, 4vw, 2rem);
}
.league-panel--muted { background: var(--dash-panel-soft); }
.league-panel__title { margin-bottom: 1rem; }
.league-back { color: var(--dash-muted); text-decoration: none; font-size: 0.9rem; }
.league-back:hover, .league-back:focus-visible { color: var(--nm-yellow); }

.league-paths { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.league-path { background: var(--dash-panel-soft); border: 1px solid var(--dash-line); border-radius: 12px; padding: 1.25rem; }
.league-path i { color: var(--nm-yellow); font-size: 1.6rem; }
.league-path h2 { font-size: 1.1rem; margin: 0.6rem 0 0.4rem; }
.league-path p { color: var(--dash-muted); margin: 0; font-size: 0.95rem; }

.league-steps { list-style: none; padding: 0; margin: 0; display: grid; gap: 0; }
.league-step { display: grid; grid-template-columns: 2.25rem 1fr; gap: 1rem; padding: 1rem 0; border-top: 1px solid var(--dash-line); }
.league-step:first-child { border-top: 0; padding-top: 0; }
.league-step__badge {
    width: 2.25rem; height: 2.25rem; border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
    font-weight: 700; border: 1px solid var(--dash-line-strong); color: var(--nm-yellow);
}
.league-step.is-done .league-step__badge { background: var(--dash-success-soft); border-color: var(--dash-success); color: var(--dash-success); }
.league-step.is-locked .league-step__badge { color: var(--dash-neutral); border-color: var(--dash-neutral-soft); }
.league-step.is-current .league-step__badge { background: var(--nm-yellow); color: #000; }
.league-step__title { font-size: 1.05rem; margin: 0.35rem 0 0.4rem; }
.league-step.is-locked .league-step__title { color: var(--dash-neutral); }

.league-facts { margin: 0; padding-left: 1.1rem; color: var(--dash-muted); display: grid; gap: 0.5rem; }
.league-facts strong { color: var(--dash-text); }

.league-mini-steps { list-style: none; counter-reset: league; display: flex; flex-wrap: wrap; gap: 0.5rem 1.25rem; padding: 0; margin: 0 0 1.5rem; font-size: 0.85rem; color: var(--dash-neutral); }
.league-mini-steps li { counter-increment: league; }
.league-mini-steps li::before { content: counter(league) ". "; }
.league-mini-steps li.is-current { color: var(--nm-yellow); font-weight: 600; }
.league-mini-steps li.is-done { color: var(--dash-success); }
.league-mini-steps li.is-done::before { content: "✓ "; }

.league-form .form-control, .league-form .form-select { min-height: 44px; }
.league-legend { font-size: 1rem; font-weight: 700; color: var(--nm-yellow); text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 0.75rem; }
.league-identity { display: flex; align-items: center; gap: 0.75rem; padding: 0.75rem 1rem; border: 1px solid var(--dash-line); border-radius: 10px; margin-bottom: 1.5rem; }
.league-identity__fallback { width: 40px; height: 40px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #5865f2; color: #fff; }
.league-role-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 0.5rem; }
.league-role { border: 1px solid var(--dash-line); color: var(--dash-text); min-height: 44px; display: flex; align-items: center; justify-content: center; }
.btn-check:checked + .league-role { background: var(--nm-yellow); border-color: var(--nm-yellow); color: #000; font-weight: 700; }
.btn-check:focus-visible + .league-role { outline: 2px solid var(--nm-yellow); outline-offset: 2px; }

.league-logo { border-radius: 10px; object-fit: cover; }
.league-logo--fallback { width: 56px; height: 56px; display: inline-flex; align-items: center; justify-content: center; background: var(--dash-panel-soft); border: 1px solid var(--dash-line-strong); color: var(--nm-yellow); font-weight: 800; text-transform: uppercase; }
.league-logo--lg { width: 80px; height: 80px; font-size: 1.4rem; }
.league-status { font-size: 0.8rem; font-weight: 700; padding: 0.3rem 0.7rem; border-radius: 999px; background: var(--dash-neutral-soft); color: var(--dash-neutral); white-space: nowrap; }
.league-status--draft { background: var(--dash-action-soft); color: var(--dash-action); }
.league-status--pending, .league-status--approving { background: var(--dash-warning-soft); color: var(--dash-warning); }
.league-status--approved { background: var(--dash-success-soft); color: var(--dash-success); }
.league-status--rejected, .league-status--withdrawn { background: var(--dash-danger-soft); color: var(--dash-danger); }
.league-invite { border: 1px dashed var(--dash-line-strong); border-radius: 10px; padding: 1rem; }
.league-progress { height: 6px; background: var(--dash-neutral-soft); }
.league-progress .progress-bar { background: var(--nm-yellow); }
.league-roster { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.5rem; }
.league-roster li { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; min-height: 48px; padding: 0.5rem 0.75rem; border: 1px solid var(--dash-line); border-radius: 8px; }
.league-roster__name { overflow-wrap: anywhere; }
.league-roster__empty { color: var(--dash-neutral); border-style: dashed !important; }

/* ============== Darija (Arabic script, right-to-left) ==============
   Arabic letters are joined, so letter-spacing breaks words apart, and the
   Arabic glyphs (Changa / Cairo fallbacks) need more line height than Teko. */
html[dir="rtl"] body,
html[dir="rtl"] body * {
    letter-spacing: 0 !important;
}
html[dir="rtl"] :is(h1, h2, h3, h4, h5, h6),
html[dir="rtl"] :is(.nm-title, .nm-section__title, .nm-tagline, .nm-step__title, .nm-feature__title, .nm-faq__q,
    .nm-header-nav-link, .nm-mobile-nav-link, .nm-btn-yellow, .nm-header-action, .nm-leaderboard__name,
    .elo-kicker, .league-legend, .badge-cyber-tag) {
    line-height: 1.3;
}
html[dir="rtl"] .league-hero h1 { line-height: 1.2; }
html[dir="rtl"] .bi-arrow-left { display: inline-block; transform: scaleX(-1); }

/* Language switch */
.nm-lang-switch { font-family: 'Cairo', 'Manrope', sans-serif; font-weight: 700; white-space: nowrap; }
.nm-lang-switch--landing {
    display: inline-flex;
    align-items: center;
    height: 2.25rem;
    padding: 0 .9rem;
    margin-inline-end: .75rem;
    border: 1px solid rgba(255, 255, 255, .35);
    color: #fff;
    font-size: .9rem;
    text-decoration: none;
}
.nm-lang-switch--landing:hover, .nm-lang-switch--landing:focus-visible { border-color: #FFC000; color: #FFC000; }

@media (max-width: 860px) {
    .nm-lang-switch--landing { height: 2rem; padding: 0 .6rem; margin-inline-end: .4rem; font-size: .8rem; }
}

/* ============== Navigation: Skill Wheel (sharp HUD) ==============
   No rounded corners: chamfered plate, slanted blade, diamond frames and a
   segmented "mana" bar. Markup: templates/website/partials/skill_nav.html,
   behaviour: assets/skill_nav.js. */
@property --sk-cd { syntax: '<angle>'; inherits: false; initial-value: 0deg; }
@property --ult { syntax: '<angle>'; inherits: true; initial-value: 0deg; }
:root {
    --sk-y: #FFC000;
    --sk-cut: 14px;
    --sk-ease: cubic-bezier(.2, .8, .2, 1);
    --sk-spring: cubic-bezier(.34, 1.56, .64, 1);
    --sk-display: 'Teko', 'Changa', sans-serif;
}
.nm-nav-spacer { height: 4.75rem; }

.sk-brand { display: inline-flex; align-items: center; gap: .55rem; color: #fff; text-decoration: none; direction: ltr; white-space: nowrap;
    font: 600 1.35rem/1 'Teko', sans-serif; letter-spacing: .06em; text-transform: uppercase; }
.sk-brand:hover { color: #fff; }
.sk-brand img { width: 26px; height: 26px; }
.sk-actions { display: flex; align-items: center; gap: .55rem; }
.sk-lang { display: inline-grid; place-items: center; min-width: 2.3rem; height: 2.1rem; padding: 0 .6rem; border: 1px solid rgba(255,255,255,.32);
    color: #fff; text-decoration: none; font: 700 .78rem/1 'Cairo', 'Manrope', sans-serif; transition: border-color .2s, color .2s; }
.sk-lang:hover { border-color: var(--sk-y); color: var(--sk-y); }
.sk-login { display: inline-flex; align-items: center; height: 2.3rem; padding: 0 1.25rem; background: #fff; color: #000; text-decoration: none;
    font: 700 1.02rem/1 var(--sk-display); white-space: nowrap; clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%); transition: background .2s; }
.sk-login:hover { background: var(--sk-y); color: #000; }

/* ---------------- Desktop bar ---------------- */
.sk-bar {
    position: fixed; z-index: 1030; top: 0; left: 50%; transform: translateX(-50%);
    width: 100%; max-width: 100vw; display: flex; align-items: center; justify-content: space-between; gap: 2rem;
    padding: 1.05rem clamp(1.25rem, 3vw, 2.5rem);
    transition: max-width .55s var(--sk-ease), top .55s var(--sk-ease), padding .55s var(--sk-ease);
}
/* Pages without a full-screen hero get a solid strip from the start */
.sk-bar[data-overlay="0"]:not(.is-docked) { background: linear-gradient(180deg, rgba(5,8,10,.92), rgba(5,8,10,.78)); border-bottom: 1px solid rgba(255,255,255,.06); }
.sk-bar[data-overlay="1"]:not(.is-docked) { background: linear-gradient(180deg, rgba(5,8,10,.55), transparent); }
/* The plate is a pseudo-element so its clip-path never cuts the mana bar */
.sk-bar::before { content: ""; position: absolute; inset: 0; z-index: -1; opacity: 0; transition: opacity .4s;
    background: rgba(9, 12, 15, .74); -webkit-backdrop-filter: blur(14px) saturate(140%); backdrop-filter: blur(14px) saturate(140%);
    clip-path: polygon(var(--sk-cut) 0, 100% 0, 100% calc(100% - var(--sk-cut)), calc(100% - var(--sk-cut)) 100%, 0 100%, 0 var(--sk-cut)); }
.sk-bar::after { content: ""; position: absolute; inset: -3px; z-index: -1; opacity: 0; pointer-events: none; transition: opacity .4s, inset .45s var(--sk-ease);
    background:
        linear-gradient(var(--sk-y), var(--sk-y)) top right / 16px 2px no-repeat,
        linear-gradient(var(--sk-y), var(--sk-y)) top right / 2px 16px no-repeat,
        linear-gradient(var(--sk-y), var(--sk-y)) bottom left / 16px 2px no-repeat,
        linear-gradient(var(--sk-y), var(--sk-y)) bottom left / 2px 16px no-repeat; }
.sk-bar.is-docked { top: .85rem; max-width: 50rem; padding: .45rem .55rem .45rem .8rem; }
.sk-bar.is-docked::before { opacity: 1; }
.sk-bar.is-docked::after { opacity: 1; inset: -5px; }
.sk-bar .sk-brand span { display: inline-block; overflow: hidden; width: 7.4rem; transition: opacity .3s, width .45s var(--sk-ease); }
.sk-bar.is-docked .sk-brand span { opacity: 0; width: 0; }
.sk-bar.is-docked .sk-lang { display: none; }

.sk-links { position: relative; display: flex; gap: .1rem; }
.sk-link { position: relative; z-index: 1; display: flex; align-items: center; gap: .55rem; height: 2.4rem; padding: 0 .95rem; white-space: nowrap;
    color: #d8dade; text-decoration: none; font: 600 1.02rem/1 var(--sk-display); transition: color .25s; }
.sk-link:hover { color: #fff; }
.sk-link.is-active { color: #000; }
.sk-link:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
/* Diamond cooldown frame: its edge sweeps around on hover */
.sk-frame { position: relative; width: 1.5rem; height: 1.5rem; display: grid; place-items: center; font-size: .72rem; }
.sk-frame::before { content: ""; position: absolute; inset: 3px; transform: rotate(45deg); padding: 1.5px;
    background: conic-gradient(from -45deg, var(--sk-y) var(--sk-cd), rgba(255,255,255,.22) 0);
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor;
    mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
    transition: --sk-cd .5s var(--sk-ease); }
.sk-link:hover .sk-frame::before, .sk-link:focus-visible .sk-frame::before { --sk-cd: 360deg; }
.sk-link.is-active .sk-frame::before { background: #000; }
.sk-frame .bi { position: relative; }
/* Sliding blade under the current page (previews the hovered link) */
.sk-blade { position: absolute; z-index: 0; top: 0; left: 0; height: 100%; width: 0; background: var(--sk-y); overflow: hidden;
    clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
    transition: transform .5s cubic-bezier(.65, 0, .2, 1.2), width .5s cubic-bezier(.65, 0, .2, 1.2), opacity .25s; }
.sk-blade.is-preview { opacity: .85; }
.sk-blade::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 30%, rgba(255,255,255,.6) 50%, transparent 70%); transform: translateX(-120%); }
.sk-blade.is-glint::after { animation: sk-glint .6s ease-out; }
@keyframes sk-glint { to { transform: translateX(120%); } }
.sk-links:hover .sk-link.is-active:not(:hover) { color: #d8dade; }
.sk-links:hover .sk-link.is-active:not(:hover) .sk-frame::before { background: rgba(255,255,255,.22); }
.sk-links:hover .sk-link:hover { color: #000; }
.sk-links:hover .sk-link:hover .sk-frame::before { background: #000; }

/* ---------------- Phone: top strip + diamond skill wheel ---------------- */
.sk-top, .sk-wheel, .sk-scrim { display: none; }
@media (max-width: 860px) {
    .sk-bar { display: none; }
    .nm-nav-spacer { height: 3.6rem; }
    .sk-top { position: fixed; z-index: 1050; inset: 0 0 auto; display: flex; justify-content: space-between; align-items: center; gap: .5rem; height: 3.6rem; padding: 0 .8rem; background: #05090bf2; border-bottom: 1px solid #ffffff14; }
    .sk-top .sk-brand { font-size: 1.1rem; }
    .sk-top .sk-actions { gap: .35rem; }
    .sk-top .sk-login { height: 2.1rem; padding: 0 .8rem; font-size: .9rem; }
    .sk-ult { display: grid; place-items: center; flex-shrink: 0; width: 42px; height: 42px; border: 0; color: #090d0e; background: var(--sk-y); font-size: 1.5rem; clip-path: polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%); cursor: pointer; }
    .sk-ult:focus-visible { background: #fff; outline: 2px solid #fff; }
    .sk-scrim { display: block; position: fixed; inset: 3.6rem 0 0; z-index: 1035; background: #0009; opacity: 0; transition: opacity .2s; }
    .sk-scrim.is-open { opacity: 1; }
    .sk-scrim[hidden] { display: none; }
    .sk-wheel { display: block; position: fixed; z-index: 1040; inset: 4.1rem .8rem auto; width: auto; height: auto; padding: .5rem; background: #0e1517; border-top: 2px solid var(--sk-y); opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(-8px); transition: opacity .2s,transform .2s,visibility .2s; }
    .sk-wheel.is-open { opacity: 1; visibility: visible; pointer-events: auto; transform: none; }
    .sk-skills { display: grid; grid-template-columns: 1fr; }
    .sk-skill { display: flex; align-items: center; gap: 1rem; padding: .9rem 1.2rem; min-height: 56px; text-decoration: none; color: #c7cecb; border-bottom: 1px solid #ffffff12; font: 600 1rem/1.4 'Manrope','Changa',sans-serif; }
    .sk-skill:last-child { border-bottom: 0; }
    .sk-skill .bi { color: var(--sk-y); }
    .sk-skill.is-active { color: var(--sk-y); background: #ffc0000d; }
    .sk-skill:focus-visible { outline: 2px solid var(--sk-y); outline-offset: -3px; }
    .sk-tip { position: static; }
}

/* ============== Homepage: Noble Minds campaign launcher ==============
   Video is the environment. Artwork, real copy and image previews sit above it.
   Keep this layout independent of the shared section and navigation geometry. */
.nm-campaign {
    --campaign-yellow: #ffc000;
    position: relative;
    isolation: isolate;
    min-height: 650px;
    min-height: max(650px, 100svh);
    height: auto;
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    padding: 0;
    overflow: hidden;
    background: #080e10 var(--campaign-bg) center / cover no-repeat;
    color: #fff;
}
.nm-campaign::before {
    display: block;
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    clip-path: none;
    background: linear-gradient(180deg, #030708b3, transparent 22%, transparent 62%, #030708b3),
                linear-gradient(90deg, transparent 35%, #020a0e45 65%, #02060780);
    pointer-events: none;
}
.nm-campaign__video {
    position: absolute;
    inset: 0;
    z-index: -2;
    width: 100%;
    height: 100%;
    object-fit: cover;
    pointer-events: none;
    opacity: 0;
    transition: opacity .7s;
}
.nm-campaign__video.is-playing { opacity: 1; }
.nm-campaign__stage {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    direction: ltr;
    align-items: center;
    width: min(100%, 1600px);
    margin: 0 auto;
    padding: clamp(5.5rem, 12vh, 8rem) clamp(1.5rem, 5vw, 6rem) 2rem;
    gap: clamp(1rem, 3vw, 4rem);
}
.nm-campaign__art {
    position: relative;
    height: clamp(320px, 58vh, 650px);
    min-width: 0;
}
.nm-campaign__visual {
    position: absolute;
    inset: 0;
    display: block;
    opacity: 0;
    visibility: hidden;
    transform: translateX(-18px) scale(.97);
    transition: opacity .55s ease, transform .7s cubic-bezier(.2,.7,.2,1), visibility .55s;
    pointer-events: none;
    /* Key art dissolves into the video instead of becoming a rectangular card. */
    mask-image: radial-gradient(ellipse 65% 56% at 50% 50%, #000 42%, transparent 90%);
    -webkit-mask-image: radial-gradient(ellipse 65% 56% at 50% 50%, #000 42%, transparent 90%);
}
.nm-campaign__visual.is-active { opacity: 1; visibility: visible; transform: none; }
.nm-campaign__visual img { width: 100%; height: 100%; object-fit: cover; }
.nm-campaign__visual--cutout { mask-image: none; -webkit-mask-image: none; }
.nm-campaign__visual--cutout img {
    object-fit: contain;
    filter: drop-shadow(0 10px 35px #0005);
}
.nm-campaign__copy { text-align: right; min-width: 0; padding-block: 1rem; }
html[dir="rtl"] .nm-campaign__copy { direction: rtl; }
.nm-campaign__title {
    font-family: 'Teko', 'Changa', sans-serif;
    font-weight: 700;
    font-size: clamp(4.8rem, min(8.2vw, 15vh), 10rem);
    line-height: .95;
    text-transform: uppercase;
    margin: 0 0 clamp(1.5rem, 4vh, 3rem);
    color: #fffdf1;
    overflow-wrap: anywhere;
    text-shadow: 0 4px 30px #0005;
}
.nm-campaign__title span { display: block; }
.nm-campaign__accent { color: var(--campaign-yellow); }
html[dir="rtl"] .nm-campaign__title {
    font-size: clamp(3.6rem, min(6.9vw, 13vh), 8rem);
    line-height: 1.4;
}
.nm-campaign__title.nm-campaign__title--long {
    font-size: clamp(2.8rem, min(5.3vw, 9vh), 6rem);
}
.nm-campaign__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 1.6rem;
    min-height: 54px;
    max-width: 100%;
    padding: .65rem 2rem;
    color: #080b0c;
    background: var(--campaign-yellow);
    clip-path: polygon(18px 0, 100% 0, calc(100% - 18px) 100%, 0 100%);
    font: 700 1.5rem/1.2 'Teko', 'Changa', sans-serif;
    text-transform: uppercase;
    text-decoration: none;
    transition: background .2s, transform .2s;
}
html[dir="rtl"] .nm-campaign__cta { font-size: 1.2rem; line-height: 1.6; }
.nm-campaign__cta:hover { color: #080b0c; background: #ffda50; transform: translateY(-2px); }
.nm-campaign__cta[hidden] { display: none; }
.nm-campaign svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.7; }
html[dir="ltr"] .nm-campaign__cta svg { transform: rotate(180deg); }
.nm-campaign__dock {
    width: 100%;
    z-index: 1;
    padding: 0 clamp(.75rem, 1.8vw, 2rem) 1rem;
    background: linear-gradient(transparent, #03080980);
    direction: ltr;
}
.nm-campaign__selector { display: flex; align-items: center; gap: clamp(.5rem, 1.2vw, 1.5rem); }
.nm-campaign__rail {
    position: relative;
    display: flex;
    flex: 1;
    min-width: 0;
    overflow-x: auto;
    scrollbar-width: none;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    padding: 4px;
}
.nm-campaign__rail::-webkit-scrollbar { display: none; }
.nm-campaign__preview {
    position: relative;
    isolation: isolate;
    flex: 1 0 32%;
    min-width: 0;
    min-height: clamp(100px, 16vh, 155px);
    padding: 1.1rem 2rem;
    border: 0;
    border-top: 2px solid #c5d2d336;
    color: #d7d7d4;
    background: #080d10;
    text-align: left;
    clip-path: polygon(30px 0, 100% 0, calc(100% - 30px) 100%, 0 100%);
    cursor: pointer;
    scroll-snap-align: center;
    transition: border-color .2s, color .2s;
    overflow: hidden;
}
.nm-campaign__preview + .nm-campaign__preview { margin-left: -12px; }
.nm-campaign__preview img {
    position: absolute;
    inset: 0;
    z-index: -2;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(1) brightness(.48);
    transition: filter .3s, transform .5s;
}
.nm-campaign__preview::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(0deg, #000b, transparent 85%);
}
.nm-campaign__preview span {
    display: block;
    position: absolute;
    bottom: 1rem;
    left: 2rem;
    right: 2rem;
    font: 700 clamp(1.35rem, 2.4vw, 2.5rem)/1.2 'Teko', 'Changa', sans-serif;
    text-transform: uppercase;
    text-shadow: 0 2px 8px #000;
    overflow-wrap: anywhere;
}
html[dir="rtl"] .nm-campaign__preview span { direction: rtl; text-align: left; font-size: clamp(1rem, 1.8vw, 1.8rem); line-height: 1.5; }
.nm-campaign__preview.is-active { border-color: var(--campaign-yellow); color: #fff; }
.nm-campaign__preview.is-active::before {
    content: "";
    position: absolute;
    inset: 0 auto auto 0;
    width: 36px;
    height: 17px;
    background: var(--campaign-yellow);
    clip-path: polygon(0 0, 100% 0, 75% 100%, 0 100%);
}
.nm-campaign__preview.is-active img,
.nm-campaign__preview:hover img { filter: grayscale(0) brightness(.9); }
.nm-campaign__preview:focus-visible { outline: none; box-shadow: inset 0 0 0 4px var(--campaign-yellow); }
.nm-campaign__cta:focus-visible { outline: none; background: #fff; box-shadow: inset 0 0 0 3px #080b0c; }
@media (min-width: 1800px) {
    .nm-campaign__dock { max-width: 1800px; margin-inline: auto; }
}
@media (max-width: 860px) {
    .nm-campaign { min-height: max(700px, 100svh); }
    .nm-campaign__stage { gap: 0; padding: 5rem 1.5rem 1.5rem; }
    .nm-campaign__art { height: clamp(320px, 46vh, 560px); }
    .nm-campaign__title { font-size: clamp(3rem, 8vw, 6rem); }
    html[dir="rtl"] .nm-campaign__title { font-size: clamp(2.4rem, 7vw, 4rem); }
    .nm-campaign__preview { padding-inline: 1.2rem; }
    .nm-campaign__preview span { left: 1.5rem; right: 1.5rem; }
}
@media (max-width: 600px) {
    .nm-campaign { min-height: max(640px, 100svh); background-image: var(--campaign-bg-mobile); }
    .nm-campaign::before { background: linear-gradient(180deg, #02080a88, transparent 30%, #02080a66 70%, #02080acc); }
    .nm-campaign__stage { grid-template-columns: 1fr; gap: 0; align-content: center; padding: 4rem 1.25rem 1.25rem; }
    .nm-campaign__art { height: clamp(200px, 32svh, 320px); }
    .nm-campaign__copy { padding: .5rem 0 0; text-align: center; }
    .nm-campaign__title,
    html[dir="rtl"] .nm-campaign__title { font-size: clamp(2.6rem, 11vw, 4rem); margin-bottom: 1rem; line-height: 1.25; }
    .nm-campaign__title span { display: inline; }
    .nm-campaign__title span + span::before { content: " "; }
    .nm-campaign__title.nm-campaign__title--long { font-size: clamp(1.8rem, 8vw, 2.8rem); }
    .nm-campaign__cta { min-height: 48px; font-size: 1.35rem; }
    html[dir="rtl"] .nm-campaign__cta { font-size: 1rem; }
    .nm-campaign__dock { padding: 0 .5rem .9rem; }
    .nm-campaign__selector { gap: .2rem; }
    .nm-campaign__preview { min-height: 92px; clip-path: polygon(15px 0, 100% 0, calc(100% - 15px) 100%, 0 100%); }
    .nm-campaign__preview + .nm-campaign__preview { margin-left: -5px; }
    .nm-campaign__preview span,
    html[dir="rtl"] .nm-campaign__preview span { font-size: .85rem; left: .75rem; right: .5rem; bottom: .6rem; line-height: 1.4; }
}

/* ============== Public site: the campaign hero's visual language ============== */
body.nm-public, body.nm-account {
    --site-yellow: #ffc000;
    --site-ink: #070b0d;
    --site-surface: #0e1416;
    --site-line: #ffffff1c;
    --site-muted: #a1acac;
    --site-display: 'Teko', 'Changa', sans-serif;
    background: var(--site-ink);
    color: #f7f6ed;
}
body.nm-public #main-content, body.nm-account #main-content {
    max-width: none !important; width: 100%; padding: 0 !important; margin: 0 !important;
}
body.nm-home { height: auto; overflow-y: auto; scroll-snap-type: none; }
body.nm-home::before, body.nm-home::after { display: none; }
.nm-content { width: min(1240px, calc(100% - 7vw)); margin-inline: auto; }
.nm-content-section { padding-block: clamp(2.8rem, 5vw, 5rem); }
.nm-content-section + .nm-content-section { border-top: 1px solid var(--site-line); }
.nm-content-section--first { padding-top: 2rem; min-height: 320px; }
.nm-heading { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; margin-bottom: 1.5rem; }
.nm-heading h2, .nm-content h2 { font: 600 clamp(2rem, 3.4vw, 3rem)/1.2 var(--site-display); margin: 0; }
html[dir="rtl"] .nm-heading h2, html[dir="rtl"] .nm-content h2 { line-height: 1.5; font-size: clamp(1.5rem, 2.4vw, 2.3rem); }
.nm-text-link { color: var(--site-yellow); text-decoration: none; font: 600 1rem/1.6 'Manrope','Cairo',sans-serif; white-space: nowrap; }
.nm-text-link:hover { color: #fff; }
.nm-text-link:focus-visible, .nm-tabs a:focus-visible, .nm-mode-switch a:focus-visible,
.nm-path:focus-visible, .nm-team:focus-visible, .nm-ranking__row:focus-visible {
    outline: 2px solid var(--site-yellow); outline-offset: 4px;
}
.nm-action {
    display: inline-flex; align-items: center; justify-content: center; gap: 1.6rem;
    min-height: 50px; padding: .7rem 1.9rem;
    background: var(--site-yellow); color: #070b0d;
    clip-path: polygon(15px 0,100% 0,calc(100% - 15px) 100%,0 100%);
    font: 600 1.4rem/1.2 var(--site-display); text-decoration: none; text-transform: uppercase;
}
html[dir="rtl"] .nm-action { font-size: 1rem; line-height: 1.6; }
.nm-action:hover, .nm-action:focus-visible { color: #070b0d; background: #fff5b8; }
.nm-muted, .nm-description { color: var(--site-muted); }
.nm-description { font: 400 .95rem/1.8 'Manrope','Cairo',sans-serif; max-width: 55ch; }
.nm-masthead { position: relative; isolation: isolate; min-height: 290px; padding: 3.5rem 0 3rem; display: flex; align-items: center; overflow: hidden; }
.nm-masthead__copy { position: relative; width: 65%; }
.nm-masthead h1 { font: 700 clamp(4.5rem, 7vw, 7rem)/1.05 var(--site-display); text-transform: uppercase; margin: 0 0 .6rem; overflow-wrap: anywhere; }
html[dir="rtl"] .nm-masthead h1 { line-height: 1.4; font-size: clamp(3rem, 5.5vw, 5.3rem); }
.nm-masthead p { color: var(--site-muted); font: 400 1rem/1.7 'Manrope','Cairo',sans-serif; max-width: 42ch; margin-bottom: 1.5rem; }
.nm-masthead__art { position: absolute; z-index: -1; inset-inline-end: -2%; top: 0; width: 45%; height: 100%; object-fit: cover; opacity: .65; mask-image: linear-gradient(90deg,transparent,#000 35%,#000 70%,transparent); }
.nm-league .nm-masthead__art { object-fit: contain; opacity: .85; }
.nm-tabs { display: flex; gap: .4rem; border-bottom: 1px solid var(--site-line); overflow-x: auto; scrollbar-width: none; }
.nm-tabs a { position: relative; color: #abb4b5; padding: 1rem 1.7rem; text-decoration: none; font: 600 1.5rem/1.2 var(--site-display); white-space: nowrap; min-height: 50px; }
html[dir="rtl"] .nm-tabs a { font-size: 1.1rem; line-height: 1.5; }
.nm-tabs a.is-active { color: var(--site-yellow); background: #ffc0000a; }
.nm-tabs a:hover { color: #fff; }
.nm-panel { padding: 1.5rem 1.75rem; background: var(--site-surface); border-top: 2px solid #ffc00066; }
.nm-panel-title { font: 500 1.5rem/1.5 var(--site-display); margin: 0 0 .8rem; color: #b6c0bd; }
.nm-activity-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 1.5rem; }
.nm-result-line { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: .4rem 1rem; padding: .9rem 0; border-top: 1px solid var(--site-line); }
.nm-result-line span small { display: block; color: var(--site-muted); }
.nm-result-line > small { grid-column: 1/-1; font-size: .75rem; color: var(--site-muted); }
.nm-score { color: var(--site-yellow); font: 600 1.6rem/1.2 var(--site-display); white-space: nowrap; }
.nm-mini-rank { display: grid; grid-template-columns: 24px minmax(0,1fr) auto; gap: 1rem; align-items: center; border-top: 1px solid var(--site-line); padding: 1.1rem 0; text-decoration: none; color: #f7f6ed; }
.nm-mini-rank > span { color: var(--site-muted); }
.nm-mini-rank strong { overflow-wrap: anywhere; }
.nm-mini-rank b { color: var(--site-yellow); font: 500 1.5rem/1 var(--site-display); white-space: nowrap; }
.nm-mini-rank b small { font-size: .7rem; color: var(--site-muted); }
.nm-paths { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.1rem; }
.nm-path { position: relative; isolation: isolate; min-height: 300px; padding: 1.7rem; display: flex; align-items: end; color: #fff; text-decoration: none; overflow: hidden; clip-path: polygon(18px 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%,0 18px); }
.nm-path img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; filter: saturate(.65) brightness(.6); transition: transform .4s,filter .4s; }
.nm-path::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg,#030809fa,transparent); }
.nm-path:hover { color: #fff; }
.nm-path:hover img { transform: scale(1.04); filter: saturate(1) brightness(.8); }
.nm-path h3 { font: 600 2.3rem/1.3 var(--site-display); margin: 0 0 .4rem; }
html[dir="rtl"] .nm-path h3 { font-size: 1.6rem; line-height: 1.5; }
.nm-path p { font: 400 .85rem/1.7 'Manrope','Cairo',sans-serif; color: #c0c6c6; margin: 0; }
.nm-path > span { position: absolute; top: 1.2rem; inset-inline-end: 1.5rem; font-size: 1.7rem; color: var(--site-yellow); }
.nm-team-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1.1rem; }
.nm-team { position: relative; display: block; padding: 1.5rem; background: #0d1416; color: #fff; text-decoration: none; border-bottom: 2px solid #ffffff18; transition: border-color .2s,background .2s; min-width: 0; }
.nm-team:hover { background: #151c1d; color: #fff; border-color: var(--site-yellow); }
.nm-team__emblem { display: grid; place-items: center; height: 150px; padding: .8rem; }
.nm-team__emblem img { max-width: 100%; max-height: 100%; width: 120px; height: 120px; object-fit: contain; }
.nm-team__emblem > span { font: 600 3.5rem/1 var(--site-display); color: #ffc0009c; }
.nm-team__identity { padding-top: 1rem; border-top: 1px solid var(--site-line); min-width: 0; }
.nm-team__identity small { color: var(--site-yellow); font: 500 .7rem/1.6 'Manrope','Cairo',sans-serif; }
.nm-team__identity h3 { font: 600 1.5rem/1.3 var(--site-display); margin: .4rem 0 0; overflow-wrap: anywhere; }
.nm-team__arrow { position: absolute; top: .75rem; inset-inline-end: 1rem; color: var(--site-muted); }
.nm-directory-team { min-width: 0; }
.nm-directory-team__meta { display: flex; justify-content: space-between; gap: .5rem; padding: .8rem .3rem; color: var(--site-muted); font: 400 .75rem/1.6 'Manrope','Cairo',sans-serif; overflow-wrap: anywhere; }
.nm-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 1.2rem; flex-wrap: wrap; margin-bottom: 1.5rem; }
.nm-mode-switch { display: flex; gap: .4rem; }
.nm-mode-switch a { color: var(--site-muted); text-decoration: none; padding: .65rem 1.1rem; border: 1px solid var(--site-line); font-size: .85rem; min-height: 44px; }
.nm-mode-switch a.is-active { color: var(--site-yellow); border-color: var(--site-yellow); }
.nm-search { display: flex; align-items: center; gap: .5rem; max-width: 100%; }
.nm-search input { background: #0e1517; border: 1px solid #ffffff35; color: #fff; min-width: 0; width: 230px; min-height: 46px; padding: .6rem 1rem; border-radius: 0; font-size: .85rem; }
.nm-search button { border: 0; color: #090d0e; background: var(--site-yellow); width: 46px; min-height: 46px; flex-shrink: 0; }
.nm-search input:focus-visible, .nm-search button:focus-visible { outline: 2px solid #ffc000; outline-offset: 3px; }
.nm-search input::placeholder { color: #a0abab; }
.nm-ranking__head, .nm-ranking__row { display: grid; grid-template-columns: 64px minmax(0,1fr) 150px; gap: 1rem; align-items: center; }
.nm-ranking__head { color: var(--site-muted); font-size: .75rem; padding: .8rem 1rem; border-bottom: 1px solid var(--site-line); }
.nm-ranking__head > :last-child { text-align: end; }
.nm-ranking__row { color: #fff; text-decoration: none; min-height: 94px; padding: 1rem; border-bottom: 1px solid var(--site-line); }
.nm-ranking__row:hover { color: #fff; background: #ffc00008; }
.nm-ranking__position { font: 500 1.9rem/1 var(--site-display); color: #798989; }
.nm-ranking__row:first-of-type .nm-ranking__position { color: var(--site-yellow); }
.nm-ranking__identity { display: flex; align-items: center; gap: 1.1rem; min-width: 0; }
.nm-ranking__identity img, .nm-avatar { width: 52px; height: 52px; object-fit: contain; flex-shrink: 0; }
.nm-avatar { display: grid; place-items: center; background: #182022; color: var(--site-yellow); font: 600 1.6rem/1 var(--site-display); }
.nm-ranking__identity strong { display: block; font: 600 1.5rem/1.3 var(--site-display); overflow-wrap: anywhere; }
.nm-ranking__identity small { font-size: .7rem; color: var(--site-muted); }
.nm-ranking__rating { display: flex; justify-content: end; align-items: center; gap: 2rem; color: var(--site-yellow); font: 500 2rem/1 var(--site-display); }
.nm-ranking__rating span { color: var(--site-muted); font-size: 1rem; }
.nm-empty { padding: 2.5rem 1.2rem; color: var(--site-muted); font: 400 .95rem/1.8 'Manrope','Cairo',sans-serif; grid-column: 1/-1; }
.nm-empty p { margin-bottom: 1.5rem; }
.nm-empty a { color: var(--site-yellow); }
.nm-empty a.nm-action { color: var(--site-ink); }
.nm-disclosure { margin-top: 2.5rem; border-top: 1px solid var(--site-line); padding: 1.1rem 0; color: var(--site-muted); font-size: .9rem; }
.nm-disclosure summary { color: #d8dfdc; padding-block: .4rem; cursor: pointer; }
.nm-disclosure p { max-width: 75ch; line-height: 1.8; margin: 1rem 0 0; }
.nm-match { display: grid; grid-template-columns: 130px minmax(0,1fr) 90px 90px; gap: 1.5rem; align-items: center; padding: 1.3rem 1rem; border-bottom: 1px solid var(--site-line); }
.nm-match small { display: block; color: var(--site-muted); font-size: .75rem; }
.nm-match__teams { display: flex; align-items: center; gap: 2rem; }
.nm-match__delta { color: #d5dace; text-align: end; }
.nm-scrim-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.2rem; }
.nm-scrim { background: var(--site-surface); padding: 1.7rem; border-top: 2px solid #ffc00080; }
.nm-scrim h3 { font: 600 2rem/1.3 var(--site-display); margin: 1.4rem 0 .4rem; overflow-wrap: anywhere; }
.nm-scrim > p { color: var(--site-muted); }
.nm-scrim__details { display: grid; gap: .5rem; font-size: .85rem; border-block: 1px solid var(--site-line); padding: 1rem 0; margin: 1.2rem 0; }
.nm-status { display: inline-flex; align-items: center; gap: .5rem; color: var(--site-yellow); font-size: .8rem; }
.nm-status::before { content: ""; width: 6px; height: 6px; background: var(--site-yellow); transform: rotate(45deg); }
.nm-league-overview { display: grid; grid-template-columns: 1.3fr 1fr; gap: 4rem; padding-block: 1rem 2rem; }
.nm-content .nm-league-callout h2 { font-size: clamp(2.7rem,4vw,4rem); margin: 1.5rem 0 1rem; }
.nm-league-callout h2 span { color: var(--site-yellow); }
.nm-league-facts { display: grid; align-content: center; }
.nm-league-facts > div { display: flex; align-items: baseline; justify-content: space-between; gap: 1.5rem; padding: 1.2rem 0; border-bottom: 1px solid var(--site-line); }
.nm-league-facts strong { color: var(--site-yellow); font: 600 2.2rem/1.4 var(--site-display); }
.nm-league-facts span { color: var(--site-muted); font-size: .85rem; }
.nm-rules { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem 3rem; }
.nm-rules article { padding: 1.5rem 0; border-bottom: 1px solid var(--site-line); }
.nm-rules h3 { font: 600 1.8rem/1.4 var(--site-display); margin-bottom: .7rem; }
.nm-rules p { color: var(--site-muted); line-height: 1.8; max-width: 50ch; font-size: .95rem; }
.nm-pagination { display: flex; justify-content: center; align-items: center; gap: 2rem; margin-top: 2rem; }
.nm-site-footer { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 2.5rem max(3.5vw,calc((100% - 1240px)/2)); border-top: 1px solid var(--site-line); color: var(--site-muted); }
.nm-site-footer__brand { display: inline-flex; gap: .7rem; align-items: center; color: #fff; text-decoration: none; font: 600 1.5rem/1 var(--site-display); white-space: nowrap; }
.nm-site-footer nav { display: flex; flex-wrap: wrap; gap: 1.5rem; }
.nm-site-footer nav a { color: #b9c2bf; font-size: .85rem; text-decoration: none; padding-block: .5rem; }
.nm-site-footer > span { font-size: .75rem; }
.nm-site-footer a:hover { color: var(--site-yellow); }
/* Existing registration forms inherit the same shapes without changing workflows. */
.nm-public .league-shell { padding: 2rem 0 3rem; width: min(960px,calc(100% - 7vw)); margin-bottom: 0; }
.nm-public .league-panel, .nm-public .league-path { border-radius: 0; background: #0e1416; border: 0; border-top: 2px solid #ffc00055; }
.nm-public .league-step__badge { border-radius: 0; }
.nm-public .league-hero .elo-kicker { display: none; }
.nm-public .league-hero h1 { font: 600 clamp(2.4rem,5vw,4.6rem)/1.3 var(--site-display); }
.nm-public .league-hero__lede { font-size: .95rem; line-height: 1.8; }
.nm-public .league-page .btn { border-radius: 0; }
.nm-public .btn-cyber-primary, .nm-account .btn-cyber-primary { border-radius: 0; background: var(--site-yellow); border-color: var(--site-yellow); color: #080b0c; clip-path: polygon(12px 0,100% 0,calc(100% - 12px) 100%,0 100%); box-shadow: none; }
.nm-public .form-control, .nm-public .form-select { border-radius: 0; }
.nm-public .league-paths { display: none; }
.nm-account .nm-content { padding-bottom: 3rem; }
.nm-account-links { display: flex; flex-wrap: wrap; gap: 1rem; padding-bottom: 2rem; }
.nm-account .server-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(250px,1fr)); gap: 1rem; margin-top: 1.5rem; }
.nm-account .server-card { border-radius: 0; background: #0e1416; border: 1px solid var(--site-line); padding: 1.5rem; }
.nm-account .server-card h2 { font-size: 1.6rem; }
/* Public profiles share the same restraint even where content is data-heavy. */
.nm-public.nm-profile #main-content { width: min(1240px,calc(100% - 7vw)); margin-inline: auto !important; padding-block: 2rem 4rem !important; }
.nm-profile .card { border-radius: 0 !important; border-color: var(--site-line) !important; background: #0e1416; box-shadow: none !important; }
.nm-profile .section-kicker, .nm-profile .panel-label { display: none; }
.nm-profile .section-heading p { display: none; }
.nm-profile .dashboard-hero { border-radius: 0; background: transparent; border: 0; padding-inline: 0; }
.nm-profile .gamer-font, .nm-profile h1, .nm-profile h2, .nm-profile h3 { font-family: var(--site-display); }
@media (max-width: 1000px) {
    .nm-team-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .nm-path { min-height: 260px; padding: 1.2rem; }
    .nm-path h3 { font-size: 2rem; }
    .nm-scrim-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .nm-site-footer { flex-wrap: wrap; }
}
@media (max-width: 700px) {
    .nm-content { width: calc(100% - 2rem); }
    .nm-content-section { padding-block: 2.2rem; }
    .nm-heading { align-items: start; gap: 1rem; }
    .nm-heading .nm-text-link { font-size: .75rem; }
    .nm-masthead { min-height: 230px; padding: 2rem 0; }
    .nm-masthead__copy { width: 80%; }
    .nm-masthead__art { width: 65%; opacity: .32; inset-inline-end: -18%; }
    .nm-masthead h1 { font-size: 4.6rem; }
    html[dir="rtl"] .nm-masthead h1 { font-size: 3.1rem; }
    .nm-masthead p { font-size: .85rem; max-width: 30ch; }
    .nm-tabs a { padding: .85rem 1.2rem; font-size: 1.4rem; }
    html[dir="rtl"] .nm-tabs a { font-size: 1rem; }
    .nm-activity-grid, .nm-league-overview { grid-template-columns: 1fr; gap: 1.2rem; }
    .nm-panel { padding: 1rem 1.2rem; }
    .nm-team-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .8rem; }
    .nm-team { padding: 1rem; }
    .nm-team__emblem { height: 110px; padding: .3rem; }
    .nm-team__emblem img { width: 90px; height: 90px; }
    .nm-team__identity h3 { font-size: 1.3rem; }
    .nm-directory-team__meta { flex-direction: column; }
    .nm-paths { grid-template-columns: 1fr; gap: .8rem; }
    .nm-path { min-height: 170px; padding: 1.3rem; }
    .nm-path img { object-position: center 45%; }
    .nm-path h3 { font-size: 2rem; }
    .nm-path p { max-width: 30ch; }
    .nm-toolbar { align-items: stretch; }
    .nm-search { flex: 1 0 100%; }
    .nm-search input { flex: 1; width: 100%; }
    .nm-mode-switch { width: 100%; }
    .nm-mode-switch a { flex: 1; text-align: center; }
    .nm-ranking__head, .nm-ranking__row { grid-template-columns: 30px minmax(0,1fr) 70px; gap: .6rem; padding-inline: .3rem; }
    .nm-ranking__identity { gap: .6rem; }
    .nm-ranking__identity img, .nm-avatar { width: 38px; height: 38px; font-size: 1.2rem; }
    .nm-ranking__identity strong { font-size: 1.25rem; }
    .nm-ranking__rating { font-size: 1.65rem; gap: .4rem; }
    .nm-ranking__rating span { display: none; }
    .nm-ranking__position { font-size: 1.6rem; }
    .nm-match { grid-template-columns: 70px minmax(0,1fr) auto; gap: .8rem; padding-inline: 0; }
    .nm-match__teams { flex-direction: column; align-items: start; gap: .4rem; font-size: .85rem; overflow-wrap: anywhere; }
    .nm-match__delta { grid-column: 2/-1; font-size: .8rem; }
    .nm-match__delta small { display: inline; margin-inline-start: .5rem; }
    .nm-scrim-grid, .nm-rules { grid-template-columns: 1fr; }
    .nm-league-overview { padding-bottom: 0; }
    .nm-league-facts strong { font-size: 1.9rem; }
    .nm-site-footer { padding: 2rem 1rem; gap: 1.5rem; flex-direction: column; align-items: start; }
    .nm-site-footer nav { gap: 1.3rem; }
    .nm-site-footer > span { display: none; }
}

.nm-profile-header { padding: 2rem 0; }
.nm-profile-header__identity { display: flex; align-items: center; gap: 2rem; padding: 2rem 0 1rem; }
.nm-profile-header__identity > img { object-fit: contain; }
.nm-profile-header__identity > .nm-avatar { width: 120px; height: 120px; font-size: 3rem; }
.nm-profile-header h1 { font: 600 clamp(2.5rem,5vw,5rem)/1.3 var(--site-display); margin: .3rem 0; overflow-wrap: anywhere; }
.nm-profile-header p { color: var(--site-muted); margin: .5rem 0 0; }
.nm-stat-strip { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; padding: 1.5rem 0 2rem; }
.nm-stat-strip > div { border-inline-start: 2px solid #ffc00055; padding-inline-start: 1rem; }
.nm-stat-strip strong { display: block; color: var(--site-yellow); font: 500 2.4rem/1.2 var(--site-display); }
.nm-stat-strip span { color: var(--site-muted); font-size: .8rem; }
.nm-player-tile { padding: 1.5rem; border-top: 2px solid #ffc00055; background: var(--site-surface); min-width: 0; }
.nm-player-tile__heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.nm-player-tile h3 { font: 500 1.8rem/1.4 var(--site-display); overflow-wrap: anywhere; }
.nm-player-tile i { color: var(--site-yellow); }
.nm-player-tile__tags { display: flex; flex-wrap: wrap; gap: .8rem; color: var(--site-yellow); font-size: .75rem; margin-block: 1rem; text-transform: uppercase; }
.nm-player-tile .nm-description { overflow-wrap: anywhere; white-space: pre-wrap; }
.nm-guests-heading { margin-top: 2.5rem; }
.nm-rating-chart { position: relative; height: 300px; width: 100%; }
@media (max-width: 600px) {
    .nm-profile-header__identity { gap: 1rem; }
    .nm-profile-header__identity > img, .nm-profile-header__identity > .nm-avatar { width: 80px; height: 80px; flex-shrink: 0; }
    .nm-stat-strip { gap: .5rem; }
    .nm-stat-strip strong { font-size: 1.8rem; }
    .nm-stat-strip span { font-size: .7rem; }
    .nm-profile-header h1 { font-size: 2.1rem; }
}

/* Public motion: quiet depth, one-time entrances, and direct selection feedback. */
.nm-campaign { --depth-x: 0px; --depth-y: 0px; }
.nm-campaign__video { transform: translate(calc(var(--depth-x) * .15),calc(var(--depth-y) * .15)) scale(1.025); transition: opacity .7s, transform .65s ease-out; }
.nm-campaign__atmosphere {
    position: absolute; inset: 8% 5% 18%; z-index: -1; pointer-events: none;
    background: radial-gradient(ellipse at 28% 55%,#ffc0000d,transparent 55%),radial-gradient(ellipse at 72% 40%,#13978c0a,transparent 60%);
    transform: translate(calc(var(--depth-x) * .45),calc(var(--depth-y) * .45));
    transition: transform .8s ease-out;
}
.nm-campaign__art { transform: translate(var(--depth-x),var(--depth-y)); transition: transform .65s ease-out; }
.nm-campaign__art::before, .nm-campaign__art::after {
    content: ""; position: absolute; pointer-events: none; opacity: 0; transition: opacity .65s;
}
.nm-campaign__art::before { inset: -3% -6%; background: radial-gradient(ellipse,#eab84a1c,transparent 65%); }
.nm-campaign__art::after { width: 46%; height: 8%; left: 27%; bottom: -1%; background: radial-gradient(ellipse,#0008,transparent 70%); }
.nm-campaign.has-cutout .nm-campaign__art::before, .nm-campaign.has-cutout .nm-campaign__art::after { opacity: 1; }
.nm-campaign__visual { transform: translateY(12px) scale(.985); transition: opacity .5s ease,transform .7s cubic-bezier(.2,.7,.2,1),visibility .7s; }
.nm-campaign__visual.is-active { transform: none; transition-delay: .1s; }
.nm-campaign__visual--cutout { inset: -3% -2%; }
.nm-campaign__visual--cutout.is-active img { animation: nm-trophy-float 6s ease-in-out infinite,nm-trophy-light 11s ease-in-out infinite; }
.nm-campaign.is-idle .nm-campaign__visual img { animation-play-state: paused; }
@keyframes nm-trophy-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-9px); } }
@keyframes nm-trophy-light { 0%,66%,100% { filter: drop-shadow(0 12px 28px #0006) brightness(1); } 78% { filter: drop-shadow(0 12px 32px #0006) brightness(1.12); } }
.nm-team__emblem img { transition: transform .35s cubic-bezier(.2,.7,.2,1); }
.nm-team::before, .nm-team::after {
    content: ""; position: absolute; width: 18px; height: 18px; pointer-events: none;
    border-color: var(--site-yellow); border-style: solid; opacity: 0; transition: opacity .2s,transform .25s;
}
.nm-team::before { top: 8px; inset-inline-start: 8px; border-width: 2px 0 0 2px; transform: translate(3px,3px); }
.nm-team::after { bottom: 8px; inset-inline-end: 8px; border-width: 0 2px 2px 0; transform: translate(-3px,-3px); }
html[dir="rtl"] .nm-team::before { border-width: 2px 2px 0 0; }
html[dir="rtl"] .nm-team::after { border-width: 0 0 2px 2px; }
.nm-team:focus-visible::before, .nm-team:focus-visible::after { opacity: 1; transform: none; }
.nm-team:focus-visible .nm-team__emblem img { transform: translateY(-4px); }
.nm-ranking__row, .nm-mini-rank { position: relative; transition: background .2s; }
.nm-ranking__row::before, .nm-mini-rank::before {
    content: ""; position: absolute; inset-inline-start: 0; top: 28%; bottom: 28%; width: 3px;
    background: var(--site-yellow); opacity: 0; transform: scaleY(.4); transition: opacity .2s,transform .2s;
}
.nm-ranking__row:focus-visible::before, .nm-mini-rank:focus-visible::before { opacity: 1; transform: scaleY(1); }
.nm-action, .nm-campaign__cta { position: relative; isolation: isolate; overflow: hidden; }
.nm-action::after, .nm-campaign__cta::after {
    content: ""; position: absolute; z-index: -1; inset: 0; pointer-events: none;
    background: #ffdf63; transform: translateX(-105%) skewX(-15deg); transition: transform .35s cubic-bezier(.2,.7,.2,1);
}
.nm-action:focus-visible::after, .nm-campaign__cta:focus-visible::after { transform: translateX(0) skewX(0); }
.nm-action:active, .nm-campaign__cta:active { transform: scale(.98); }
.nm-tabs a, .nm-mode-switch a { transition: background .2s,color .2s,transform .15s; }
.nm-tabs a:active, .nm-mode-switch a:active { transform: scale(.97); }
.nm-tabs a:focus-visible, .nm-mode-switch a:focus-visible { background: #ffc00014; }
@media (hover: hover) and (pointer: fine) {
    .nm-team:hover .nm-team__emblem img { transform: translateY(-4px); }
    .nm-team:hover::before, .nm-team:hover::after { opacity: 1; transform: none; }
    .nm-ranking__row:hover::before, .nm-mini-rank:hover::before { opacity: 1; transform: scaleY(1); }
    .nm-action:hover::after, .nm-campaign__cta:hover::after { transform: translateX(0) skewX(0); }
    .nm-tabs a:hover, .nm-mode-switch a:hover { background: #ffc00014; }
}

/* Brand motion stays enabled regardless of OS/browser motion preferences. */
.nm-campaign.is-booting .nm-campaign__art, .nm-campaign.is-booting .nm-campaign__copy { opacity: 0; }
@keyframes nm-art-enter { from { opacity: 0; transform: translateY(38px) scale(.96); } to { opacity: 1; transform: none; } }
@keyframes nm-title-enter { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }
@keyframes nm-action-enter { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
@keyframes nm-copy-exit { from { opacity: 1; } to { opacity: 0; } }
@keyframes nm-copy-enter { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: none; } }
.nm-public .nm-reveal-ready { opacity: 0; transform: translateY(24px); }
.nm-public .nm-revealing { animation: nm-scroll-enter 650ms cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms) both; }
.nm-public .nm-reveal-ready:focus-within { opacity: 1; transform: none; }
@keyframes nm-scroll-enter { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }

/* Season-specific rulebook: concise summaries and an explicit submission agreement. */
.nm-rulebook-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 1.5rem; margin-block: 1rem; }
.nm-rulebook-intro small { color: var(--site-muted); font-size: .75rem; }
.nm-rulebook-sections { gap: 0 3rem; margin-top: 2rem; align-items: start; }
.nm-rulebook-sections .nm-disclosure { margin-top: 0; }
.nm-rulebook-sections summary { font: 600 1.5rem/1.6 var(--site-display); }
.nm-rulebook-sections ul { padding-inline-start: 1.2rem; margin-block: .7rem; }
.nm-rulebook-sections li { padding-block: .4rem; line-height: 1.8; font-size: .9rem; }
.nm-rulebook-note { margin-top: 2rem; }
.nm-rulebook-confirm { margin-block: 1rem; padding: 1.1rem; background: #ffc00008; border: 1px solid #ffc00040; }
.nm-rulebook-confirm legend { font: 600 1.4rem/1.6 var(--site-display); float: none; width: auto; margin: 0; }
.nm-rulebook-confirm p { font-size: .85rem; color: var(--site-muted); line-height: 1.8; }
.nm-rulebook-confirm .form-check { margin-block: 1rem; }
.nm-rulebook-confirm .form-check-label { font-size: .9rem; }

/* Rank & Inspect: close identity/rating grouping, real logos over authored materials. */
.nm-rank-inspect { display: grid; gap: 1.5rem; align-items: start; }
.nm-rank-preview[hidden] { display: none; }
.nm-rank-preview { min-width: 0; }
.nm-rank-item { margin: 0; border-bottom: 1px solid var(--site-line); }
.nm-rank-list { min-width: 0; }
.nm-rank-list .nm-ranking__head, .nm-rank-list .nm-ranking__row { grid-template-columns: 38px minmax(0,1fr) 78px 18px; gap: .8rem; padding: .85rem 1rem; }
.nm-rank-list .nm-ranking__head > :nth-child(3) { text-align: end; }
.nm-rank-list .nm-ranking__row { min-height: 79px; list-style: none; border: 0; cursor: pointer; transition: background .2s,box-shadow .2s; }
.nm-rank-list summary::-webkit-details-marker { display: none; }
.nm-rank-list .nm-ranking__identity { gap: .85rem; }
.nm-rank-list .nm-ranking__identity > span { min-width: 0; }
.nm-rank-list .nm-ranking__identity img, .nm-rank-list .nm-avatar { width: 44px; height: 44px; }
.nm-rank-list .nm-ranking__identity strong { font-size: 1.4rem; line-height: 1.2; }
.nm-rank-list .nm-ranking__identity small { display: block; margin-top: .3rem; }
.nm-rank-list .nm-ranking__rating { font-size: 1.8rem; }
.nm-rank-list .nm-ranking__row .nm-ranking__position { font-size: 1.55rem; color: #7d8e8e; }
.nm-rank-item[open] > summary { background: #ffc0000e; box-shadow: inset 0 0 0 1px #ffc00070; }
.nm-rank-item[open] .nm-ranking__position { color: var(--site-yellow); }
.nm-rank-toggle { width: 14px; height: 14px; position: relative; opacity: .7; }
.nm-rank-toggle::before { content: ""; position: absolute; width: 7px; height: 7px; top: 2px; left: 3px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); transition: transform .2s; }
.nm-rank-item[open] .nm-rank-toggle::before { transform: rotate(225deg); }
.nm-rank-detail { padding: .8rem 0; }
.nm-inspect-card { position: relative; isolation: isolate; display: flex; flex-direction: column; align-items: center; gap: .8rem; min-width: 0; min-height: 510px; padding: 2.8rem 1.7rem 1.5rem; color: #fff; background: #0c1113; overflow: hidden; clip-path: polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,20px 100%,0 calc(100% - 20px)); }
.nm-inspect-card__surface { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.nm-inspect-card__surface img { width: 100%; height: 100%; object-fit: cover; }
.nm-inspect-card::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg,#0307081a 25%,#03070891 70%,#030708e8); pointer-events: none; }
.nm-inspect-card__rank { position: absolute; top: 0; inset-inline-start: 0; padding: .4rem 1.4rem; color: #080b0c; background: var(--site-yellow); font: 600 1.6rem/1.3 var(--site-display); }
.nm-inspect-card__emblem { display: grid; place-items: center; flex: 1; width: 100%; min-height: 220px; }
.nm-inspect-card__emblem img { width: min(70%,230px); height: 220px; object-fit: contain; filter: drop-shadow(0 12px 22px #0008); }
.nm-inspect-card__emblem > span { font: 600 6rem/1 var(--site-display); color: var(--site-yellow); text-shadow: 0 3px 25px #000; }
.nm-inspect-card__identity { text-align: center; width: 100%; }
.nm-inspect-card__identity h2 { font: 600 clamp(1.8rem,2.6vw,2.5rem)/1.15 var(--site-display); margin: 0 0 .4rem; overflow-wrap: anywhere; }
.nm-inspect-card__identity > span { font-size: .85rem; color: #b9c3c2; }
.nm-inspect-card__rating { display: grid; gap: .2rem; text-align: center; color: var(--site-yellow); }
.nm-inspect-card__rating small { font-size: .7rem; letter-spacing: .1em; }
.nm-inspect-card__rating strong { font: 600 3rem/1 var(--site-display); }
.nm-inspect-card .nm-action { width: 100%; justify-content: center; margin-top: .5rem; }
.nm-inspect-card--enter { animation: nm-inspector-enter .38s ease-out; }
@keyframes nm-inspector-enter { from { opacity: .5; transform: translateY(9px); } to { opacity: 1; transform: none; } }
@media (min-width: 861px) {
    .nm-rank-inspect.is-enhanced { grid-template-columns: minmax(260px,.8fr) minmax(0,1.25fr); direction: ltr; }
    .nm-rank-inspect.is-enhanced .nm-rank-preview { position: sticky; top: 100px; }
    .nm-rank-inspect.is-enhanced .nm-rank-detail { display: none; }
    .nm-rank-inspect.is-enhanced .nm-rank-toggle { visibility: hidden; }
    html[dir="rtl"] .nm-rank-inspect.is-enhanced > * { direction: rtl; }
}
@media (max-width: 860px) {
    .nm-rank-inspect .nm-rank-preview { display: none; }
    .nm-rank-list .nm-ranking__head, .nm-rank-list .nm-ranking__row { grid-template-columns: 30px minmax(0,1fr) 64px 14px; gap: .65rem; padding-inline: .6rem; }
    .nm-rank-detail .nm-inspect-card { display: grid; grid-template-columns: 100px minmax(0,1fr); gap: .7rem 1rem; min-height: 0; padding: 1.25rem; }
    .nm-rank-detail .nm-inspect-card__rank { display: none; }
    .nm-rank-detail .nm-inspect-card__emblem { grid-row: 1 / 3; min-height: 100px; }
    .nm-rank-detail .nm-inspect-card__emblem img { width: 100px; height: 100px; }
    .nm-rank-detail .nm-inspect-card__emblem > span { font-size: 3.8rem; }
    .nm-rank-detail .nm-inspect-card__identity { align-self: end; }
    .nm-rank-detail .nm-inspect-card__identity h2 { font-size: 1.65rem; }
    .nm-rank-detail .nm-inspect-card__rating { align-self: start; }
    .nm-rank-detail .nm-inspect-card__rating strong { font-size: 2.1rem; }
    .nm-rank-detail .nm-inspect-card .nm-action { grid-column: 1 / -1; min-height: 44px; }
}
@media (max-width: 480px) {
    .nm-rank-list .nm-ranking__identity img, .nm-rank-list .nm-avatar { width: 36px; height: 36px; }
    .nm-rank-list .nm-ranking__identity { gap: .55rem; }
    .nm-rank-list .nm-ranking__identity strong { font-size: 1.15rem; }
    .nm-rank-list .nm-ranking__rating { font-size: 1.5rem; }
    .nm-rank-list .nm-ranking__row { min-height: 76px; }
}
/* Shared Squad cards: genuine background artwork, with a quiet label area. */
.nm-team { isolation: isolate; overflow: hidden; background: #0b1113; clip-path: polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%); }
.nm-team__surface { display: block; position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.nm-team__surface img { width: 100%; height: 100%; object-fit: cover; opacity: .8; transition: transform .6s,opacity .4s; }
.nm-team__surface::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,#050a0d12 30%,#050a0db0 65%,#050a0df5); }
.nm-team__emblem img { filter: drop-shadow(0 8px 14px #0008); }
.nm-team__identity { position: relative; z-index: 1; border-top-color: #ffffff20; }
.nm-team:focus-visible { outline: none; box-shadow: inset 0 0 0 3px var(--site-yellow); }
.nm-team:focus-visible .nm-team__surface img { transform: scale(1.03); opacity: 1; }
@media (hover: hover) and (pointer: fine) { .nm-team:hover .nm-team__surface img { transform: scale(1.03); opacity: 1; } }

/* Participant workspace: information first, shared compact controls. */
body.nm-public.player-page #main-content {width:min(1440px,calc(100% - 40px));margin:20px auto 32px !important;padding:0 !important}
.player-shell {display:grid;grid-template-columns:176px minmax(0,1fr);gap:24px;max-width:none;margin:0;color:#edf1ec;font-size:13px;min-width:0}
.player-sidebar {align-self:start;position:sticky;top:94px;min-width:0}
.player-header {display:flex;align-items:center;gap:10px;padding:6px 0 20px;min-width:0}
.player-avatar {display:grid;place-items:center;flex:0 0 34px;height:34px;background:#d2b15b13;color:#f1cc58;font-size:18px;font-weight:700;border:1px solid #c9ad4c24}
.player-header>div {min-width:0}.player-header h1 {font-size:18px;line-height:1.4;margin:0;overflow-wrap:anywhere}.player-header p {margin:2px 0 0;font-size:10px;color:#899c93}
.player-nav {display:flex;flex-direction:column;gap:4px;padding:8px 0 16px;border-top:1px solid #ffffff0c;border-bottom:1px solid #ffffff0c}
.player-nav a {display:flex;align-items:center;gap:10px;padding:11px 12px;min-height:40px;min-width:0;color:#aebcb5;text-decoration:none;font-size:13px;font-weight:600}
.player-nav a:hover {color:#fff;background:#ffffff05}.player-nav a[aria-current] {background:#fbc600;color:#09100c;clip-path:polygon(4% 0,100% 0,96% 100%,0 100%)}.player-nav i {font-size:15px}.player-nav-count {margin-inline-start:auto;background:#f4c600;color:#111;padding:1px 6px;font-size:10px}
.player-header__links {display:flex;flex-wrap:wrap;gap:16px;padding:16px 12px}.player-main {min-width:0}
.player-overview-heading,.player-section-head,.player-list-row {display:flex;align-items:center;justify-content:space-between;gap:12px}
.player-overview-heading {min-height:42px;margin-bottom:14px}.player-overview-heading h2 {font-size:24px;margin:0;line-height:1.3}.player-overview-heading p {margin:4px 0 0;color:#91a098;font-size:12px}
.player-shell .nm-action {min-height:36px;padding:8px 15px;font-size:13px;line-height:1.5}.player-shell .nm-action:disabled,.player-inline-action:disabled {opacity:.4;cursor:not-allowed}
.player-shell .nm-text-link {font-size:12px;line-height:1.5}.player-shell a:focus-visible,.player-shell button:focus-visible,.player-details summary:focus-visible {outline:2px solid #f4cd37;outline-offset:3px}
.player-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px}.player-grid--stats {grid-template-columns:repeat(4,minmax(0,1fr))}
.player-stat {position:relative;min-width:0;display:grid;grid-template-columns:1fr auto;align-items:center;gap:1px 8px;padding:14px 16px;background:linear-gradient(90deg,#0b1313f4,#0b1313c9),url('/assets/competition/card_teal.webp') center/cover}
.player-stat>span {font-size:12px;color:#b9c6bf}.player-stat strong {grid-column:2;grid-row:1/3;line-height:1.1;font-size:28px;color:#ffcf00;direction:ltr;unicode-bidi:isolate}.player-stat small {font-size:10px;color:#8d9e94;overflow-wrap:anywhere}.player-stat strong small {font-size:12px}
.player-overview-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.player-overview-grid>.player-panel {margin:0}
.player-panel {min-width:0;background:#0b1313;padding:16px 18px;margin-bottom:14px;border:1px solid #ffffff06}.player-panel--narrow {max-width:840px;margin-inline:auto}.player-grid>.player-panel {margin:0}
.player-panel h2,.player-section-head h2 {font-size:18px;line-height:1.4;margin:0 0 12px}.player-section-head {margin-bottom:10px}.player-section-head h2 {margin:0}
.player-list-row {padding:10px 0;min-width:0;border-bottom:1px solid #ffffff0c;text-decoration:none;color:#edf1ec;font-size:13px;line-height:1.5}
.player-list-row:last-child {border-bottom:0}.player-list-row span,.player-row-identity {min-width:0}.player-list-row bdi {overflow-wrap:anywhere}.player-list-row small,.player-squad-identity small {display:block;color:#8d9f96;margin-top:3px;font-size:11px;line-height:1.5}
.player-row-actions,.player-quick-invites {display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}.player-row-actions form,.player-quick-invites form {margin:0}.player-row-actions {flex-shrink:0}
.player-badge {display:inline-block;font-size:10px;padding:4px 7px;background:#e3c04d0c;color:#d7c985;text-decoration:none;line-height:1.5;max-width:150px}
.player-inline-action {display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:34px;padding:6px 10px;border:1px solid #a997483b;background:#bc9e3010;color:#edcf68;font-size:12px;line-height:1.5;text-decoration:none;cursor:pointer}
.player-inline-action:hover {background:#f3c600;color:#09100c}.player-link {border:0;background:none;padding:5px 0;color:#dcc776;font-size:12px;text-decoration:none;cursor:pointer;line-height:1.5}.player-link--danger {color:#e79186}
.player-hint {font-size:11px;color:#91a69b;line-height:1.6;margin:8px 0}.player-empty {display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:22px 8px;color:#8fa397;font-size:12px;min-height:105px;text-align:center}.player-empty>i {font-size:22px;color:#6d8579}.player-empty p {margin:0}.player-empty>small {font-size:11px;max-width:310px}
.player-task {display:flex;align-items:center;gap:10px;min-height:46px;padding:8px 0;border-bottom:1px solid #ffffff09;color:#e7eee8;text-decoration:none;font-size:13px}.player-task>i {color:#d4b65b;font-size:17px}.player-task>span:nth-child(2) {flex:1}.player-task small {display:block;font-size:11px;color:#8fa397;margin-top:3px}
.player-all-clear {display:flex;gap:10px;align-items:center;margin:12px 0 16px;color:#9dac9d;font-size:12px}.player-all-clear i {color:#82a68b;font-size:19px}
.player-league-summary {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0 0;margin-top:8px;border-top:1px solid #ffffff0e}.player-league-summary strong {display:block;font-size:13px;margin-top:4px}.player-micro-label {font-size:9px;color:#9da99b;letter-spacing:.08em}
.player-squad-identity {display:flex;gap:10px;align-items:center;margin:6px 0 8px}.player-squad-identity img {object-fit:contain}.player-squad-identity strong {font-size:15px}.player-team-tag {display:grid;place-items:center;min-width:38px;height:36px;color:#e0c152;font-size:14px;background:#bc9e3010;border:1px solid #bfa75222}
.player-roster-preview {display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px}.player-roster-preview>span,.player-roster-preview>a {padding:3px 8px;background:#ffffff04;color:#acb9af;font-size:11px;text-decoration:none}.player-roster-preview i {color:#ddc368;font-size:9px;margin-inline-start:6px}
.player-pending-share {display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px;padding-top:5px;border-top:1px solid #ffffff0c}.player-pending-share small {color:#92a194;font-size:11px}
.player-stage,.player-squad-banner {position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(90deg,#081010ee,#081211aa),url('/assets/competition/card_gold.webp') center/cover;display:flex;align-items:center;padding:18px 22px;margin-bottom:14px;min-height:100px}
.player-stage__content {position:relative;max-width:760px}.player-stage h2 {font-size:25px;line-height:1.4;margin:0 0 6px}.player-stage p {color:#a7b6ad;margin:0 0 10px;font-size:12px}.player-stage .elo-kicker {font-size:9px;margin-bottom:4px}.player-stage__mark {display:none}
.player-squad-banner {gap:16px;min-height:96px}.player-squad-banner h2 {font-size:25px;line-height:1.3;margin:0 0 4px}.player-squad-banner p {max-width:600px;overflow-wrap:anywhere;font-size:12px;margin:0}.player-squad-banner .elo-kicker {font-size:9px;margin-bottom:5px}.player-squad-logo {width:48px;height:48px;object-fit:contain}.player-squad-logo--text {display:grid;place-items:center;font-size:20px;font-weight:700;color:#f0ca53;border:1px solid #ffe17d30}.player-squad-banner__meta {margin-inline-start:auto;display:flex;align-items:center;gap:10px;white-space:nowrap;font-size:12px}.player-squad-banner__meta strong {font-size:25px;color:#edc74c;direction:ltr;unicode-bidi:isolate}
.player-details {margin-top:14px}.player-details summary {cursor:pointer;color:#dfca84;font-weight:600;font-size:13px;margin-bottom:12px}.player-details summary::marker {color:#7d8e83}
.player-invites {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.player-invite {padding:14px;background:#ffffff02;border:1px solid #ffffff0b;min-width:0}.player-invite small {color:#8ca093;font-size:11px}.player-invite .form-control {font-size:11px}.player-invite .player-row-actions {gap:10px}
.player-notice {padding:12px;margin:0 0 14px;background:#cfac2410;border-inline-start:2px solid #dfbb43;font-size:12px}.player-notice p:last-child {margin:0}
.player-match {padding:14px 0;border-bottom:1px solid #ffffff0d}.player-match-form {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.player-match-form button {align-self:end;justify-self:start}.player-filters {display:flex;gap:4px;flex-wrap:wrap}.player-filters a {color:#bdc9c0;text-decoration:none;padding:7px 12px;font-size:12px}.player-filters a[aria-current] {background:#fbc600;color:#090e0e}
.player-shell .league-form label {display:block;margin:10px 0 5px;font-size:12px}.player-shell .league-role-grid label {margin:0}.player-shell .league-form fieldset {margin-bottom:14px !important}.player-shell .form-control,.player-shell .form-select {min-width:0;max-width:100%;font-size:13px;padding:8px 10px}.player-shell .league-legend {font-size:15px;margin-bottom:8px}.player-shell .form-text {font-size:11px}

.player-squad-workspace {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start}
.player-squad-members {min-width:0}.player-squad-members .player-empty {min-height:72px;padding:16px 8px}
.player-squad-workspace #invitations {min-width:0;scroll-margin-top:90px}.player-squad-workspace #invitations>.player-section-head .elo-kicker {display:none}
.player-squad-workspace .player-invites {grid-template-columns:minmax(0,1fr);max-height:490px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#716634 #0b1313;padding-inline-end:4px}
.player-squad-workspace--member {grid-template-columns:minmax(0,1fr)}.player-squad-workspace--member .player-squad-members {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
@media(max-width:999px){body.nm-public.player-page #main-content {width:calc(100% - 32px);margin-block:14px 24px !important}.player-shell {display:block}.player-sidebar {position:static;display:grid;grid-template-columns:1fr auto;gap:0 12px;margin-bottom:16px}.player-header {padding:0 0 12px}.player-header__links {padding:0 0 12px;align-items:center}.player-nav {grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;padding:8px 0}.player-nav a {padding:9px 7px;justify-content:center;gap:6px;font-size:12px}.player-overview-heading h2 {font-size:22px}.player-overview-grid {gap:12px}.player-stat {padding:12px}.player-stat strong {font-size:25px}}
@media(max-width:639px){.player-squad-workspace,.player-squad-workspace--member .player-squad-members{display:block}.player-squad-workspace .player-invites{max-height:none;overflow:visible}body.nm-public.player-page #main-content {width:calc(100% - 24px);margin-top:10px !important}.player-nav {grid-template-columns:repeat(3,minmax(0,1fr))}.player-nav a {min-height:36px;padding:7px}.player-sidebar {margin-bottom:12px}.player-header h1 {font-size:16px}.player-header__links {gap:12px}.player-header__links a {font-size:11px}.player-avatar {flex-basis:30px;height:30px}.player-overview-heading {gap:8px;margin-bottom:12px}.player-overview-heading h2 {font-size:21px}.player-overview-heading p {font-size:11px;max-width:170px}.player-shell .nm-action {font-size:11px;padding:8px 12px;min-height:36px}.player-grid--stats {grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.player-stat {padding:12px;min-height:65px}.player-stat strong {font-size:25px}.player-stat>span {font-size:11px}.player-grid,.player-overview-grid {grid-template-columns:minmax(0,1fr);gap:10px}.player-grid--stats {grid-template-columns:repeat(2,minmax(0,1fr))}.player-overview-attention {order:-1}.player-panel {padding:14px;margin-bottom:12px}.player-panel h2,.player-section-head h2 {font-size:17px}.player-list-row {gap:8px;font-size:12px}.player-row-actions {gap:6px}.player-list-row .player-row-actions {max-width:145px;justify-content:flex-end}.player-badge {max-width:110px;font-size:10px}.player-stage,.player-squad-banner {padding:16px;min-height:90px}.player-squad-banner {flex-wrap:wrap;gap:12px}.player-squad-banner h2 {font-size:22px}.player-squad-banner__meta {margin-inline-start:0}.player-stage h2 {font-size:23px}.player-invites,.player-match-form {grid-template-columns:minmax(0,1fr)}.player-league-summary .player-link {text-align:end}.player-roster-preview {margin-bottom:10px}}
/* Private tournament photo (player profile) and the squad photo requirement. */
#tournament-photo {scroll-margin-top:90px}
.player-photo__form input[type=file]::file-selector-button {background:#141b1e;color:#f3f3eb;border:0;border-inline-end:1px solid #ffffff2e;padding:.45rem .9rem;margin-inline-end:.75rem;cursor:pointer}
.player-photo__layout {display:grid;grid-template-columns:minmax(150px,200px) minmax(0,1fr);gap:20px;align-items:start;margin:14px 0 18px}
.player-photo__frame {margin:0;display:grid;gap:8px;justify-items:start}
.player-photo__frame img,.player-photo__frame svg {width:100%;aspect-ratio:4/5;object-fit:cover;background:#ffffff08;border:1px solid #ffffff14;border-top:2px solid #ffc00059}
.player-photo__frame svg {padding:18px 14px 0;fill:#ffffff24}
.player-photo__frame svg .player-photo__arms {fill:none;stroke:#ffffff40;stroke-width:9;stroke-linecap:round}
.player-photo__guide h3 {font-size:15px;margin:0 0 8px}
.player-photo__guide ul,.player-photo__consent ul {margin:0 0 10px;padding-inline-start:18px;font-size:13px;line-height:1.8;color:#d6dad3}
.player-photo__consent {margin:16px 0;padding:14px;border:1px solid #ffffff14;background:#ffffff05}
.player-photo__guardian {padding:10px 12px;border-inline-start:2px solid #ffc00040;background:#ffffff04}
.player-badge--ok {color:#8fe0c8;background:#5cc8c014}
.player-badge--danger {color:#ffb4a8;background:#b9777018}
.player-photo-rule {display:flex;align-items:center;gap:10px;margin:10px 0;padding:10px 12px;font-size:13px;border:1px solid #ffffff14;background:#ffffff05}
.player-photo-rule.is-ready {border-color:#5cc8c040}
.player-photo-rule i {font-size:16px;color:#ffc000}
.player-photo-rule.is-ready i {color:#5cc8c0}
.player-photo-rule a {margin-inline-start:auto;white-space:nowrap}
.player-photo-mark {margin-inline-start:6px;color:#5cc8c0}
@media(max-width:639px){.player-photo__layout {grid-template-columns:minmax(0,1fr)}.player-photo__frame {max-width:180px}}
/* Shared image crop dialog (assets/image_crop.js). */
.nm-crop {width:min(680px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;border:1px solid #ffffff1f;border-top:2px solid #ffc00080;background:#0b1113;color:#f7f6ed;overflow:auto}
.nm-crop::backdrop {background:#030607d9;backdrop-filter:blur(4px)}
.nm-crop__head {padding:16px 18px 8px}
.nm-crop__head h2 {font:600 1.4rem/1.3 'Teko','Changa',sans-serif;margin:0 0 4px}
html[dir="rtl"] .nm-crop__head h2 {font-size:1.15rem;line-height:1.6}
.nm-crop__head p {margin:0;font-size:13px;color:#a9b3b2}
.nm-crop__stage {height:min(58dvh,480px);background:#05080a}
.nm-crop__image {display:block;max-width:100%}
.nm-crop__warning {margin:10px 18px 0;padding:8px 10px;font-size:13px;color:#ffd1ca;background:#b9777018;border-inline-start:2px solid #b97770}
.nm-crop__tools {display:flex;justify-content:center;gap:8px;padding:12px 18px 4px}
.nm-crop__tools button {width:44px;height:44px;display:grid;place-items:center;border:1px solid #ffffff2e;background:#141b1e;color:#f3f3eb;font-size:18px;cursor:pointer}
.nm-crop__tools button:hover {border-color:#ffc00099}
.nm-crop__tools button:focus-visible,.nm-crop__cancel:focus-visible {outline:2px solid #ffc000;outline-offset:2px}
.nm-crop__actions {display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:12px 18px 18px}
.nm-crop__cancel {min-height:44px;padding:0 16px;border:1px solid #ffffff2e;background:transparent;color:#d6dad3;cursor:pointer}
.nm-crop__actions .nm-action {border:0;cursor:pointer}
.nm-crop__actions .nm-action:disabled {opacity:.45;cursor:not-allowed}
.nm-crop-preview {display:block;width:120px;max-height:160px;object-fit:cover;margin-top:8px;border:1px solid #ffffff1f;border-top:2px solid #ffc00059}
.nm-crop .cropper-view-box {outline:2px solid #ffc000;outline-color:#ffc000cc}
.nm-crop .cropper-point,.nm-crop .cropper-line {background-color:#ffc000}
