/*
 * Enter any custom CSS here.
 * This file will not be overwritten by theme updates.
*/

/* ═══ Loading Screen ═══ */
.nc-loading-overlay {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: linear-gradient(135deg, #0a0a0a 0%, #1a1a2e 50%, #16213e 100%) !important;
    z-index: 999999 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 1 !important;
    transition: opacity 1s ease-out !important;
}
.nc-loading-overlay.nc-loading-fadeout {
    opacity: 0 !important;
    pointer-events: none !important;
}
.nc-loading-content {
    text-align: center !important;
    animation: ncIntroFadeIn 1s ease-out !important;
}
@keyframes ncIntroFadeIn {
    from { opacity: 0; transform: translateY(-30px); }
    to { opacity: 1; transform: translateY(0); }
}
.nc-loading-logo {
    width: 120px !important;
    height: 120px !important;
    margin-bottom: 1.5rem !important;
    animation: ncLogoPulse 2s ease-in-out infinite !important;
    filter: drop-shadow(0 0 30px rgba(107, 182, 255, 0.8)) !important;
}
@keyframes ncLogoPulse {
    0%, 100% { transform: scale(1); filter: drop-shadow(0 0 30px rgba(107, 182, 255, 0.8)); }
    50% { transform: scale(1.05); filter: drop-shadow(0 0 50px rgba(107, 182, 255, 1)); }
}
.nc-loading-title {
    font-size: 3.5rem !important;
    font-weight: 800 !important;
    background: linear-gradient(135deg, #6bb6ff, #4a9fff, #ffffff) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
    margin-bottom: 0.5rem !important;
    letter-spacing: 2px !important;
}
.nc-loading-subtitle {
    font-size: 1.2rem !important;
    color: rgba(255, 255, 255, 0.8) !important;
    margin-bottom: 2rem !important;
    letter-spacing: 1px !important;
}
@media (max-width: 768px) {
    .nc-loading-title { font-size: 2.5rem !important; }
    .nc-loading-logo { width: 80px !important; height: 80px !important; }
}


/* ═══ Menu Showcase Section ═══ */
section.nc-menu-section {
    padding: 5rem 2rem !important;
    max-width: 1400px !important;
    margin: 0 auto !important;
    background: transparent !important;
}

section.nc-menu-section .nc-section-title {
    text-align: center !important;
    margin-bottom: 3rem !important;
}

section.nc-menu-section .nc-section-title h2 {
    font-size: 2.8rem !important;
    font-weight: 700 !important;
    color: #fff !important;
    margin-bottom: 0.75rem !important;
    text-align: center !important;
}

section.nc-menu-section .nc-section-title p {
    font-size: 1.05rem !important;
    color: #b7c0d2 !important;
    line-height: 1.6 !important;
}

section.nc-menu-section .nc-disclaimer {
    display: inline-block !important;
    margin-top: 0.75rem !important;
    padding: 0.45rem 1.1rem !important;
    background: rgba(107,182,255,0.12) !important;
    border: 1px solid rgba(107,182,255,0.35) !important;
    border-radius: 999px !important;
    color: #6bb6ff !important;
    font-size: 0.82rem !important;
    letter-spacing: 0.02em !important;
}

/* ═══ Grid — force 3 columns ═══ */
.nc-menu-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 2rem !important;
    margin-top: 3rem !important;
    flex-wrap: unset !important;
}

/* ═══ Card — force vertical column layout ═══ */
.nc-menu-card {
    background: rgba(255, 255, 255, 0.03) !important;
    border-radius: 15px !important;
    overflow: hidden !important;
    border: 1px solid rgba(255, 255, 255, 0.06) !important;
    backdrop-filter: blur(6px) !important;
    -webkit-backdrop-filter: blur(6px) !important;
    transition: all 0.3s !important;
    text-decoration: none !important;
    color: inherit !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    box-shadow: none !important;
}

.nc-menu-card:hover {
    transform: translateY(-8px) !important;
    border-color: rgba(107, 182, 255, 0.3) !important;
    box-shadow: 0 12px 40px rgba(107, 182, 255, 0.15) !important;
    color: inherit !important;
    text-decoration: none !important;
}

/* ═══ Thumbnail — force aspect ratio box ═══ */
.nc-thumb {
    position: relative !important;
    width: 100% !important;
    padding-top: 60% !important;
    background: rgba(12, 14, 24, 0.9) !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
    display: block !important;
}

.nc-thumb-inner {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    display: flex !important;
    flex-direction: row !important;
    font-size: 5px !important;
    color: #c8d0e0 !important;
    overflow: hidden !important;
}

/* ═══ Thumb Overlay — "View Full Menu" button ═══ */
.nc-thumb-overlay {
    position: absolute !important;
    inset: 0 !important;
    background: rgba(0, 0, 0, 0.55) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 0 !important;
    transition: opacity 0.3s !important;
    z-index: 5 !important;
}

.nc-thumb:hover .nc-thumb-overlay {
    opacity: 1 !important;
}

.nc-thumb-overlay .nc-view-btn {
    padding: 0.6rem 1.4rem !important;
    background: linear-gradient(135deg, #6bb6ff, #4a9fff) !important;
    color: #0f1419 !important;
    font-weight: 700 !important;
    font-size: 0.85rem !important;
    border: none !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    transition: opacity 0.2s !important;
    letter-spacing: 0.02em !important;
}

.nc-thumb-overlay .nc-view-btn:hover {
    opacity: 0.85 !important;
}

/* ═══ Menu 1: ModSquad / Internal Plus ═══ */
.nc-m1-sidebar {
    width: 22% !important;
    min-width: 22% !important;
    background: rgba(20, 18, 35, 0.95) !important;
    padding: 6px 4px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
    border-right: 1px solid rgba(255,255,255,0.06) !important;
}

.nc-m1-brand {
    text-align: center !important;
    padding: 4px 2px 6px !important;
    font-weight: 700 !important;
    font-size: 6px !important;
    letter-spacing: 0.3px !important;
}

.nc-m1-brand .mod { color: #c084fc !important; }
.nc-m1-brand .squad { color: #e2e8f0 !important; }
.nc-m1-brand .club { color: #64748b !important; }

.nc-m1-nav-btn {
    background: rgba(255,255,255,0.04) !important;
    border: 1px solid rgba(255,255,255,0.06) !important;
    border-radius: 3px !important;
    padding: 3px 4px !important;
    font-size: 4.5px !important;
    color: #94a3b8 !important;
    text-align: left !important;
}

.nc-m1-nav-btn.active {
    background: linear-gradient(135deg, rgba(139,92,246,0.3), rgba(107,182,255,0.2)) !important;
    border-color: rgba(139,92,246,0.4) !important;
    color: #e2e8f0 !important;
}

.nc-m1-main {
    flex: 1 !important;
    padding: 6px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    min-width: 0 !important;
}

.nc-m1-note {
    background: rgba(107,182,255,0.08) !important;
    border: 1px solid rgba(107,182,255,0.2) !important;
    border-radius: 2px !important;
    padding: 2px 4px !important;
    font-size: 3.5px !important;
    color: #6bb6ff !important;
    text-align: center !important;
}

.nc-m1-panels {
    display: flex !important;
    flex-direction: row !important;
    gap: 4px !important;
    flex: 1 !important;
}

.nc-m1-panel {
    flex: 1 !important;
    background: rgba(255,255,255,0.02) !important;
    border: 1px solid rgba(255,255,255,0.05) !important;
    border-radius: 4px !important;
    overflow: hidden !important;
}

.nc-m1-panel-title {
    padding: 3px 5px !important;
    font-size: 4.5px !important;
    font-weight: 600 !important;
    color: #e2e8f0 !important;
    border-bottom: 1px solid rgba(255,255,255,0.05) !important;
    background: rgba(255,255,255,0.02) !important;
}

.nc-m1-panel-body {
    padding: 4px 5px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
}

.nc-m1-row {
    display: flex !important;
    align-items: center !important;
    gap: 3px !important;
    font-size: 4px !important;
    color: #94a3b8 !important;
}

.nc-m1-check {
    width: 5px !important;
    height: 5px !important;
    min-width: 5px !important;
    min-height: 5px !important;
    border-radius: 1px !important;
    border: 1px solid rgba(139,92,246,0.5) !important;
    flex-shrink: 0 !important;
    display: inline-block !important;
    background: transparent !important;
}

.nc-m1-check.on {
    background: linear-gradient(135deg, #8b5cf6, #6366f1) !important;
    border-color: #8b5cf6 !important;
}

.nc-m1-slider {
    height: 2px !important;
    background: rgba(255,255,255,0.08) !important;
    border-radius: 1px !important;
    margin-top: 1px !important;
    width: 100% !important;
}

.nc-m1-slider-fill {
    height: 100% !important;
    background: linear-gradient(90deg, #8b5cf6, #6bb6ff) !important;
    border-radius: 1px !important;
    display: block !important;
}

.nc-m1-keybind {
    margin-left: auto !important;
    background: rgba(255,255,255,0.06) !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    border-radius: 2px !important;
    padding: 1px 3px !important;
    font-size: 3.5px !important;
    color: #64748b !important;
}

/* ═══ Menu 2: Nordic External ═══ */
.nc-m2-sidebar {
    width: 18% !important;
    min-width: 18% !important;
    background: rgba(15, 20, 30, 0.95) !important;
    padding: 4px 3px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    border-right: 1px solid rgba(95,179,211,0.1) !important;
}

.nc-m2-sidebar-btn {
    background: rgba(255,255,255,0.03) !important;
    border: 1px solid rgba(255,255,255,0.04) !important;
    border-radius: 3px !important;
    padding: 3px 3px !important;
    font-size: 3.5px !important;
    color: #64748b !important;
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 1px !important;
}

.nc-m2-sidebar-btn .ico { font-size: 5px !important; }

.nc-m2-sidebar-btn.active {
    background: rgba(95,179,211,0.15) !important;
    border-color: rgba(95,179,211,0.3) !important;
    color: #5fb3d3 !important;
}

.nc-m2-main {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
}

.nc-m2-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 4px 6px !important;
    border-bottom: 1px solid rgba(255,255,255,0.05) !important;
}

.nc-m2-title {
    font-size: 5.5px !important;
    font-weight: 700 !important;
    color: #5fb3d3 !important;
}

.nc-m2-search {
    width: 35% !important;
    height: 7px !important;
    background: rgba(255,255,255,0.04) !important;
    border: 1px solid rgba(255,255,255,0.08) !important;
    border-radius: 2px !important;
}

.nc-m2-subtabs {
    display: flex !important;
    flex-direction: row !important;
    gap: 2px !important;
    padding: 3px 6px !important;
    border-bottom: 1px solid rgba(255,255,255,0.04) !important;
}

.nc-m2-subtab {
    padding: 2px 5px !important;
    font-size: 3.5px !important;
    color: #64748b !important;
    border-radius: 2px !important;
    display: inline-block !important;
}

.nc-m2-subtab.active {
    background: rgba(95,179,211,0.15) !important;
    color: #5fb3d3 !important;
}

.nc-m2-panels {
    display: flex !important;
    flex-direction: row !important;
    gap: 4px !important;
    padding: 5px 6px !important;
    flex: 1 !important;
}

.nc-m2-panel {
    flex: 1 !important;
    background: rgba(255,255,255,0.02) !important;
    border: 1px solid rgba(255,255,255,0.05) !important;
    border-radius: 3px !important;
    overflow: hidden !important;
}

.nc-m2-panel-header {
    padding: 3px 4px !important;
    font-size: 4px !important;
    font-weight: 600 !important;
    color: #5fb3d3 !important;
    border-bottom: 1px solid rgba(255,255,255,0.05) !important;
    display: flex !important;
    align-items: center !important;
    gap: 2px !important;
}

.nc-m2-panel-body {
    padding: 3px 4px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
}

.nc-m2-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    font-size: 4px !important;
    color: #94a3b8 !important;
}

.nc-m2-toggle {
    width: 10px !important;
    height: 5px !important;
    min-width: 10px !important;
    min-height: 5px !important;
    border-radius: 3px !important;
    background: rgba(255,255,255,0.1) !important;
    position: relative !important;
    flex-shrink: 0 !important;
    display: inline-block !important;
}

.nc-m2-toggle.on {
    background: rgba(95,179,211,0.4) !important;
}

.nc-m2-toggle::after {
    content: '' !important;
    position: absolute !important;
    top: 0.5px !important;
    left: 1px !important;
    width: 4px !important;
    height: 4px !important;
    border-radius: 50% !important;
    background: #64748b !important;
}

.nc-m2-toggle.on::after {
    left: 5px !important;
    background: #5fb3d3 !important;
}

.nc-m2-slider {
    height: 2px !important;
    background: rgba(255,255,255,0.08) !important;
    border-radius: 1px !important;
    margin-top: 1px !important;
    width: 100% !important;
}

.nc-m2-slider-fill {
    height: 100% !important;
    background: linear-gradient(90deg, #5fb3d3, #4a9fbb) !important;
    border-radius: 1px !important;
    display: block !important;
}

/* ═══ Card Info ═══ */
.nc-card-info {
    padding: 1.5rem !important;
    background: transparent !important;
}

.nc-card-info h3 {
    font-size: 1.3rem !important;
    font-weight: 700 !important;
    color: #fff !important;
    margin-bottom: 0.5rem !important;
}

.nc-card-info p {
    font-size: 0.92rem !important;
    color: #b7c0d2 !important;
    line-height: 1.6 !important;
}

.nc-card-info .nc-note {
    font-size: 0.75rem !important;
    color: #6b7280 !important;
    margin-top: 0.5rem !important;
    font-style: italic !important;
}

.nc-tag {
    display: inline-block !important;
    background: rgba(107, 182, 255, 0.15) !important;
    color: #6bb6ff !important;
    padding: 0.3rem 0.8rem !important;
    border-radius: 6px !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    margin-top: 0.8rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

.nc-purchase-link {
    display: inline-block !important;
    margin-top: 1rem !important;
    padding: 0.6rem 1.4rem !important;
    background: linear-gradient(135deg, #6bb6ff, #4a9fff) !important;
    color: #0f1419 !important;
    font-weight: 700 !important;
    font-size: 0.9rem !important;
    border-radius: 8px !important;
    text-decoration: none !important;
    transition: opacity 0.2s !important;
}

.nc-purchase-link:hover {
    opacity: 0.85 !important;
    color: #0f1419 !important;
}

/* Coming Soon */
.nc-menu-card.nc-coming-soon {
    opacity: 0.5 !important;
    cursor: not-allowed !important;
}

.nc-coming-soon .nc-thumb-inner {
    background: rgba(107, 182, 255, 0.06) !important;
    align-items: center !important;
    justify-content: center !important;
}

.nc-coming-soon-text {
    color: #6bb6ff !important;
    font-size: 1.2rem !important;
    font-weight: 600 !important;
}

/* ═══ Responsive ═══ */
@media (max-width: 1024px) {
    .nc-menu-grid { grid-template-columns: repeat(2, 1fr) !important; }
}

@media (max-width: 768px) {
    .nc-menu-grid { grid-template-columns: 1fr !important; }
    section.nc-menu-section .nc-section-title h2 { font-size: 2rem !important; }
}

/* ═══ Menu Preview Modal ═══ */
.nc-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 99999 !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
}
.nc-modal.nc-modal-open {
    display: flex !important;
}

.nc-modal-backdrop {
    position: absolute !important;
    inset: 0 !important;
    background: rgba(0, 0, 0, 0.75) !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
}

.nc-modal-content {
    position: relative !important;
    width: 90vw !important;
    height: 85vh !important;
    max-width: 1200px !important;
    background: #0f1419 !important;
    border-radius: 16px !important;
    border: 1px solid rgba(107, 182, 255, 0.2) !important;
    box-shadow: 0 25px 80px rgba(0, 0, 0, 0.6) !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    z-index: 1 !important;
}

.nc-modal-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 1rem 1.5rem !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    background: rgba(15, 20, 25, 0.95) !important;
    flex-shrink: 0 !important;
}

.nc-modal-title {
    font-size: 1rem !important;
    font-weight: 600 !important;
    color: #e2e8f0 !important;
}

.nc-modal-close {
    font-size: 1.8rem !important;
    color: #94a3b8 !important;
    text-decoration: none !important;
    line-height: 1 !important;
    padding: 0 0.3rem !important;
    transition: color 0.2s !important;
    cursor: pointer !important;
}

.nc-modal-close:hover {
    color: #fff !important;
}

.nc-modal-body {
    flex: 1 !important;
    overflow: auto !important;
    display: flex !important;
    flex-direction: column !important;
}

/* ══════════════════════════════════════════════════════════════
   MENU 1 (fm1-) — ModSquad / Rust Internal Plus
   Namespaced from menu.css
   ══════════════════════════════════════════════════════════════ */

/* Custom properties for accent color animation */
.nc-modal-body .fm1-shell {
    --fm1-accent: #00E7F3;
    --fm1-accent-soft: rgba(0, 231, 243, 0.2);
    --fm1-accent-soft-2: rgba(0, 231, 243, 0.12);
    --fm1-accent-border: rgba(0, 231, 243, 0.6);
}

@keyframes fm1-accent-shift {
    0% {
        --fm1-accent: #00E7F3;
        --fm1-accent-soft: rgba(0, 231, 243, 0.2);
        --fm1-accent-soft-2: rgba(0, 231, 243, 0.12);
        --fm1-accent-border: rgba(0, 231, 243, 0.6);
    }
    50% {
        --fm1-accent: #C00077;
        --fm1-accent-soft: rgba(192, 0, 119, 0.2);
        --fm1-accent-soft-2: rgba(192, 0, 119, 0.12);
        --fm1-accent-border: rgba(192, 0, 119, 0.6);
    }
    100% {
        --fm1-accent: #00E7F3;
        --fm1-accent-soft: rgba(0, 231, 243, 0.2);
        --fm1-accent-soft-2: rgba(0, 231, 243, 0.12);
        --fm1-accent-border: rgba(0, 231, 243, 0.6);
    }
}

.nc-modal-body .fm1-shell {
    width: 100% !important;
    height: 100% !important;
    display: grid !important;
    grid-template-columns: 180px 1fr !important;
    background: linear-gradient(135deg, rgba(12, 14, 24, 0.98), rgba(18, 12, 30, 0.98)) !important;
    pointer-events: auto !important;
    overflow: hidden !important;
    font-family: "Inter", system-ui, -apple-system, sans-serif !important;
    animation: fm1-accent-shift 8s ease-in-out infinite !important;
    flex: 1 !important;
}

/* Sidebar */
.nc-modal-body .fm1-sidebar {
    display: flex !important;
    flex-direction: column !important;
    background: rgba(8, 10, 18, 0.8) !important;
    border-right: 1px solid rgba(140, 100, 255, 0.08) !important;
    padding: 22px 14px 18px !important;
    gap: 16px !important;
}

.nc-modal-body .fm1-brand {
    font-weight: 800 !important;
    font-size: 0.9rem !important;
    letter-spacing: 0.03em !important;
    padding-bottom: 14px !important;
    border-bottom: 1px solid rgba(140, 100, 255, 0.1) !important;
}

.nc-modal-body .fm1-brand span { font-weight: 800 !important; }
.nc-modal-body .fm1-brand .fm1-brand-mod,
.nc-modal-body .fm1-brand .fm1-brand-dotclub { color: #ff4bd2 !important; }
.nc-modal-body .fm1-brand .fm1-brand-squad { color: #00E7F3 !important; }

.nc-modal-body .fm1-nav {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
}

.nc-modal-body .fm1-nav-btn {
    text-align: left !important;
    padding: 10px 14px !important;
    border-radius: 8px !important;
    background: transparent !important;
    border: 1px solid transparent !important;
    color: rgba(200, 210, 240, 0.7) !important;
    font-size: 0.78rem !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    transition: all 0.18s ease !important;
}

.nc-modal-body .fm1-nav-btn:hover {
    color: rgba(220, 225, 255, 0.95) !important;
    background: rgba(140, 100, 255, 0.06) !important;
    border-color: rgba(140, 100, 255, 0.12) !important;
}

.nc-modal-body .fm1-nav-btn.active {
    color: rgba(230, 220, 255, 1) !important;
    background: linear-gradient(135deg, var(--fm1-accent-soft, rgba(0,231,243,0.2)), rgba(10, 12, 22, 0.08)) !important;
    border-color: var(--fm1-accent-border, rgba(0,231,243,0.6)) !important;
    font-weight: 600 !important;
}

/* Main content area */
.nc-modal-body .fm1-main {
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    height: 100% !important;
}

.nc-modal-body .fm1-note {
    padding: 10px 22px 6px !important;
    font-size: 0.72rem !important;
    color: rgba(170, 180, 210, 0.7) !important;
}

.nc-modal-body .fm1-tab {
    display: none !important;
    flex-direction: column !important;
    height: 100% !important;
    overflow: hidden !important;
    min-height: 0 !important;
}

.nc-modal-body .fm1-tab.active {
    display: flex !important;
}

/* Sub-tabs */
.nc-modal-body .fm1-subtabs {
    display: flex !important;
    gap: 2px !important;
    padding: 0 22px !important;
    border-bottom: 1px solid rgba(140, 100, 255, 0.08) !important;
    flex-shrink: 0 !important;
    flex-wrap: wrap !important;
    row-gap: 2px !important;
}

.nc-modal-body .fm1-subtab {
    padding: 10px 14px !important;
    background: transparent !important;
    border: none !important;
    border-bottom: 2px solid transparent !important;
    color: rgba(180, 190, 220, 0.6) !important;
    font-size: 0.78rem !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    transition: all 0.18s ease !important;
}

.nc-modal-body .fm1-subtab:hover {
    color: rgba(220, 225, 255, 0.9) !important;
}

.nc-modal-body .fm1-subtab.active {
    color: rgba(230, 220, 255, 1) !important;
    border-bottom-color: var(--fm1-accent-border, rgba(0,231,243,0.6)) !important;
    font-weight: 600 !important;
}

.nc-modal-body .fm1-subtab-content {
    display: none !important;
    flex: 1 !important;
    overflow-y: auto !important;
    min-height: 0 !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
    padding: 18px 22px 46px !important;
}

.nc-modal-body .fm1-subtab-content::-webkit-scrollbar { width: 0 !important; height: 0 !important; }

.nc-modal-body .fm1-subtab-content.active {
    display: block !important;
}

/* Panels */
.nc-modal-body .fm1-panels {
    display: flex !important;
    gap: 16px !important;
}

.nc-modal-body .fm1-panels.fm1-panels-radar,
.nc-modal-body .fm1-panels.fm1-panels-minimap,
.nc-modal-body .fm1-panels.fm1-panels-config {
    align-items: flex-start !important;
}

.nc-modal-body .fm1-panels > .fm1-panel {
    flex: 1 !important;
}

.nc-modal-body .fm1-panels-column {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
}

.nc-modal-body .fm1-panel {
    background: rgba(14, 16, 28, 0.7) !important;
    border: 1px solid rgba(140, 100, 255, 0.08) !important;
    border-radius: 10px !important;
    overflow: visible !important;
    position: relative !important;
}

.nc-modal-body .fm1-panel-title {
    font-size: 0.72rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    color: rgba(180, 160, 255, 0.8) !important;
    padding: 12px 16px 10px !important;
    border-bottom: 1px solid rgba(140, 100, 255, 0.06) !important;
    margin: 0 !important;
}

.nc-modal-body .fm1-panel-body {
    padding: 12px 16px 16px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}

/* Rows */
.nc-modal-body .fm1-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    min-height: 28px !important;
}

/* Checkboxes */
.nc-modal-body .fm1-check {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    font-size: 0.8rem !important;
    color: rgba(200, 210, 235, 0.85) !important;
    cursor: pointer !important;
    user-select: none !important;
    white-space: nowrap !important;
}

.nc-modal-body .fm1-check input { display: none !important; }

.nc-modal-body .fm1-checkmark {
    width: 18px !important;
    height: 18px !important;
    border-radius: 4px !important;
    border: 1.5px solid rgba(140, 100, 255, 0.25) !important;
    background: rgba(10, 12, 22, 0.6) !important;
    flex-shrink: 0 !important;
    display: grid !important;
    place-items: center !important;
    transition: all 0.18s ease !important;
    position: relative !important;
}

.nc-modal-body .fm1-checkmark::after { content: "" !important; display: none !important; }

.nc-modal-body .fm1-check input:checked ~ .fm1-checkmark {
    border-color: transparent !important;
    background: var(--fm1-accent, #00E7F3) !important;
}

/* Keybinds */
.nc-modal-body .fm1-keybind {
    padding: 4px 10px !important;
    border-radius: 6px !important;
    background: rgba(10, 12, 22, 0.7) !important;
    border: 1px solid rgba(140, 100, 255, 0.12) !important;
    color: rgba(180, 190, 230, 0.7) !important;
    font-size: 0.68rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.05em !important;
    white-space: nowrap !important;
}

/* Select / Dropdowns */
.nc-modal-body .fm1-group {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
}

.nc-modal-body .fm1-label {
    font-size: 0.74rem !important;
    font-weight: 600 !important;
    color: rgba(200, 210, 240, 0.85) !important;
}

.nc-modal-body .fm1-select {
    position: relative !important;
    cursor: pointer !important;
}

.nc-modal-body .fm1-select-value {
    display: flex !important;
    align-items: center !important;
    padding: 8px 12px !important;
    border-radius: 8px !important;
    background: rgba(10, 12, 22, 0.7) !important;
    border: 1px solid rgba(140, 100, 255, 0.12) !important;
    color: rgba(200, 210, 240, 0.9) !important;
    font-size: 0.78rem !important;
    transition: all 0.15s ease !important;
}

.nc-modal-body .fm1-select:hover .fm1-select-value {
    border-color: rgba(140, 100, 255, 0.3) !important;
}

.nc-modal-body .fm1-select-arrow {
    position: absolute !important;
    right: 12px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: rgba(140, 100, 255, 0.5) !important;
    font-size: 0.7rem !important;
    pointer-events: none !important;
}

.nc-modal-body .fm1-select.open .fm1-select-arrow {
    transform: translateY(-50%) rotate(180deg) !important;
}

.nc-modal-body .fm1-select-dropdown {
    position: absolute !important;
    top: calc(100% + 4px) !important;
    left: 0 !important;
    right: 0 !important;
    background: rgba(14, 16, 28, 0.98) !important;
    border: 1px solid rgba(140, 100, 255, 0.16) !important;
    border-radius: 6px !important;
    padding: 6px 0 !important;
    z-index: 200 !important;
    display: none !important;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.5) !important;
    max-height: 180px !important;
    overflow-y: auto !important;
}

.nc-modal-body .fm1-select.open .fm1-select-dropdown {
    display: block !important;
}

.nc-modal-body .fm1-select-option {
    padding: 9px 12px !important;
    font-size: 0.76rem !important;
    color: rgba(190, 200, 230, 0.82) !important;
    cursor: pointer !important;
    transition: all 0.12s ease !important;
}

.nc-modal-body .fm1-select-option:hover {
    background: rgba(140, 100, 255, 0.08) !important;
    color: rgba(230, 225, 255, 0.95) !important;
}

.nc-modal-body .fm1-select-option.active {
    background: var(--fm1-accent-soft-2, rgba(0,231,243,0.12)) !important;
    color: rgba(210, 190, 255, 1) !important;
    font-weight: 600 !important;
}

/* Sliders */
.nc-modal-body .fm1-slider-head {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
}

.nc-modal-body .fm1-slider-val {
    font-size: 0.72rem !important;
    font-weight: 600 !important;
    color: rgba(200, 180, 255, 0.9) !important;
    min-width: 36px !important;
    text-align: right !important;
}

.nc-modal-body .fm1-slider {
    position: relative !important;
    padding: 6px 0 !important;
    cursor: pointer !important;
    user-select: none !important;
    touch-action: none !important;
}

.nc-modal-body .fm1-slider-track {
    position: relative !important;
    height: 6px !important;
    background: rgba(20, 22, 36, 0.8) !important;
    border-radius: 999px !important;
    overflow: visible !important;
}

.nc-modal-body .fm1-slider-fill {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    height: 100% !important;
    border-radius: 999px !important;
    background: var(--fm1-accent, #00E7F3) !important;
    pointer-events: none !important;
}

.nc-modal-body .fm1-slider-thumb {
    position: absolute !important;
    top: 50% !important;
    width: 16px !important;
    height: 16px !important;
    border-radius: 50% !important;
    background: var(--fm1-accent, #00E7F3) !important;
    border: 2px solid var(--fm1-accent-border, rgba(0,231,243,0.6)) !important;
    transform: translate(-50%, -50%) !important;
}

/* Color picker */
.nc-modal-body .fm1-color-picker {
    width: 24px !important;
    height: 24px !important;
    border: 2px solid rgba(140, 100, 255, 0.2) !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
}

.nc-modal-body .fm1-color-preview {
    width: 100% !important;
    height: 100% !important;
    border-radius: 50% !important;
}

/* Multiselect Dropdown */
.nc-modal-body .fm1-multiselect-dropdown {
    position: relative !important;
}

.nc-modal-body .fm1-multiselect-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 0.5rem 0.7rem !important;
    background: rgba(30, 34, 55, 0.7) !important;
    border: 1px solid rgba(140, 100, 255, 0.15) !important;
    border-radius: 6px !important;
    color: rgba(200, 200, 220, 0.9) !important;
    font-size: 0.78rem !important;
    cursor: pointer !important;
}

.nc-modal-body .fm1-multiselect-arrow {
    font-size: 0.65rem !important;
    color: rgba(140, 100, 255, 0.7) !important;
    transition: transform 0.2s !important;
}

.nc-modal-body .fm1-multiselect-dropdown.open .fm1-multiselect-arrow {
    transform: rotate(180deg) !important;
}

.nc-modal-body .fm1-multiselect-body {
    display: none !important;
    max-height: 150px !important;
    overflow-y: auto !important;
    margin-top: 4px !important;
    background: rgba(20, 24, 40, 0.95) !important;
    border: 1px solid rgba(140, 100, 255, 0.15) !important;
    border-radius: 6px !important;
}

.nc-modal-body .fm1-multiselect-dropdown.open .fm1-multiselect-body {
    display: block !important;
}

.nc-modal-body .fm1-multiselect-item {
    padding: 0.45rem 0.7rem !important;
    font-size: 0.78rem !important;
    color: rgba(200, 210, 240, 0.75) !important;
    cursor: pointer !important;
    transition: all 0.12s ease !important;
    border-bottom: 1px solid rgba(140, 100, 255, 0.08) !important;
}

.nc-modal-body .fm1-multiselect-item:last-child { border-bottom: none !important; }

.nc-modal-body .fm1-multiselect-item:hover {
    background: rgba(140, 100, 255, 0.08) !important;
    color: rgba(230, 225, 255, 0.95) !important;
}

.nc-modal-body .fm1-multiselect-item.active {
    color: rgba(60, 220, 240, 1) !important;
    background: rgba(60, 220, 240, 0.08) !important;
}

/* Player list */
.nc-modal-body .fm1-panel-playerlist .fm1-panel-body { gap: 10px !important; }

.nc-modal-body .fm1-playerlist-toolbar {
    background: rgba(10, 12, 22, 0.7) !important;
    border: 1px solid rgba(140, 100, 255, 0.08) !important;
    border-radius: 8px !important;
    padding: 6px 10px !important;
}

.nc-modal-body .fm1-playerlist-search {
    width: 100% !important;
    background: transparent !important;
    border: none !important;
    color: rgba(220, 230, 255, 0.9) !important;
    font-size: 0.74rem !important;
    outline: none !important;
}

.nc-modal-body .fm1-playerlist-table {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
}

.nc-modal-body .fm1-playerlist-header {
    display: grid !important;
    grid-template-columns: 1.1fr 1.5fr 1.1fr 0.6fr !important;
    padding: 6px 10px !important;
    background: rgba(10, 12, 22, 0.85) !important;
    border: 1px solid rgba(140, 100, 255, 0.1) !important;
    border-radius: 6px !important;
    font-size: 0.7rem !important;
    color: rgba(200, 210, 240, 0.8) !important;
}

.nc-modal-body .fm1-playerlist-rows {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
}

.nc-modal-body .fm1-playerlist-row {
    display: grid !important;
    grid-template-columns: 1.1fr 1.5fr 1.1fr 0.6fr !important;
    padding: 6px 10px !important;
    background: rgba(12, 14, 24, 0.8) !important;
    border: 1px solid rgba(140, 100, 255, 0.06) !important;
    border-radius: 6px !important;
    font-size: 0.74rem !important;
    color: rgba(220, 230, 255, 0.9) !important;
}

/* Action buttons */
.nc-modal-body .fm1-action-btn {
    flex: 1 !important;
    padding: 8px 14px !important;
    border-radius: 8px !important;
    background: rgba(140, 100, 255, 0.12) !important;
    border: 1px solid rgba(140, 100, 255, 0.18) !important;
    color: rgba(220, 210, 255, 0.9) !important;
    font-size: 0.74rem !important;
    font-weight: 600 !important;
    cursor: pointer !important;
}

.nc-modal-body .fm1-config-actions {
    display: flex !important;
    gap: 8px !important;
}

.nc-modal-body .fm1-config-actions.fm1-config-actions-column {
    flex-direction: column !important;
}

.nc-modal-body .fm1-config-info {
    margin-top: 6px !important;
    font-size: 0.72rem !important;
    color: rgba(200, 210, 240, 0.7) !important;
}

.nc-modal-body .fm1-waypoint-btn {
    width: 100% !important;
    padding: 10px 14px !important;
    font-size: 0.76rem !important;
}

.nc-modal-body .fm1-waypoint-empty {
    font-size: 0.72rem !important;
    color: rgba(200, 210, 240, 0.75) !important;
}

/* fm1 responsive */
@media (max-width: 700px) {
    .nc-modal-body .fm1-shell {
        grid-template-columns: 1fr !important;
    }
    .nc-modal-body .fm1-sidebar {
        flex-direction: row !important;
        flex-wrap: wrap !important;
        padding: 12px !important;
        gap: 8px !important;
        border-right: none !important;
        border-bottom: 1px solid rgba(140, 100, 255, 0.08) !important;
    }
    .nc-modal-body .fm1-nav {
        flex-direction: row !important;
        flex-wrap: wrap !important;
        gap: 4px !important;
    }
    .nc-modal-body .fm1-panels {
        flex-direction: column !important;
    }
}


/* ══════════════════════════════════════════════════════════════
   MENU 2 (fm2-) — Nordic External / Rust Private
   Namespaced from nordic-external.css
   ══════════════════════════════════════════════════════════════ */

.nc-modal-body .fm2-container {
    width: 100% !important;
    height: 100% !important;
    background: #1a1f2e !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    color: #e5e7eb !important;
    flex: 1 !important;
}

/* Header */
.nc-modal-body .fm2-header {
    background: #151a26 !important;
    padding: 1rem 1.5rem !important;
    display: flex !important;
    align-items: center !important;
    gap: 2rem !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
    flex-shrink: 0 !important;
}

.nc-modal-body .fm2-title {
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    color: #e5e7eb !important;
    white-space: nowrap !important;
}

.nc-modal-body .fm2-search {
    flex: 1 !important;
    background: #1a1f2e !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 4px !important;
    padding: 0.5rem 1rem !important;
    color: #9ca3af !important;
    font-size: 0.85rem !important;
    outline: none !important;
}

.nc-modal-body .fm2-search::placeholder { color: #6b7280 !important; }

/* Content layout */
.nc-modal-body .fm2-content {
    display: flex !important;
    flex: 1 !important;
    overflow: hidden !important;
}

/* Sidebar */
.nc-modal-body .fm2-sidebar {
    width: 180px !important;
    background: #151a26 !important;
    border-right: 1px solid rgba(255, 255, 255, 0.05) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0.25rem !important;
    padding: 0.75rem 0.5rem !important;
    overflow-y: auto !important;
    flex-shrink: 0 !important;
}

.nc-modal-body .fm2-sidebar-btn {
    background: transparent !important;
    border: none !important;
    color: #9ca3af !important;
    padding: 0.7rem 0.8rem !important;
    border-radius: 6px !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
    display: flex !important;
    align-items: center !important;
    gap: 0.6rem !important;
    text-align: left !important;
    letter-spacing: 0.03em !important;
}

.nc-modal-body .fm2-sidebar-btn .fm2-icon {
    font-size: 1rem !important;
    opacity: 0.7 !important;
    font-style: normal !important;
}

.nc-modal-body .fm2-sidebar-btn:hover {
    background: rgba(59, 130, 246, 0.1) !important;
    color: #e5e7eb !important;
}

.nc-modal-body .fm2-sidebar-btn.active {
    background: #3b5675 !important;
    color: #ffffff !important;
}

/* Main panel */
.nc-modal-body .fm2-main {
    flex: 1 !important;
    background: #1a1f2e !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
}

/* Sections */
.nc-modal-body .fm2-section {
    display: none !important;
    flex-direction: column !important;
    height: 100% !important;
    overflow: hidden !important;
}

.nc-modal-body .fm2-section.active {
    display: flex !important;
}

/* Subtabs */
.nc-modal-body .fm2-subtabs {
    display: flex !important;
    gap: 0.5rem !important;
    padding: 1rem 1.5rem 0.5rem !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
    background: #151a26 !important;
    flex-shrink: 0 !important;
}

.nc-modal-body .fm2-subtab {
    background: transparent !important;
    border: none !important;
    color: #6b7280 !important;
    padding: 0.6rem 1rem !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
    border-bottom: 2px solid transparent !important;
    letter-spacing: 0.05em !important;
}

.nc-modal-body .fm2-subtab:hover { color: #9ca3af !important; }

.nc-modal-body .fm2-subtab.active {
    color: #e5e7eb !important;
    border-bottom-color: #3b82f6 !important;
}

/* Subtab content */
.nc-modal-body .fm2-subtab-content {
    display: none !important;
    flex: 1 !important;
    overflow-y: auto !important;
    padding: 1.5rem !important;
}

.nc-modal-body .fm2-subtab-content.active {
    display: block !important;
}

/* Panels */
.nc-modal-body .fm2-panels {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 1.5rem !important;
}

.nc-modal-body .fm2-panel {
    background: #232936 !important;
    border: 1px solid rgba(255, 255, 255, 0.05) !important;
    border-radius: 6px !important;
    overflow: hidden !important;
}

.nc-modal-body .fm2-panel-header {
    background: rgba(59, 130, 246, 0.08) !important;
    padding: 0.75rem 1rem !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    color: #e5e7eb !important;
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
}

.nc-modal-body .fm2-panel-header .fm2-icon { opacity: 0.7 !important; font-style: normal !important; }

.nc-modal-body .fm2-panel-body {
    padding: 1rem !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0.75rem !important;
}

/* Control rows */
.nc-modal-body .fm2-control-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 1rem !important;
    font-size: 0.85rem !important;
    color: #d1d5db !important;
}

.nc-modal-body .fm2-controls {
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
}

/* Icon button */
.nc-modal-body .fm2-icon-btn {
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    color: #9ca3af !important;
    width: 24px !important;
    height: 24px !important;
    border-radius: 4px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    font-size: 0.75rem !important;
}

/* Toggle switch */
.nc-modal-body .fm2-toggle {
    position: relative !important;
    display: inline-block !important;
    width: 40px !important;
    height: 20px !important;
    cursor: pointer !important;
}

.nc-modal-body .fm2-toggle input { display: none !important; }

.nc-modal-body .fm2-toggle-slider {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: #374151 !important;
    border-radius: 20px !important;
    transition: 0.3s !important;
}

.nc-modal-body .fm2-toggle-slider::before {
    content: "" !important;
    position: absolute !important;
    height: 14px !important;
    width: 14px !important;
    left: 3px !important;
    bottom: 3px !important;
    background: #9ca3af !important;
    border-radius: 50% !important;
    transition: 0.3s !important;
}

.nc-modal-body .fm2-toggle input:checked + .fm2-toggle-slider {
    background: #3b82f6 !important;
}

.nc-modal-body .fm2-toggle input:checked + .fm2-toggle-slider::before {
    transform: translateX(20px) !important;
    background: #ffffff !important;
}

/* Dropdown */
.nc-modal-body .fm2-dropdown,
.nc-modal-body select.fm2-dropdown {
    background: #2d3748 !important;
    border: 1px solid rgba(59, 130, 246, 0.4) !important;
    color: #e5e7eb !important;
    padding: 0.5rem 0.8rem !important;
    border-radius: 4px !important;
    font-size: 0.85rem !important;
    cursor: pointer !important;
    outline: none !important;
    min-width: 140px !important;
    max-width: 100% !important;
}

.nc-modal-body .fm2-dropdown-btn {
    background: #1a1f2e !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    color: #9ca3af !important;
    padding: 0.4rem 0.8rem !important;
    border-radius: 4px !important;
    font-size: 0.75rem !important;
    cursor: pointer !important;
}

/* Color box */
.nc-modal-body .fm2-color-box {
    width: 24px !important;
    height: 24px !important;
    border-radius: 4px !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    cursor: pointer !important;
}

/* Pattern box */
.nc-modal-body .fm2-pattern-box {
    width: 24px !important;
    height: 24px !important;
    border-radius: 4px !important;
    background: #1a1f2e !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 1rem !important;
    color: #6b7280 !important;
}

/* Slider */
.nc-modal-body .fm2-slider-group {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.5rem !important;
}

.nc-modal-body .fm2-slider-label {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    font-size: 0.85rem !important;
    color: #d1d5db !important;
}

.nc-modal-body .fm2-slider-value {
    font-size: 0.8rem !important;
    color: #9ca3af !important;
    font-weight: 500 !important;
}

.nc-modal-body .fm2-slider {
    -webkit-appearance: none !important;
    width: 100% !important;
    height: 6px !important;
    border-radius: 3px !important;
    background: #374151 !important;
    outline: none !important;
    cursor: pointer !important;
}

.nc-modal-body .fm2-slider::-webkit-slider-thumb {
    -webkit-appearance: none !important;
    appearance: none !important;
    width: 14px !important;
    height: 14px !important;
    border-radius: 50% !important;
    background: #3b82f6 !important;
    cursor: pointer !important;
}

.nc-modal-body .fm2-slider::-moz-range-thumb {
    width: 14px !important;
    height: 14px !important;
    border-radius: 50% !important;
    background: #3b82f6 !important;
    cursor: pointer !important;
    border: none !important;
}

/* Config */
.nc-modal-body .fm2-config-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.5rem !important;
    margin-bottom: 1rem !important;
}

.nc-modal-body .fm2-config-item {
    background: rgba(255, 255, 255, 0.03) !important;
    padding: 0.75rem 1rem !important;
    border-radius: 4px !important;
    font-size: 0.85rem !important;
    color: #9ca3af !important;
    cursor: pointer !important;
    border: 1px solid transparent !important;
}

.nc-modal-body .fm2-config-item.active {
    background: rgba(59, 130, 246, 0.15) !important;
    color: #3b82f6 !important;
    border-color: rgba(59, 130, 246, 0.3) !important;
}

/* Action button */
.nc-modal-body .fm2-action-btn {
    background: #5fb3d3 !important;
    border: none !important;
    color: #0f1419 !important;
    padding: 0.75rem !important;
    border-radius: 6px !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    margin-top: 0.5rem !important;
    letter-spacing: 0.05em !important;
}

/* Setting label */
.nc-modal-body .fm2-setting-label {
    font-size: 0.8rem !important;
    color: #9ca3af !important;
    margin-bottom: 0.5rem !important;
    padding-bottom: 0.5rem !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
}

/* fm2 responsive */
@media (max-width: 1024px) {
    .nc-modal-body .fm2-panels {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 768px) {
    .nc-modal-body .fm2-sidebar {
        width: 60px !important;
    }
    .nc-modal-body .fm2-sidebar-btn span:not(.fm2-icon) {
        display: none !important;
    }
    .nc-modal-body .fm2-sidebar-btn {
        justify-content: center !important;
    }
}

/* Nordic pagination refresh */
.nc-pagination-wrap {
  width: 100%;
}

.nc-pagination {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0;
  padding: .35rem;
  border-radius: 16px;
  background: rgba(3, 7, 18, .72);
  border: 1px solid rgba(74,159,255,.16);
  box-shadow: 0 18px 46px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.05);
}

.nc-pagination .page-item {
  margin: 0;
}

.nc-pagination .page-item + .page-item {
  margin-left: .12rem;
}

.nc-pagination .page-link,
.nc-page-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 42px;
  padding: 0 .9rem;
  border-radius: 10px !important;
  border: 1px solid rgba(255,255,255,.06) !important;
  background: rgba(0,0,0,.26) !important;
  color: #dbeafe !important;
  font-weight: 700;
  text-decoration: none;
  box-shadow: none !important;
  transition: transform .18s ease, background .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease;
}

.nc-pagination .page-link:hover,
.nc-page-btn:hover {
  transform: translateY(-1px);
  background: rgba(59,130,246,.12) !important;
  border-color: rgba(96,165,250,.3) !important;
  color: #fff !important;
  box-shadow: 0 0 20px rgba(59,130,246,.14) !important;
}

.nc-pagination .page-item.active .page-link {
  background: linear-gradient(180deg, #7c83ff, #5ea6ff) !important;
  border-color: rgba(147,197,253,.55) !important;
  color: #fff !important;
  box-shadow: 0 0 24px rgba(96,165,250,.35) !important;
}

.nc-pagination .page-item.disabled .page-link,
.nc-page-btn.is-disabled {
  opacity: .45;
  pointer-events: none;
}

.nc-pagination-mobile {
  gap: .75rem;
}

.nc-page-btn-mobile {
  min-width: calc(50% - .4rem);
}


/* Blog list fallback/card polish */
.nc-blog-grid { margin-top: 1.5rem; }
.nc-blog-card {
  min-height: 100%;
  overflow: hidden;
  border-radius: 24px !important;
  background: radial-gradient(circle at 18% 0%, rgba(74,159,255,.12), transparent 42%), linear-gradient(180deg, rgba(15,23,42,.78), rgba(2,6,23,.58)) !important;
  border: 1px solid rgba(148,163,184,.18) !important;
  box-shadow: 0 22px 70px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.07) !important;
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.nc-blog-card:hover {
  transform: translateY(-6px);
  border-color: rgba(96,165,250,.45) !important;
  box-shadow: 0 24px 80px rgba(59,130,246,.14), 0 24px 70px rgba(0,0,0,.34) !important;
}
.nc-blog-card .card-body { padding: 1.2rem !important; }
.nc-blog-card .card-title { color:#fff; font-weight: 900; }
.nc-blog-card .text-muted { color: rgba(219,234,254,.68) !important; }
.nc-blog-card .card-img-top { min-height: 170px; background: linear-gradient(135deg, rgba(59,130,246,.16), rgba(15,23,42,.78)); }

/* Nordic-Private recreated menu preview */
.np-thumb-card {
  background: radial-gradient(circle at 20% 0%, rgba(137, 209, 255, .12), transparent 34%), #050807 !important;
  border-color: rgba(124, 194, 221, .22) !important;
}

.np-mini-menu {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 70% 0%, rgba(125, 196, 224, .08), transparent 30%),
    linear-gradient(135deg, #060908 0%, #0b0f0d 100%);
  color: #d6dad9;
  overflow: hidden;
  font-family: 'Inter', 'Satoshi', system-ui, sans-serif;
}

.np-mini-menu::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle, rgba(142, 216, 245, .55) 1px, transparent 1.5px),
    linear-gradient(30deg, transparent 0 48%, rgba(142,216,245,.18) 49%, transparent 50% 100%);
  background-size: 52px 52px, 120px 120px;
  opacity: .28;
  pointer-events: none;
}

.np-mini-top {
  position: relative;
  z-index: 1;
  height: 42px;
  display: grid;
  grid-template-columns: 96px 1fr;
  border-bottom: 1px solid rgba(255,255,255,.06);
  background: rgba(8, 13, 11, .82);
}

.np-mini-top strong,
.np-mini-top span {
  display: flex;
  align-items: center;
  padding: 0 14px;
  font-size: 11px;
}

.np-mini-top strong { color: #fff; border-right: 1px solid rgba(255,255,255,.06); }
.np-mini-top span { color: rgba(255,255,255,.48); }

.np-mini-body {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 54px 1fr;
  height: calc(100% - 42px);
}

.np-mini-rail {
  border-right: 1px solid rgba(255,255,255,.06);
  background: rgba(11, 16, 14, .7);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  padding-top: 18px;
}

.np-mini-rail span {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 5px;
  color: rgba(215, 229, 234, .5);
  font-size: 12px;
}

.np-mini-rail span.active {
  background: rgba(128, 190, 216, .12);
  color: #9fd9ee;
  box-shadow: 0 0 20px rgba(128, 190, 216, .12);
}

.np-mini-main { padding: 14px; }
.np-mini-tabs { display: flex; gap: 24px; height: 28px; align-items: flex-start; font-size: 11px; font-weight: 800; color: rgba(255,255,255,.46); }
.np-mini-tabs .active { color: #fff; position: relative; }
.np-mini-tabs .active::after { content:''; position:absolute; left:0; right:0; bottom:-8px; height:2px; background:#86c9e3; }
.np-mini-panels { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:18px; }
.np-mini-panel { min-height: 142px; background: rgba(24, 27, 25, .88); border:1px solid rgba(255,255,255,.05); border-radius:5px; padding:12px; }
.np-mini-panel b { display:block; font-size:12px; color:#dfe5e5; margin-bottom:12px; }
.np-mini-panel p { margin:0 0 9px; display:flex; justify-content:space-between; font-size:10px; color:rgba(255,255,255,.5); }
.np-mini-panel i { width:24px; height:13px; border-radius:99px; background:#111; border:1px solid rgba(255,255,255,.04); }

.nc-modal .np-modal-content {
  width: min(1180px, 96vw) !important;
  height: min(760px, 92vh) !important;
  background: #060908 !important;
  border-color: rgba(130, 205, 232, .22) !important;
  box-shadow: 0 35px 110px rgba(0,0,0,.74), 0 0 55px rgba(91, 180, 214, .11) !important;
}

.nc-modal-body .np-menu {
  height: 100% !important;
  width: 100% !important;
  background:
    radial-gradient(circle at 75% 0%, rgba(116, 192, 222, .08), transparent 32%),
    linear-gradient(180deg, #060908, #090d0c) !important;
  color: #d9dddd !important;
  overflow: hidden !important;
  font-family: 'Inter', 'Satoshi', system-ui, sans-serif !important;
  position: relative !important;
}

.nc-modal-body .np-menu::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background-image:
    radial-gradient(circle, rgba(142, 216, 245, .55) 1px, transparent 1.5px),
    linear-gradient(32deg, transparent 0 48%, rgba(142,216,245,.16) 49%, transparent 50% 100%);
  background-size: 64px 64px, 150px 150px;
  opacity: .24 !important;
  pointer-events: none !important;
  animation: npConstellation 18s linear infinite !important;
}

@keyframes npConstellation {
  from { background-position: 0 0, 0 0; }
  to { background-position: 64px 64px, 150px 150px; }
}

.nc-modal-body .np-menu > * { position: relative !important; z-index: 1 !important; }
.nc-modal-body .np-menu .fm2-header { background: rgba(7, 12, 10, .86) !important; border-bottom: 1px solid rgba(255,255,255,.07) !important; height: 64px !important; }
.nc-modal-body .np-menu .fm2-title { color:#fff !important; font-size: 1rem !important; font-weight: 800 !important; padding: 0 22px !important; border-right: 1px solid rgba(255,255,255,.07) !important; min-width: 160px !important; }
.nc-modal-body .np-menu .fm2-search { background: transparent !important; border: none !important; color: #e5e7eb !important; font-weight: 700 !important; width: 100% !important; }
.nc-modal-body .np-menu .fm2-search::placeholder { color: rgba(255,255,255,.45) !important; }
.nc-modal-body .np-menu .fm2-content { height: calc(100% - 64px) !important; display:grid !important; grid-template-columns: 220px 1fr !important; }
.nc-modal-body .np-menu .fm2-sidebar { background: rgba(12, 18, 16, .76) !important; border-right: 1px solid rgba(255,255,255,.06) !important; padding: 22px 14px !important; gap: 8px !important; }
.nc-modal-body .np-menu .fm2-sidebar-btn { height: 52px !important; border-radius: 6px !important; color: rgba(222,226,226,.58) !important; font-size: .88rem !important; font-weight: 800 !important; letter-spacing: .02em !important; }
.nc-modal-body .np-menu .fm2-sidebar-btn:hover,
.nc-modal-body .np-menu .fm2-sidebar-btn.active { background: rgba(255,255,255,.055) !important; color:#fff !important; border-color: rgba(142,216,245,.12) !important; }
.nc-modal-body .np-menu .fm2-sidebar-btn .fm2-icon { color: #94d4ea !important; font-style: normal !important; width: 28px !important; }
.nc-modal-body .np-menu .fm2-main { overflow: hidden !important; }
.nc-modal-body .np-menu .fm2-section { display: none !important; height: 100% !important; overflow: hidden !important; }
.nc-modal-body .np-menu .fm2-section.active { display: flex !important; flex-direction: column !important; }
.nc-modal-body .np-menu .fm2-subtabs { height: 58px !important; display:flex !important; align-items:end !important; gap: 32px !important; padding: 0 34px !important; border-bottom: 1px solid rgba(255,255,255,.065) !important; background: rgba(7, 12, 10, .55) !important; }
.nc-modal-body .np-menu .fm2-subtab { padding: 0 0 18px !important; color: rgba(255,255,255,.5) !important; border: none !important; border-bottom: 2px solid transparent !important; background: transparent !important; font-weight: 900 !important; letter-spacing: .03em !important; }
.nc-modal-body .np-menu .fm2-subtab.active { color:#fff !important; border-bottom-color:#8ccfe9 !important; }
.nc-modal-body .np-menu .fm2-subtab-content { display:none !important; flex:1 !important; overflow:auto !important; padding: 28px 34px !important; }
.nc-modal-body .np-menu .fm2-subtab-content.active { display:block !important; }
.nc-modal-body .np-menu .fm2-panels { display:grid !important; grid-template-columns: repeat(2, minmax(260px, 1fr)) !important; gap: 26px !important; align-items:start !important; }
.nc-modal-body .np-menu .fm2-panels.np-esp-layout { grid-template-columns: 1fr 1fr 310px !important; }
.nc-modal-body .np-menu .np-pad { padding: 28px 34px !important; }
.nc-modal-body .np-menu .fm2-panel { background: rgba(26, 30, 28, .88) !important; border: 1px solid rgba(255,255,255,.055) !important; border-radius: 5px !important; overflow: hidden !important; box-shadow: 0 18px 50px rgba(0,0,0,.18) !important; }
.nc-modal-body .np-menu .fm2-panel-header { height: 56px !important; display:flex !important; align-items:center !important; gap:12px !important; padding: 0 18px !important; background: rgba(255,255,255,.035) !important; border-bottom: 1px solid rgba(255,255,255,.055) !important; color: #e8ecec !important; font-weight: 900 !important; }
.nc-modal-body .np-menu .fm2-panel-body { padding: 18px !important; gap: 13px !important; display:flex !important; flex-direction:column !important; }
.nc-modal-body .np-menu .fm2-control-row { min-height: 27px !important; color: rgba(231,235,235,.62) !important; font-weight: 800 !important; }
.nc-modal-body .np-menu .fm2-control-row:hover { color:#fff !important; }
.nc-modal-body .np-menu .fm2-icon-btn { width: 19px !important; height: 19px !important; border-radius: 999px !important; background: rgba(255,255,255,.45) !important; color:#121615 !important; font-size: .7rem !important; font-weight:900 !important; border:none !important; }
.nc-modal-body .np-menu .fm2-toggle { width: 38px !important; height: 22px !important; }
.nc-modal-body .np-menu .fm2-toggle-slider { background: #111615 !important; border: 1px solid rgba(255,255,255,.035) !important; box-shadow: inset 0 1px 5px rgba(0,0,0,.4) !important; }
.nc-modal-body .np-menu .fm2-toggle-slider:before { background: #7ebcd4 !important; box-shadow: 0 0 18px rgba(126,188,212,.6) !important; }
.nc-modal-body .np-menu .fm2-toggle input:checked + .fm2-toggle-slider { background: rgba(126,188,212,.24) !important; }
.nc-modal-body .np-menu .fm2-slider { accent-color:#8ccfe9 !important; }
.nc-modal-body .np-menu .fm2-dropdown { background: rgba(255,255,255,.035) !important; border: 1px solid rgba(255,255,255,.04) !important; color:#dce4e4 !important; border-radius: 3px !important; padding: 8px 12px !important; }
.nc-modal-body .np-menu .fm2-color-box { width: 28px !important; height: 18px !important; border-radius: 2px !important; border: 1px solid rgba(255,255,255,.08) !important; }
.nc-modal-body .np-menu .fm2-action-btn { background:#7ebcd4 !important; color:#061010 !important; border-radius: 5px !important; font-weight: 900 !important; }
.nc-modal-body .np-menu .np-empty { color: rgba(255,255,255,.42) !important; margin: 0 !important; font-weight: 700 !important; }

.nc-modal-body .np-esp-preview { background: rgba(6, 12, 9, .92); border:1px solid rgba(255,255,255,.06); border-radius:5px; min-height: 420px; padding: 24px; color:#f4f4f4; position:relative; overflow:hidden; }
.nc-modal-body .np-esp-preview h4 { margin:0; color:#e6f8ff; font-size:.9rem; letter-spacing:.05em; }
.nc-modal-body .np-esp-preview h4::before { content:'♚'; color:#8ccfe9; margin-right:10px; }
.nc-modal-body .np-stick { position:absolute; inset: 76px 22px 54px; display:grid; place-items:center; text-align:center; font-weight:900; }
.nc-modal-body .np-stick::before { content:''; width: 130px; height: 230px; border:2px solid rgba(255,255,255,.82); border-left-color:transparent; border-right-color:transparent; position:absolute; }
.nc-modal-body .np-stick i { width:100px; height:150px; display:block; position:relative; }
.nc-modal-body .np-stick i::before { content:''; position:absolute; left:50%; top:10px; width:2px; height:115px; background:#fff; box-shadow:-36px 38px 0 -1px #fff, 36px 38px 0 -1px #fff; transform:translateX(-50%); }
.nc-modal-body .np-stick i::after { content:''; position:absolute; left:50%; top:70px; width:72px; height:72px; border-left:2px solid #fff; border-top:2px solid #fff; transform:translateX(-50%) rotate(28deg); }
.nc-modal-body .np-stick b { position:absolute; top:0; }
.nc-modal-body .np-stick span { position:absolute; right:0; top:52px; }
.nc-modal-body .np-stick em { position:absolute; bottom:0; font-style:normal; }
.nc-modal-body .np-esp-preview small { position:absolute; bottom:24px; left:24px; color:rgba(255,255,255,.44); font-weight:900; }

@media (max-width: 980px) {
  .nc-modal-body .np-menu .fm2-content { grid-template-columns: 76px 1fr !important; }
  .nc-modal-body .np-menu .fm2-sidebar-btn span:not(.fm2-icon) { display:none !important; }
  .nc-modal-body .np-menu .fm2-panels,
  .nc-modal-body .np-menu .fm2-panels.np-esp-layout { grid-template-columns: 1fr !important; }
  .nc-modal-body .np-esp-preview { min-height: 360px; }
}



/* Nordic External rewrite for Rust Private showcase + popup */
.external-thumb-card {
  background:
    radial-gradient(circle at 75% 0%, rgba(130, 193, 214, .14), transparent 32%),
    linear-gradient(180deg, rgba(8, 14, 17, .95), rgba(7, 11, 13, .98)) !important;
  border-color: rgba(132, 197, 219, .24) !important;
  overflow: hidden !important;
}

.external-thumb-card .nc-thumb-inner {
  display: grid !important;
  grid-template-columns: 82px 1fr !important;
  align-items: stretch !important;
  width: 122% !important;
  height: 122% !important;
  transform: translate(-9%, -9%) scale(.82) !important;
  transform-origin: top left !important;
  background:
    radial-gradient(circle, rgba(166, 220, 238, .38) 1px, transparent 1.6px),
    linear-gradient(135deg, rgba(8, 13, 15, .96), rgba(14, 24, 28, .86)) !important;
  background-size: 68px 68px, 100% 100% !important;
  position: relative !important;
}

.external-thumb-card .nc-thumb-inner::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    linear-gradient(32deg, transparent 0 48%, rgba(130, 193, 214, .13) 49%, transparent 50% 100%),
    radial-gradient(circle at 70% 14%, rgba(125, 196, 224, .10), transparent 32%) !important;
  background-size: 142px 142px, 100% 100% !important;
  opacity: .65 !important;
  pointer-events: none !important;
}

.external-thumb-card .nc-m2-sidebar,
.external-thumb-card .nc-m2-main {
  position: relative !important;
  z-index: 1 !important;
}

.external-thumb-card .nc-m2-sidebar {
  width: auto !important;
  min-width: 0 !important;
  background: rgba(22, 33, 39, .72) !important;
  border-right: 1px solid rgba(255,255,255,.07) !important;
  padding: 14px 8px !important;
  gap: 8px !important;
}

.external-thumb-card .nc-m2-sidebar-btn {
  min-height: 32px !important;
  flex-direction: row !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  padding: 8px 10px !important;
  border-radius: 4px !important;
  font-size: 8px !important;
  color: rgba(218, 226, 229, .50) !important;
  background: transparent !important;
  border: 0 !important;
  letter-spacing: .02em !important;
}

.external-thumb-card .nc-m2-sidebar-btn.active {
  color: #fff !important;
  background: rgba(125, 151, 166, .18) !important;
}

.external-thumb-card .nc-m2-sidebar-btn .ico {
  font-size: 9px !important;
  width: 12px !important;
  color: rgba(154, 213, 234, .75) !important;
}

.external-thumb-card .nc-m2-main {
  background: rgba(10, 15, 17, .58) !important;
}

.external-thumb-card .nc-m2-header {
  height: 42px !important;
  padding: 0 16px !important;
  gap: 16px !important;
  justify-content: flex-start !important;
  background: rgba(14, 22, 26, .72) !important;
  border-bottom: 1px solid rgba(255,255,255,.06) !important;
}

.external-thumb-card .nc-m2-title {
  color: #edf4f6 !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  min-width: 100px !important;
}

.external-thumb-card .nc-m2-search {
  flex: 1 !important;
  max-width: none !important;
  height: auto !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  position: relative !important;
}

.external-thumb-card .nc-m2-search::before {
  content: "Search for functions..." !important;
  color: rgba(237,244,246,.42) !important;
  font-size: 9px !important;
}

.external-thumb-card .nc-m2-subtabs {
  height: 44px !important;
  align-items: flex-end !important;
  padding: 0 18px !important;
  gap: 26px !important;
  background: rgba(9, 14, 16, .55) !important;
}

.external-thumb-card .nc-m2-subtab {
  padding: 0 0 10px !important;
  font-size: 8px !important;
  font-weight: 800 !important;
  color: rgba(232,237,238,.42) !important;
  background: transparent !important;
  border-radius: 0 !important;
  position: relative !important;
}

.external-thumb-card .nc-m2-subtab.active {
  color: #fff !important;
  background: transparent !important;
}

.external-thumb-card .nc-m2-subtab.active::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  height: 2px !important;
  background: #91d2ea !important;
}

.external-thumb-card .nc-m2-panels {
  padding: 18px 20px !important;
  gap: 18px !important;
}

.external-thumb-card .nc-m2-panel {
  background: rgba(31, 42, 48, .82) !important;
  border: 1px solid rgba(255,255,255,.055) !important;
  border-radius: 4px !important;
}

.external-thumb-card .nc-m2-panel-header {
  min-height: 34px !important;
  padding: 0 12px !important;
  color: #eef3f5 !important;
  font-size: 8px !important;
  background: rgba(67, 83, 94, .34) !important;
}

.external-thumb-card .nc-m2-panel-body { padding: 12px !important; gap: 9px !important; }
.external-thumb-card .nc-m2-row { font-size: 7.5px !important; color: rgba(234,238,238,.64) !important; }
.external-thumb-card .nc-m2-toggle { width: 18px !important; height: 10px !important; background: rgba(11, 15, 16, .86) !important; }
.external-thumb-card .nc-m2-toggle::after { width: 8px !important; height: 8px !important; top: 1px !important; left: 1px !important; background: rgba(89,111,121,.72) !important; }
.external-thumb-card .nc-m2-toggle.on::after { left: 9px !important; background: #8ccce2 !important; box-shadow: 0 0 12px rgba(140,204,226,.55) !important; }
.external-thumb-card .nc-m2-slider { height: 3px !important; background: rgba(255,255,255,.10) !important; }
.external-thumb-card .nc-m2-slider-fill { background: #8ccce2 !important; }

.nc-modal-content:has(.external-menu) {
  width: min(1240px, 96vw) !important;
  height: min(820px, 92vh) !important;
  background: #071011 !important;
  border-radius: 10px !important;
  border: 1px solid rgba(139, 197, 216, .20) !important;
  box-shadow: 0 35px 120px rgba(0,0,0,.72), 0 0 60px rgba(113,190,222,.10) !important;
}

.nc-modal-body .external-menu {
  --ext-bg: #0a1012;
  --ext-panel: rgba(31, 42, 48, .88);
  --ext-header: rgba(52, 66, 76, .42);
  --ext-line: rgba(255,255,255,.065);
  --ext-accent: #91d2ea;
  --ext-muted: rgba(225,231,232,.54);
  background:
    radial-gradient(circle at 24% 0%, rgba(146, 207, 231, .07), transparent 26%),
    radial-gradient(circle at 78% 12%, rgba(146, 207, 231, .06), transparent 34%),
    linear-gradient(180deg, rgba(8,14,16,.98), rgba(10,16,18,.96)) !important;
  color: #e8eeee !important;
  font-family: 'Inter', 'Satoshi', system-ui, -apple-system, Segoe UI, sans-serif !important;
  position: relative !important;
  overflow: hidden !important;
}

.nc-modal-body .external-menu::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background-image:
    radial-gradient(circle, rgba(168, 222, 241, .48) 1.15px, transparent 1.7px),
    linear-gradient(32deg, transparent 0 48%, rgba(168,222,241,.12) 49%, transparent 50% 100%);
  background-size: 72px 72px, 170px 170px;
  opacity: .32 !important;
  pointer-events: none !important;
  animation: extMenuParticles 22s linear infinite !important;
}

@keyframes extMenuParticles {
  from { background-position: 0 0, 0 0; }
  to { background-position: 72px 72px, 170px 170px; }
}

.nc-modal-body .external-menu > * { position: relative !important; z-index: 1 !important; }
.nc-modal-body .external-menu .fm2-header {
  height: 70px !important;
  padding: 0 !important;
  gap: 0 !important;
  background: rgba(21, 33, 39, .82) !important;
  border-bottom: 1px solid var(--ext-line) !important;
}

.nc-modal-body .external-menu .fm2-title {
  height: 100% !important;
  width: 156px !important;
  padding: 0 20px !important;
  display: flex !important;
  align-items: center !important;
  color: #eef4f5 !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  border-right: 1px solid var(--ext-line) !important;
}

.nc-modal-body .external-menu .fm2-search {
  height: 100% !important;
  flex: 1 !important;
  padding: 0 24px !important;
  background: transparent !important;
  border: 0 !important;
  color: rgba(238,244,245,.78) !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
}

.nc-modal-body .external-menu .fm2-search::placeholder { color: rgba(238,244,245,.48) !important; }
.nc-modal-body .external-menu .fm2-content { display: flex !important; height: calc(100% - 70px) !important; background: rgba(7,12,13,.26) !important; }
.nc-modal-body .external-menu .fm2-sidebar {
  width: 190px !important;
  padding: 22px 16px !important;
  gap: 8px !important;
  background: rgba(23, 34, 40, .74) !important;
  border-right: 1px solid var(--ext-line) !important;
}

.nc-modal-body .external-menu .fm2-sidebar-btn {
  min-height: 54px !important;
  padding: 0 18px !important;
  border-radius: 5px !important;
  background: transparent !important;
  color: rgba(226,232,233,.50) !important;
  border: 1px solid transparent !important;
  font-size: .9rem !important;
  font-weight: 800 !important;
  gap: 14px !important;
  letter-spacing: .02em !important;
}

.nc-modal-body .external-menu .fm2-sidebar-btn:hover,
.nc-modal-body .external-menu .fm2-sidebar-btn.active {
  background: rgba(127, 150, 164, .20) !important;
  border-color: rgba(255,255,255,.03) !important;
  color: #fff !important;
}

.nc-modal-body .external-menu .fm2-sidebar-btn .fm2-icon { width: 22px !important; color: var(--ext-accent) !important; opacity: .72 !important; }
.nc-modal-body .external-menu .fm2-main { background: rgba(8,13,15,.56) !important; overflow: hidden !important; }
.nc-modal-body .external-menu .fm2-section { height: 100% !important; overflow: hidden !important; }
.nc-modal-body .external-menu .fm2-subtabs {
  height: 64px !important;
  padding: 0 38px !important;
  gap: 38px !important;
  align-items: flex-end !important;
  background: rgba(8,14,16,.58) !important;
  border-bottom: 1px solid var(--ext-line) !important;
}

.nc-modal-body .external-menu .fm2-subtab {
  padding: 0 0 18px !important;
  color: rgba(232,237,238,.48) !important;
  font-size: .88rem !important;
  font-weight: 850 !important;
  border-bottom: 2px solid transparent !important;
}

.nc-modal-body .external-menu .fm2-subtab.active { color: #fff !important; border-bottom-color: var(--ext-accent) !important; }
.nc-modal-body .external-menu .fm2-subtab-content { padding: 28px 36px !important; overflow: auto !important; }
.nc-modal-body .external-menu .fm2-panels { display: grid !important; grid-template-columns: repeat(2, minmax(280px, 1fr)) !important; gap: 28px !important; align-items: start !important; }
.nc-modal-body .external-menu .fm2-panel {
  background: var(--ext-panel) !important;
  border: 1px solid rgba(255,255,255,.055) !important;
  border-radius: 5px !important;
  min-height: 410px !important;
  overflow: hidden !important;
  box-shadow: 0 22px 60px rgba(0,0,0,.20) !important;
}

.nc-modal-body .external-menu .fm2-panel-header {
  height: 56px !important;
  padding: 0 20px !important;
  background: var(--ext-header) !important;
  color: #ecf2f3 !important;
  font-size: .92rem !important;
  font-weight: 850 !important;
  border-bottom: 1px solid rgba(255,255,255,.05) !important;
}

.nc-modal-body .external-menu .fm2-panel-header .fm2-icon { color: var(--ext-accent) !important; opacity: .86 !important; }
.nc-modal-body .external-menu .fm2-panel-body { padding: 18px 20px !important; gap: 12px !important; }
.nc-modal-body .external-menu .fm2-control-row { min-height: 28px !important; color: var(--ext-muted) !important; font-size: .92rem !important; font-weight: 750 !important; }
.nc-modal-body .external-menu .fm2-control-row:hover { color: #fff !important; }
.nc-modal-body .external-menu .fm2-controls { gap: 9px !important; }
.nc-modal-body .external-menu .fm2-icon-btn {
  width: 18px !important;
  height: 18px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.42) !important;
  color: #182126 !important;
  border: 0 !important;
  font-size: .68rem !important;
  font-weight: 900 !important;
}

.nc-modal-body .external-menu .fm2-toggle { width: 38px !important; height: 22px !important; }
.nc-modal-body .external-menu .fm2-toggle-slider { background: rgba(12,17,18,.94) !important; border: 1px solid rgba(255,255,255,.03) !important; box-shadow: inset 0 2px 8px rgba(0,0,0,.35) !important; }
.nc-modal-body .external-menu .fm2-toggle-slider::before { width: 18px !important; height: 18px !important; left: 2px !important; bottom: 1px !important; background: rgba(69,86,94,.62) !important; box-shadow: none !important; }
.nc-modal-body .external-menu .fm2-toggle input:checked + .fm2-toggle-slider { background: rgba(141, 204, 226, .20) !important; }
.nc-modal-body .external-menu .fm2-toggle input:checked + .fm2-toggle-slider::before { transform: translateX(16px) !important; background: #90cde3 !important; box-shadow: 0 0 20px rgba(144,205,227,.62) !important; }
.nc-modal-body .external-menu .fm2-slider { height: 4px !important; background: rgba(255,255,255,.11) !important; accent-color: var(--ext-accent) !important; }
.nc-modal-body .external-menu .fm2-slider::-webkit-slider-thumb { background: #eff8fb !important; box-shadow: 0 0 18px rgba(144,205,227,.75) !important; }
.nc-modal-body .external-menu .fm2-slider::-moz-range-thumb { background: #eff8fb !important; box-shadow: 0 0 18px rgba(144,205,227,.75) !important; }
.nc-modal-body .external-menu .fm2-slider-label { color: var(--ext-muted) !important; font-weight: 750 !important; }
.nc-modal-body .external-menu .fm2-slider-value { color: #eaf3f5 !important; }
.nc-modal-body .external-menu .fm2-dropdown { background: rgba(255,255,255,.045) !important; border: 1px solid rgba(255,255,255,.045) !important; color: #eaf0f1 !important; min-width: 92px !important; border-radius: 3px !important; }
.nc-modal-body .external-menu .fm2-color-box { width: 30px !important; height: 20px !important; border-radius: 2px !important; border-color: rgba(255,255,255,.08) !important; }
.nc-modal-body .external-menu .fm2-config-item { background: rgba(31,42,48,.82) !important; border-color: rgba(255,255,255,.05) !important; color: var(--ext-muted) !important; }
.nc-modal-body .external-menu .fm2-config-item.active { background: rgba(126,160,178,.22) !important; color:#fff !important; }
.nc-modal-body .external-menu .fm2-action-btn { background: var(--ext-accent) !important; color: #061012 !important; border-radius: 4px !important; font-weight: 900 !important; }

@media (max-width: 900px) {
  .nc-modal-body .external-menu .fm2-sidebar { width: 76px !important; padding-inline: 10px !important; }
  .nc-modal-body .external-menu .fm2-sidebar-btn span:not(.fm2-icon) { display: none !important; }
  .nc-modal-body .external-menu .fm2-panels { grid-template-columns: 1fr !important; }
}


/* === Menu showcase preview card fixes: Rust Internal Plus + Rust Private === */
.nc-menu-grid {
  align-items: stretch !important;
}

.nc-menu-card {
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
}

.nc-menu-card .nc-thumb,
.nc-menu-card .np-thumb-card,
.nc-menu-card .external-thumb-card {
  position: relative !important;
  display: block !important;
  height: 300px !important;
  min-height: 300px !important;
  max-height: 300px !important;
  width: 100% !important;
  overflow: hidden !important;
  border-radius: 18px 18px 0 0 !important;
  background:
    radial-gradient(circle at 25% 0%, rgba(124,194,221,.11), transparent 36%),
    linear-gradient(135deg, #050807, #080d0c) !important;
}

/* Dark bottom fade that stays inside the thumb instead of creating layout space. */
.nc-menu-card .nc-thumb::after,
.nc-menu-card .np-thumb-card::after,
.nc-menu-card .external-thumb-card::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  height: 44% !important;
  z-index: 8 !important;
  pointer-events: none !important;
  background: linear-gradient(
    to bottom,
    rgba(5,8,7,0) 0%,
    rgba(5,8,7,.36) 50%,
    rgba(5,8,7,.86) 100%
  ) !important;
}

/* Rust Internal Plus / Nordic-Private mini preview: centered and zoomed out evenly. */
.nc-menu-card .np-thumb-card > .np-mini-menu {
  position: absolute !important;
  inset: auto !important;
  top: 50% !important;
  left: 50% !important;
  width: 122% !important;
  height: 122% !important;
  transform: translate(-50%, -50%) scale(.82) !important;
  transform-origin: center center !important;
  border-radius: 16px !important;
}

/* Rust Private / Nordic External preview: center every possible wrapper used by the card. */
.nc-menu-card .external-thumb-card > .nc-thumb-inner,
.nc-menu-card .external-thumb-card > .nc-m2-preview,
.nc-menu-card .external-thumb-card > .external-preview,
.nc-menu-card .external-thumb-card > .np-mini-menu,
.nc-menu-card .external-thumb-card > .np-menu,
.nc-menu-card .external-thumb-card > .fm2-container {
  position: absolute !important;
  inset: auto !important;
  top: 50% !important;
  left: 50% !important;
  width: 122% !important;
  height: 122% !important;
  max-width: none !important;
  max-height: none !important;
  transform: translate(-50%, -50%) scale(.82) !important;
  transform-origin: center center !important;
  border-radius: 16px !important;
}

/* If the external preview content is nested one extra level, center that too. */
.nc-menu-card .external-thumb-card .nc-thumb-inner > *,
.nc-menu-card .external-thumb-card .nc-m2-preview > *,
.nc-menu-card .external-thumb-card .external-preview > * {
  max-width: none !important;
}

/* Keep View Full Menu as an overlay, not part of the thumbnail layout. */
.nc-menu-card .nc-thumb-overlay {
  position: absolute !important;
  inset: 0 !important;
  z-index: 20 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  pointer-events: none !important;
  background: linear-gradient(to bottom, rgba(0,0,0,.08), rgba(0,0,0,.18)) !important;
}

.nc-menu-card .nc-view-btn {
  pointer-events: auto !important;
  transform: none !important;
}

/* Card body consistency so the two showcases line up. */
.nc-menu-card .nc-card-info {
  flex: 1 1 auto !important;
  min-height: 340px !important;
}

/* Mobile sizing */
@media (max-width: 768px) {
  .nc-menu-card .nc-thumb,
  .nc-menu-card .np-thumb-card,
  .nc-menu-card .external-thumb-card {
    height: 250px !important;
    min-height: 250px !important;
    max-height: 250px !important;
  }

  .nc-menu-card .np-thumb-card > .np-mini-menu,
  .nc-menu-card .external-thumb-card > .nc-thumb-inner,
  .nc-menu-card .external-thumb-card > .nc-m2-preview,
  .nc-menu-card .external-thumb-card > .external-preview,
  .nc-menu-card .external-thumb-card > .np-mini-menu,
  .nc-menu-card .external-thumb-card > .np-menu,
  .nc-menu-card .external-thumb-card > .fm2-container {
    width: 132% !important;
    height: 132% !important;
    transform: translate(-50%, -50%) scale(.76) !important;
  }
}


/* ═════════ Temp Anonymiser showcase / modal ═════════ */
.temp-thumb-card {
  background: radial-gradient(circle at 50% 100%, rgba(0,127,255,.16), transparent 46%), linear-gradient(180deg, #04070b 0%, #070b12 100%) !important;
}
.temp-thumb-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(15,84,152,.16) 1px, transparent 1px), linear-gradient(90deg, rgba(15,84,152,.16) 1px, transparent 1px);
  background-size: 26px 26px;
  opacity: .32;
}
.ta-mini-app { position:absolute; inset:0; display:grid; grid-template-columns:58px 1fr; color:#8ccfff; font-family:'Space Grotesk',system-ui,sans-serif; }
.ta-mini-side { border-right:1px solid rgba(54,123,193,.22); display:flex; flex-direction:column; gap:14px; align-items:center; padding:18px 0; background:rgba(3,9,17,.86); z-index:1; }
.ta-mini-side span { width:28px; height:28px; border:1px solid rgba(44,126,216,.22); border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:13px; color:#59acff; background:rgba(5,12,22,.75); }
.ta-mini-side span.active { background:rgba(17,76,125,.55); box-shadow:0 0 18px rgba(0,157,255,.2); }
.ta-mini-main { padding:12px 14px; }
.ta-mini-head { color:#1492ff; font-weight:900; letter-spacing:.1em; font-size:18px; margin:6px 0 14px; }
.ta-mini-cols { display:grid; grid-template-columns:1.08fr 1fr 1fr; gap:14px; }
.ta-mini-box { min-height:124px; border:1px solid rgba(35,110,190,.3); border-radius:10px; background:rgba(5,9,14,.84); padding:12px; box-shadow: inset 0 0 0 1px rgba(255,255,255,.02); }
.ta-mini-box b { display:block; color:#d5f1ff; font-size:11px; letter-spacing:.08em; margin-bottom:10px; }
.ta-mini-box em { display:inline-flex; border-radius:999px; background:#143d1f; color:#c8ffbb; font-style:normal; padding:3px 8px; font-size:9px; margin-bottom:10px; }
.ta-mini-box p { margin:0 0 7px; color:#7c8b97; font-size:10px; }
.ta-mini-box .btnline, .ta-mini-box .field { display:block; height:14px; border:1px solid rgba(27,115,216,.34); border-radius:4px; margin-top:10px; }
.ta-mini-box .field.short { width:70%; }

.ta-modal-content { max-width: 1440px !important; }
.ta-menu {
  position:relative; min-height:760px; background: radial-gradient(circle at 50% 100%, rgba(0,127,255,.18), transparent 40%), linear-gradient(180deg, #03060a 0%, #05080d 100%) !important; color:#96d0ff !important; overflow:hidden; font-family:'Space Grotesk', monospace, system-ui, sans-serif;
}
.ta-menu::before { content:""; position:absolute; inset:0; pointer-events:none; background-image:linear-gradient(rgba(18,67,128,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(18,67,128,.12) 1px, transparent 1px); background-size:28px 28px; opacity:.28; }
.ta-topdots { position:absolute; right:14px; top:10px; display:flex; gap:10px; z-index:2; }
.ta-topdots span { width:10px; height:10px; border-radius:50%; background:rgba(255,210,0,.4); box-shadow:0 0 10px rgba(255,210,0,.2); }
.ta-topdots span:first-child { background:rgba(29,121,205,.2); }
.ta-topdots span:last-child { background:rgba(36,159,255,.45); }
.ta-shell { position:relative; z-index:1; display:grid !important; grid-template-columns:72px 1fr !important; height:100%; }
.ta-sidebar { background:rgba(2,7,13,.92) !important; border-right:1px solid rgba(37,104,175,.28) !important; padding:14px 10px !important; gap:10px !important; }
.ta-sidebar .fm2-sidebar-btn { justify-content:center !important; padding:12px 0 !important; height:48px !important; }
.ta-sidebar .fm2-sidebar-btn span:last-child { display:none !important; }
.ta-sidebar .fm2-sidebar-btn .fm2-icon { width:auto !important; font-size:16px !important; }
.ta-sidebar .fm2-sidebar-btn.active { box-shadow:0 0 0 1px rgba(28,127,240,.4) inset, 0 0 18px rgba(0,127,255,.18) !important; }
.ta-sidebar-spacer { flex:1; }
.ta-main { padding:18px 18px 22px !important; overflow:auto !important; }
.ta-page-head { color:#0585f4; font-weight:900; letter-spacing:.12em; font-size:24px; margin:6px 0 16px; text-transform:uppercase; }
.ta-page-head-row { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.ta-view-switch { display:flex; align-items:center; gap:10px; }
.ta-view-switch button { min-width:86px; height:34px; border:1px solid rgba(32,105,189,.34); background:#07131f; color:#95b6d1; border-radius:4px; font-weight:800; font-size:12px; }
.ta-view-switch button.active { background:#072244; color:#fff; box-shadow:0 0 18px rgba(0,127,255,.16); }
.ta-mini-btn { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border:1px solid rgba(35,110,190,.35); background:#07111c; color:#5db0ff; border-radius:4px; }
.ta-grid { display:grid; gap:18px; }
.ta-grid-3 { grid-template-columns:1fr 1fr 1fr; }
.ta-grid-2 { grid-template-columns:1fr 1fr; }
.ta-grid-checker { grid-template-columns:1.1fr 1.05fr .95fr; align-items:start; }
.ta-checker-side { display:grid; gap:18px; }
.ta-panel { background:rgba(5,8,14,.92) !important; border:1px solid rgba(35,110,190,.28) !important; box-shadow:0 0 0 1px rgba(255,255,255,.02) inset, 0 0 24px rgba(0,100,210,.08) !important; }
.ta-panel .fm2-panel-header { background:rgba(24,38,57,.74) !important; color:#1f98ff !important; letter-spacing:.08em; text-transform:uppercase; }
.ta-panel .fm2-panel-header span { color:#1f98ff !important; }
.ta-panel .fm2-panel-body { color:#a5b8c8 !important; }
.ta-prod-shot { height:92px; background: linear-gradient(130deg, rgba(20,20,24,.1), rgba(0,0,0,.45)), url('https://images.unsplash.com/photo-1518770660439-4636190af475?auto=format&fit=crop&w=800&q=60') center/cover no-repeat; border-bottom:1px solid rgba(35,110,190,.22); }
.ta-card-title { display:flex; align-items:center; gap:10px; color:#dff2ff; font-weight:900; letter-spacing:.08em; margin-bottom:10px; }
.ta-chip-icon { width:28px; height:28px; display:inline-flex; align-items:center; justify-content:center; border-radius:8px; color:#0b95ff; background:rgba(7,40,73,.72); border:1px solid rgba(24,119,210,.3); }
.ta-status-pill { display:inline-flex; padding:6px 12px; border-radius:999px; background:#113c1d; color:#d8ffc8; font-size:12px; font-weight:800; letter-spacing:.06em; margin-bottom:14px; }
.ta-info-row { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 0; border-bottom:1px solid rgba(35,110,190,.16); font-size:13px; }
.ta-info-row span { color:#8ca0b1; text-transform:uppercase; letter-spacing:.08em; }
.ta-info-row strong { color:#e9f6ff; font-weight:700; }
.ta-alert-box, .ta-note-box { margin-top:16px; border:1px solid rgba(25,119,218,.32); background:linear-gradient(180deg, rgba(5,23,43,.6), rgba(2,11,19,.7)); border-radius:6px; padding:14px; }
.ta-alert-box b, .ta-note-box .ta-label { color:#1492ff; letter-spacing:.08em; }
.ta-alert-box p, .ta-note-box ol { color:#d5e2ee; font-size:13px; line-height:1.5; margin:10px 0 0; }
.ta-label { color:#869db5; font-size:12px; letter-spacing:.08em; text-transform:uppercase; margin:10px 0 8px; }
.ta-input { width:100% !important; height:38px !important; border:1px solid rgba(27,115,216,.34) !important; background:#02060c !important; color:#e8f5ff !important; border-radius:4px !important; }
.ta-wide-btn { width:100%; margin-top:18px; }
.ta-tight-list .fm2-control-row { padding:12px 0 !important; border-bottom:1px solid rgba(35,110,190,.14); }
.ta-seed-row { display:grid; grid-template-columns:1fr 34px 34px 34px; gap:8px; }
.ta-vault-item { margin-top:8px; border:1px solid rgba(35,110,190,.2); border-radius:4px; padding:10px 12px; display:flex; align-items:center; justify-content:space-between; }
.ta-vault-item strong { color:#fff; }
.ta-stack { display:grid; gap:18px; }
.ta-tall-panel .fm2-panel-body { min-height:180px; }
.ta-mid-panel .fm2-panel-body { min-height:130px; }
.ta-center-body { display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; padding:28px !important; }
.ta-center-body h4, .ta-panel h4 { margin:0 0 14px; color:#1492ff; letter-spacing:.12em; font-size:22px; text-transform:uppercase; }
.ta-center-body p, .ta-panel p { color:#94a6b5; }
.ta-primary-btn { min-width:170px; margin-top:16px; }
.ta-blue-tab { background:linear-gradient(90deg, rgba(8,58,108,.8), rgba(8,58,108,.18)); border-left:3px solid #0f8eff; color:#1d9dff; padding:10px 12px; border-radius:4px; margin-bottom:14px; font-weight:800; }
.ta-data-box { height:34px; border:1px solid rgba(25,119,218,.18); background:#03070d; border-radius:4px; margin-bottom:10px; }
.ta-data-box.short { height:36px; }
.ta-duo { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:8px 0; }
.ta-duo b.ok { color:#59ef84; }
.ta-duo b.bad { color:#ff6675; }
.ta-guide-grid { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:14px; margin-top:18px; }
.ta-guide-card { border:1px solid rgba(25,119,218,.32); border-radius:8px; min-height:118px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; text-align:center; background:rgba(4,8,14,.85); padding:12px; }
.ta-guide-card.single { min-height:100%; }
.ta-guide-card span { width:56px; height:56px; border-radius:8px; display:flex; align-items:center; justify-content:center; background:rgba(6,39,72,.84); color:#1092ff; font-size:24px; border:1px solid rgba(25,119,218,.34); }
.ta-guide-card b { color:#fff; letter-spacing:.06em; }
@media (max-width: 1200px) { .ta-grid-3, .ta-grid-checker, .ta-guide-grid { grid-template-columns:1fr 1fr; } .ta-checker-side { grid-column: span 2; } }
@media (max-width: 820px) { .ta-shell { grid-template-columns:56px 1fr !important; } .ta-grid-3, .ta-grid-2, .ta-grid-checker, .ta-guide-grid { grid-template-columns:1fr; } .ta-checker-side { grid-column:auto; } .ta-page-head-row { flex-direction:column; align-items:flex-start; } }


/* Actual screenshot thumbnails for menu showcases */
.nc-real-preview-thumb {
  position: relative !important;
  background: #05080c !important;
}
.nc-real-preview-thumb .nc-real-preview-image {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center top !important;
  transform: scale(1.01);
}
.nc-real-preview-thumb::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 2;
  background:
    linear-gradient(to right, rgba(4,8,12,.18), rgba(4,8,12,0) 18%, rgba(4,8,12,0) 82%, rgba(4,8,12,.18)),
    linear-gradient(to bottom, rgba(3,6,9,.12), rgba(3,6,9,0) 24%, rgba(3,6,9,.28) 100%);
}
.nc-real-preview-thumb .nc-thumb-overlay {
  z-index: 4 !important;
  background: linear-gradient(to bottom, rgba(0,0,0,.02), rgba(0,0,0,.22)) !important;
}
.nc-real-preview-thumb .nc-view-btn {
  box-shadow: 0 18px 40px rgba(0,0,0,.28);
}


/* Final centering fix for actual menu preview screenshots */
.nc-menu-card .nc-real-preview-thumb {
  height: 300px !important;
  min-height: 300px !important;
  max-height: 300px !important;
  background: #05080c !important;
  overflow: hidden !important;
}

.nc-menu-card .nc-real-preview-thumb .nc-real-preview-image {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: translate(-50%, -50%) scale(1.18) !important;
  transform-origin: center center !important;
}

/* Per-card framing so the important part of each provided screenshot sits in the middle */
.nc-menu-card .np-thumb-card.nc-real-preview-thumb .nc-real-preview-image {
  object-position: center center !important;
  transform: translate(-50%, -50%) scale(1.24) !important;
}

.nc-menu-card .external-thumb-card.nc-real-preview-thumb .nc-real-preview-image {
  object-position: center center !important;
  transform: translate(-50%, -50%) scale(1.22) !important;
}

.nc-menu-card .temp-thumb-card.nc-real-preview-thumb .nc-real-preview-image {
  object-position: center center !important;
  transform: translate(-50%, -50%) scale(1.12) !important;
}

/* Keep overlay/button centered and readable without darkening the whole screenshot too much */
.nc-menu-card .nc-real-preview-thumb .nc-thumb-overlay {
  position: absolute !important;
  inset: 0 !important;
  z-index: 20 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: linear-gradient(to bottom, rgba(0,0,0,.03), rgba(0,0,0,.16)) !important;
}

.nc-menu-card .nc-real-preview-thumb::before {
  z-index: 4 !important;
  opacity: .65 !important;
  background:
    linear-gradient(to right, rgba(4,8,12,.12), rgba(4,8,12,0) 18%, rgba(4,8,12,0) 82%, rgba(4,8,12,.12)),
    linear-gradient(to bottom, rgba(3,6,9,.06), rgba(3,6,9,0) 30%, rgba(3,6,9,.20) 100%) !important;
}

@media (max-width: 768px) {
  .nc-menu-card .nc-real-preview-thumb {
    height: 250px !important;
    min-height: 250px !important;
    max-height: 250px !important;
  }
}


/* Product grid safety fixes */
.tm-scope .products {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
}

.tm-scope .tm-product-card {
  display: flex !important;
  float: none !important;
}

.tm-scope .tm-card {
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
}

.tm-scope .tm-media,
.tm-scope .tm-media img {
  max-width: 100% !important;
}

.tm-scope .tm-media img {
  object-fit: cover !important;
}

.tm-scope [class*="col-"] {
  min-width: 0 !important;
}


/* Arabic auto-translation support */
body.nc-lang-rtl {
  direction: rtl;
}

body.nc-lang-rtl .navbar,
body.nc-lang-rtl .hero__container,
body.nc-lang-rtl .hero__actions,
body.nc-lang-rtl .hero__badges,
body.nc-lang-rtl .tm-filterbar,
body.nc-lang-rtl .nc-menu-grid,
body.nc-lang-rtl .nc-feedback-grid {
  direction: rtl;
}

body.nc-lang-rtl .hero__content,
body.nc-lang-rtl .nc-card-info,
body.nc-lang-rtl .tm-head,
body.nc-lang-rtl .tm-cta,
body.nc-lang-rtl .section-title,
body.nc-lang-rtl .section-subtitle {
  text-align: right;
}

body.nc-lang-rtl .hero__image {
  direction: ltr;
}

body.nc-lang-rtl .fa,
body.nc-lang-rtl .fas,
body.nc-lang-rtl .fa-solid,
body.nc-lang-rtl svg {
  margin-left: .4rem;
  margin-right: 0;
}

body.nc-lang-rtl input,
body.nc-lang-rtl textarea,
body.nc-lang-rtl select {
  direction: rtl;
}


/* Auto-translation layout polish for Russian, Hindi, Arabic */
html[data-nc-auto-lang="ru"] body,
html[data-nc-auto-lang="hi"] body,
html[data-nc-auto-lang="ar"] body {
  font-feature-settings: "kern" 1;
}

html[data-nc-auto-lang="hi"] body {
  font-family: "Noto Sans Devanagari", "Poppins", "Inter", system-ui, sans-serif;
}

html[data-nc-auto-lang="ru"] body {
  font-family: "Poppins", "Inter", system-ui, sans-serif;
}

html[data-nc-auto-lang="ru"] .hero__title,
html[data-nc-auto-lang="hi"] .hero__title {
  letter-spacing: -0.025em;
}

html[data-nc-auto-lang="hi"] .hero__title {
  line-height: 1.08;
}

html[data-nc-auto-lang="ru"] .hero__btn,
html[data-nc-auto-lang="hi"] .hero__btn {
  letter-spacing: .01em;
}





/* Performance pass: reduce GPU-heavy effects without changing the overall look */
body::after,
#app::before {
  animation-duration: 40s !important;
  opacity: .32 !important;
}

.cb-navbar,
.hero__scroll-mouse,
.nc-menu-card,
.tm-card,
.testimonial,
.nc-real-preview-thumb .nc-thumb-overlay {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.tm-card,
.nc-menu-card,
.testimonial {
  box-shadow: 0 12px 32px rgba(0,0,0,.22) !important;
}

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

  #particles,
  .hero__particles,
  canvas#particles {
    display: none !important;
  }
}

@media (max-width: 768px) {
  #particles,
  .hero__particles,
  canvas#particles {
    display: none !important;
  }

  body::after,
  #app::before {
    animation: none !important;
    opacity: .18 !important;
  }
}


/* Keep game carousel smooth while preserving performance pause logic */
.nc-video-hero .track {
  will-change: transform;
  transform: translate3d(0,0,0);
}
.nc-video-hero .seq {
  flex-shrink: 0;
}


/* Faster perceived load: navbar is visible immediately */
.cb-navbar {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}


/* GPU compositing pass
   Moves heavy visuals onto composited layers and reduces CPU paint work. */
:root {
  --nc-gpu-promote: translateZ(0);
}

/* Promote the main moving/interactive layers */
.cb-navbar,
.hero,
.hero__visual,
.hero__card,
.hero__image,
.hero__badge,
.hero__scroll-indicator,
.nc-video-hero .track,
.nc-video-hero .seq,
.nc-video-hero .card,
.tm-card,
.nc-menu-card,
.nc-real-preview-thumb,
.nc-modal-content,
#promoPopup,
.promo-popup,
.testimonial {
  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-font-smoothing: antialiased;
}

/* Tell browser what will move rather than repainting large sections */
.nc-video-hero .track,
.hero__image,
.hero__card,
.hero__badge,
.hero__scroll-wheel,
.nc-thumb-overlay,
.tm-card:hover,
.nc-menu-card:hover {
  will-change: transform, opacity;
}

/* Contain paint/layout so product cards and showcases don't trigger page-wide repaints */
.tm-card,
.nc-menu-card,
.testimonial,
.nc-video-hero .card,
.product-card,
.card {
  contain: layout paint style;
}

/* Replace CPU canvas particle feel with lightweight composited radial layers */
.hero::before,
.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  transform: translateZ(0);
}

.hero::before {
  background:
    radial-gradient(circle at 18% 28%, rgba(56,189,248,.16), transparent 20%),
    radial-gradient(circle at 82% 18%, rgba(59,130,246,.12), transparent 22%),
    radial-gradient(circle at 66% 72%, rgba(14,165,233,.10), transparent 26%);
  opacity: .75;
}

.hero::after {
  background-image:
    radial-gradient(circle, rgba(125,211,252,.55) 1px, transparent 1.6px);
  background-size: 120px 120px;
  opacity: .28;
  animation: ncGpuStarDrift 28s linear infinite;
}

@keyframes ncGpuStarDrift {
  from { transform: translate3d(0,0,0); }
  to { transform: translate3d(-120px,60px,0); }
}

/* Hide canvas layer after CSS replacement to remove CPU draw loop */
canvas#particles,
.hero__particles {
  display: none !important;
}

/* Use opacity/transform transitions only; avoid expensive filter animation */
* {
  transition-property: color, background-color, border-color, opacity, transform, box-shadow;
}

/* Reduce expensive shadow blur sizes slightly while retaining glow */
.tm-card,
.nc-menu-card,
.testimonial {
  box-shadow: 0 10px 28px rgba(0,0,0,.24), 0 0 0 1px rgba(96,165,250,.12) inset !important;
}

/* Prevent background layers from forcing layout recalculation */
body,
#app,
.flex-wrapper {
  background-attachment: scroll !important;
}

/* Mobile/low-power: keep GPU work minimal too */
@media (max-width: 768px), (prefers-reduced-motion: reduce) {
  .hero::after {
    animation: none !important;
  }
  .nc-video-hero .track,
  .hero__image,
  .hero__card,
  .tm-card,
  .nc-menu-card {
    will-change: auto;
  }
}


/* Mobile smoothness pass */
html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body {
  overscroll-behavior-y: none;
  -webkit-tap-highlight-color: transparent;
}

@media (max-width: 768px) {
  html,
  body {
    overflow-x: hidden !important;
  }

  body,
  #app,
  .flex-wrapper {
    background-attachment: scroll !important;
  }

  /* Reduce costly glow/blur effects on mobile while keeping the design */
  .cb-navbar,
  .navbar-collapse,
  .tm-card,
  .nc-menu-card,
  .testimonial,
  .nc-modal-content,
  .hero__card,
  .hero__badge,
  .promo-popup,
  #promoPopup {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    filter: none !important;
  }

  .tm-card,
  .nc-menu-card,
  .testimonial,
  .hero__card {
    box-shadow: 0 8px 22px rgba(0,0,0,.22), 0 0 0 1px rgba(96,165,250,.10) inset !important;
  }

  /* Promote only the pieces that move; avoid over-promoting the whole page */
  .cb-navbar,
  .tm-card,
  .nc-menu-card,
  .nc-video-hero .track,
  .hero__visual,
  .hero__image {
    transform: translate3d(0,0,0);
    backface-visibility: hidden;
  }

  .tm-card,
  .nc-menu-card,
  .testimonial,
  .product-card,
  .card {
    contain: layout paint;
  }

  /* Disable decorative layers that cost frames on phones */
  canvas#particles,
  .hero__particles,
  .nc-feedback-glow,
  .snow,
  #snow {
    display: none !important;
  }

  body::after,
  #app::before,
  .hero::after {
    animation: none !important;
    opacity: .14 !important;
  }

  /* Hero mobile tuning */
  .hero,
  .hero__section,
  .hero__container {
    min-height: auto !important;
  }

  .hero__container {
    padding-top: 92px !important;
    padding-bottom: 42px !important;
    gap: 1.4rem !important;
  }

  .hero__title {
    font-size: clamp(2.4rem, 13vw, 4.2rem) !important;
    line-height: .92 !important;
    letter-spacing: -0.045em !important;
  }

  .hero__subtitle {
    font-size: 1rem !important;
    line-height: 1.55 !important;
  }

  .hero__badges {
    gap: .55rem !important;
  }

  .hero__badge,
  .hero__pill {
    padding: .55rem .75rem !important;
    font-size: .78rem !important;
  }

  .hero__actions {
    gap: .7rem !important;
  }

  .hero__btn {
    min-height: 46px !important;
    padding: .8rem 1.05rem !important;
  }

  /* Product grid/cards: smoother mobile scrolling and more stable layout */
  .products,
  .tm-grid,
  .tm-scope .products,
  .nc-menu-grid,
  .nc-feedback-grid {
    gap: 1rem !important;
  }

  .tm-card,
  .nc-menu-card {
    border-radius: 18px !important;
    overflow: hidden !important;
  }

  .tm-media,
  .tm-card .image,
  .product-card .image {
    min-height: 160px !important;
  }

  .tm-card img,
  .product-card img,
  .nc-real-preview-image {
    transform: translate3d(0,0,0);
    image-rendering: auto;
  }

  /* Navbar mobile: quicker interactions */
  .cb-navbar {
    position: absolute !important;
    transition: none !important;
  }

  .navbar-collapse {
    max-height: calc(100vh - 92px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  .cb-links,
  .navbar-nav {
    gap: .35rem !important;
  }

  .cb-currency-menu {
    max-height: 55vh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* Menu showcase thumbnails */
  .nc-menu-card .nc-thumb,
  .nc-menu-card .np-thumb-card,
  .nc-menu-card .external-thumb-card,
  .nc-menu-card .temp-thumb-card {
    height: 230px !important;
    min-height: 230px !important;
  }

  .nc-card-info {
    min-height: auto !important;
    padding: 1.25rem !important;
  }

  /* Reviews/feedback page */
  .testimonial {
    min-height: auto !important;
  }

  .testimonial .main,
  .testimonial .footer {
    padding: 1rem !important;
  }

  /* Modals and full menu previews fit mobile better */
  .nc-modal-content {
    width: calc(100vw - 18px) !important;
    max-height: calc(100vh - 18px) !important;
    margin: 9px auto !important;
    border-radius: 18px !important;
  }

  .nc-modal-body {
    overflow: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  .fm2-container,
  .np-menu,
  .ta-menu {
    min-height: 620px !important;
  }

  /* Game carousel: keep loop but make motion easier on phones */
  .nc-video-hero .card {
    width: min(78vw, 310px) !important;
  }

  .nc-video-hero .scroller {
    overflow: hidden !important;
    touch-action: pan-y;
  }

  .nc-video-hero .track {
    will-change: transform;
  }

  /* Remove hover-only effects on touch devices */
  .tm-card:hover,
  .nc-menu-card:hover,
  .product-card:hover {
    transform: none !important;
  }
}

@media (max-width: 480px) {
  .hero__container {
    padding-top: 84px !important;
  }

  .hero__title {
    font-size: clamp(2.15rem, 14vw, 3.4rem) !important;
  }

  .tm-media,
  .tm-card .image,
  .product-card .image {
    min-height: 140px !important;
  }

  .nc-video-hero .card {
    width: 82vw !important;
  }

  .nc-menu-card .nc-thumb,
  .nc-menu-card .np-thumb-card,
  .nc-menu-card .external-thumb-card,
  .nc-menu-card .temp-thumb-card {
    height: 210px !important;
    min-height: 210px !important;
  }
}

/* Touch devices: avoid hover transitions that can feel sticky */
@media (hover: none) and (pointer: coarse) {
  a,
  button,
  .btn,
  .tm-card,
  .nc-menu-card,
  .product-card {
    transition-duration: .12s !important;
  }

  a:hover,
  button:hover,
  .btn:hover,
  .tm-card:hover,
  .nc-menu-card:hover,
  .product-card:hover {
    transform: none !important;
  }
}


/* Deep carousel performance fix: CSS animation instead of JS per-frame updates */
.nc-video-hero .track.nc-css-loop {
  will-change: transform;
  transform: translate3d(0,0,0);
  backface-visibility: hidden;
}
.nc-video-hero .track.nc-loop-paused {
  animation-play-state: paused !important;
}
.nc-video-hero .seq,
.nc-video-hero .item,
.nc-video-hero .card {
  transform: translateZ(0);
  backface-visibility: hidden;
}
@media (max-width: 768px) {
  .nc-video-hero .track.nc-css-loop {
    animation-timing-function: linear !important;
  }
}


/* === Nordic temp anonymiser remake === */
.ns-modal-content {
  width: min(1280px, calc(100vw - 2rem));
  max-width: 1280px;
}
.ns-ui-shell {
  display: grid;
  grid-template-columns: 160px 1fr;
  gap: 18px;
  align-items: stretch;
}
.ns-side-rail {
  background: rgba(4, 14, 30, 0.92);
  border: 1px solid rgba(112, 170, 255, 0.15);
  border-radius: 20px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.02);
}
.ns-view-btn {
  appearance: none;
  border: 1px solid rgba(112,170,255,0.12);
  background: linear-gradient(180deg, rgba(8,24,47,0.96), rgba(6,18,36,0.96));
  color: #b9d3ef;
  border-radius: 12px;
  padding: 12px 10px;
  font-weight: 700;
  letter-spacing: .02em;
  cursor: pointer;
  transition: .2s ease;
}
.ns-view-btn.active,
.ns-view-btn:hover {
  color: #f4f7fd;
  border-color: rgba(121,204,255,.45);
  box-shadow: 0 0 0 1px rgba(121,204,255,.18), 0 12px 30px rgba(0, 0, 0, .35);
  background: linear-gradient(180deg, rgba(26,58,98,0.96), rgba(10,28,52,0.96));
}
.ns-stage {
  min-height: 760px;
}
.ns-stage-note {
  color: rgba(196, 219, 242, .88);
  font-size: .95rem;
  margin: 0 0 14px;
}
.ns-view { display: none; }
.ns-view.active { display: block; }
.ns-app-frame,
.ns-auth-wrap {
  min-height: 720px;
  border-radius: 28px;
  background:
    radial-gradient(circle at 20% 15%, rgba(22, 84, 161, 0.18), transparent 30%),
    radial-gradient(circle at 80% 0%, rgba(18, 74, 137, 0.18), transparent 24%),
    linear-gradient(90deg, #021223, #03192d 55%, #021528 100%);
  border: 1px solid rgba(97, 150, 234, 0.16);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.03), 0 30px 60px rgba(0,0,0,.35);
  padding: 34px 34px 26px;
  position: relative;
  overflow: hidden;
}
.ns-app-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 26px;
}
.ns-brand { display:flex; align-items:center; gap:16px; }
.ns-logo-badge {
  width: 54px; height: 54px; border-radius: 18px;
  background: radial-gradient(circle at 30% 25%, #84e3ff, #2b6fa5 55%, #0f2540 100%);
  color: #f7fbff; display:grid; place-items:center;
  font-size: 1.45rem; font-weight: 900; letter-spacing: .06em;
  box-shadow: 0 10px 24px rgba(0,0,0,.28), inset 0 0 0 1px rgba(255,255,255,.16);
}
.ns-logo-badge.large { width: 72px; height: 72px; margin: 0 auto 16px; border-radius: 24px; font-size: 2rem; }
.ns-logo-badge.tiny { width: 28px; height: 28px; border-radius: 10px; font-size: .9rem; }
.ns-brand-title { color:#f3f0e2; font-size:2rem; font-weight: 900; letter-spacing:.02em; line-height:1; }
.ns-brand-subtitle { color:#7c9ab7; font-size:1rem; margin-top:8px; }
.ns-header-icons { display:flex; gap:18px; color:#8ea9c6; font-size:1.3rem; padding-top: 8px; }
.ns-card-row { display:flex; align-items:flex-end; justify-content:center; gap:26px; padding: 28px 0 18px; position:relative; }
.ns-side-fade {
  width:56px; height:286px; border-radius:28px; opacity:.18;
  background: linear-gradient(180deg, rgba(67,119,175,.3), rgba(9,22,40,.2));
}
.ns-side-fade.right { opacity:.14; }
.ns-game-card {
  width: 214px; height: 332px; border-radius: 28px; overflow:hidden; position:relative;
  border:1px solid rgba(255,255,255,.07);
  box-shadow: 0 16px 44px rgba(0,0,0,.32);
  background: rgba(5,18,33,.7);
}
.ns-game-card.large { width: 282px; height: 368px; transform: translateY(-8px); }
.ns-game-art { position:absolute; inset:0; }
.ns-art-left {
  background: linear-gradient(180deg, rgba(72,122,170,.15), rgba(3,10,20,.72)), radial-gradient(circle at 30% 20%, rgba(147,220,255,.22), transparent 34%), linear-gradient(140deg, #203447, #0f2234 55%, #07111e);
}
.ns-art-center {
  background: linear-gradient(180deg, rgba(109,168,225,.15), rgba(3,10,20,.18)), radial-gradient(circle at 60% 0%, rgba(255,255,255,.16), transparent 26%), linear-gradient(140deg, #4e7ead, #16314b 58%, #09111a);
}
.ns-art-right {
  background: linear-gradient(180deg, rgba(128,128,128,.05), rgba(3,10,20,.66)), radial-gradient(circle at 20% 18%, rgba(221,194,155,.2), transparent 32%), linear-gradient(140deg, #4f544f, #233340 55%, #09111a);
}
.ns-card-mark {
  position:absolute; left:50%; transform:translateX(-50%); bottom:24px;
  color:#fff; font-weight:900; font-size: 2.8rem; letter-spacing:.04em;
  text-shadow: 0 6px 16px rgba(0,0,0,.5);
}
.ns-card-mark.ring { font-size: 3.2rem; }
.ns-dots { display:flex; justify-content:center; gap:14px; margin: 6px 0 10px; }
.ns-dots span { width: 11px; height:11px; border-radius:999px; background: rgba(134,177,214,.65); display:block; }
.ns-dots span.active { background:#6ed0ff; }
.ns-flag-status { display:flex; justify-content:center; align-items:center; gap:10px; color:#7ee2b2; font-size:1.35rem; font-weight:600; margin-bottom:14px; }
.ns-flag-status i { width:10px; height:10px; border-radius:999px; background:#71dfad; display:block; box-shadow: 0 0 0 4px rgba(113,223,173,.14); }
.ns-bottom-bar { display:flex; justify-content:space-between; align-items:center; margin-top: 10px; color:#8ca6bf; }
.ns-bottom-bar.compact { margin-top: 28px; }
.ns-exit-mark { color:#ff4b5a; font-size: 1.6rem; font-weight:700; }
.ns-bottom-actions { display:flex; gap:14px; }
.ns-icon-btn, .ns-gear {
  width: 56px; height:56px; border-radius:16px; border:1px solid rgba(255,255,255,.06);
  background: rgba(5,18,34,.68); color:#dce9f7; display:grid; place-items:center; font-size:1.35rem;
}
.ns-icon-btn.active { box-shadow: inset 0 0 0 2px rgba(137,214,255,.8), 0 0 0 1px rgba(137,214,255,.15); }

.ns-cleaner-grid {
  display:grid; grid-template-columns: repeat(3, 1fr); gap: 28px; margin: 12px 90px 18px;
}
.ns-clean-card {
  height: 382px; border-radius: 30px; display:flex; align-items:flex-end; justify-content:center;
  padding: 28px 20px; position:relative; overflow:hidden; text-align:center;
  border:1px solid rgba(255,255,255,.06);
  box-shadow: 0 16px 40px rgba(0,0,0,.28);
}
.ns-clean-card span { color:#fff; font-size:2.2rem; font-weight:900; line-height:1; text-shadow: 0 8px 18px rgba(0,0,0,.58); }
.ns-clean-card.valorant { background: linear-gradient(160deg, rgba(135,90,255,.24), rgba(9,15,28,.75)), radial-gradient(circle at 50% 15%, rgba(255,255,255,.1), transparent 25%), #111c2f; }
.ns-clean-card.apex { background: linear-gradient(160deg, rgba(49,211,197,.28), rgba(9,15,28,.7)), radial-gradient(circle at 50% 10%, rgba(255,255,255,.14), transparent 25%), #111c2f; transform: translateY(-8px); }
.ns-clean-card.cod { background: linear-gradient(160deg, rgba(186,59,109,.25), rgba(9,15,28,.78)), radial-gradient(circle at 50% 10%, rgba(255,255,255,.08), transparent 20%), #111c2f; }

.ns-settings-grid,
.ns-theme-grid {
  display:grid; grid-template-columns: 1fr 1fr; gap: 26px;
}
.ns-panel-card {
  background: rgba(5, 18, 34, .65);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 24px;
  padding: 22px 22px 18px;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.02);
}
.ns-panel-card h4 { color:#7eb6d8; font-size:1.05rem; font-weight:800; margin:0 0 16px; }
.ns-keyval, .ns-toggle-row {
  display:flex; justify-content:space-between; gap:20px; align-items:center; padding: 8px 0; color:#87a1bc;
}
.ns-keyval b { color:#e8eef8; text-align:right; font-weight:700; }
.ns-keyval b.good { color:#59e3a7; }
.ns-keyval b.warn { color:#f0ba50; }
.ns-divider { height:1px; background: rgba(255,255,255,.08); margin: 14px 0 18px; }
.ns-toggle-row.active span { color:#f6d85f; }
.ns-switch {
  width: 48px; height: 26px; border-radius:999px; background: rgba(255,255,255,.08); position:relative; display:block;
}
.ns-switch::after {
  content:''; width: 22px; height:22px; border-radius:999px; background:#f7f4e8; position:absolute; top:2px; left:2px;
}
.ns-switch.on { background:#79bdd2; }
.ns-switch.on::after { left:24px; }
.ns-swatch-group { margin-bottom: 16px; }
.ns-swatch-group span { display:block; color:#8fa8c2; margin-bottom:10px; }
.ns-swatches { display:flex; gap:10px; flex-wrap:wrap; }
.ns-swatches i { width: 30px; height:30px; border-radius:10px; background:#9ed8ed; display:block; }
.ns-swatches i:nth-child(2){ background:#4f8ff6; }
.ns-swatches i:nth-child(3){ background:#db405e; }
.ns-swatches i:nth-child(4){ background:#39d48e; }
.ns-swatches i:nth-child(5){ background:#9a5de8; }
.ns-swatches i:nth-child(6){ background:#47cde8; }
.ns-preset {
  background: rgba(10,24,42,.82); border:1px solid rgba(255,255,255,.05); color:#dce8f5; border-radius:14px; padding: 16px 18px; margin-bottom:12px; font-weight:700; text-align:center;
}
.ns-preset.active { background:#74adbf; color:#fff; }

.ns-auth-wrap { display:grid; place-items:center; }
.ns-auth-card {
  width: min(420px, 100%); text-align:center; background: rgba(4, 15, 30, .72);
  border:1px solid rgba(255,255,255,.05); border-radius: 28px; padding: 34px 28px 22px;
  box-shadow: 0 24px 60px rgba(0,0,0,.32), inset 0 0 0 1px rgba(255,255,255,.02);
}
.ns-auth-title { color:#f3f0e2; font-weight:900; font-size:3rem; line-height:1; }
.ns-auth-subtitle { color:#7e9bb6; margin: 10px 0 28px; font-size: 1.15rem; }
.ns-auth-field { display:flex; align-items:center; gap:14px; margin: 0 0 16px; color:#7396b4; }
.ns-auth-field input {
  width:100%; border:1px solid rgba(255,255,255,.04); background: rgba(3, 19, 36, .86); color:#bed6ef;
  border-radius:18px; padding:16px 18px; font-size:1rem;
}
.ns-auth-meta { text-align:left; color:#7995b2; font-size:.95rem; margin: 6px 0 20px; }
.ns-auth-btn, .ns-dark-btn {
  width:100%; border:none; border-radius: 14px; padding: 16px 18px; font-weight:900; cursor:pointer;
}
.ns-auth-btn { background:#92bbca; color:#ffffff; box-shadow: 0 12px 24px rgba(0,0,0,.22); }
.ns-auth-btn.small { width:auto; min-width: 190px; padding-inline: 26px; }
.ns-dark-btn { background: rgba(10,25,42,.95); color:#dce8f5; width:auto; min-width: 190px; }
.ns-auth-card p { color:#7e9bb6; margin: 18px 0 6px; }
.ns-auth-card small { color:#6686a5; }

.ns-popup-scene { display:flex; align-items:center; justify-content:center; }
.ns-popup-scene .ns-app-header.faded { position:absolute; left:34px; right:34px; top:34px; opacity:.16; }
.ns-popup-overlay {
  position:absolute; inset:0; background: rgba(2, 10, 20, .62); display:grid; place-items:center;
}
.ns-popup-card {
  width:min(520px, calc(100% - 24px)); background: rgba(4, 15, 30, .96);
  border:1px solid rgba(125,196,255,.18); border-radius:20px; overflow:hidden;
  box-shadow: 0 24px 60px rgba(0,0,0,.42);
}
.ns-popup-head {
  display:flex; align-items:center; justify-content:space-between; gap:12px; color:#e4eef8;
  padding: 18px 22px; border-bottom:1px solid rgba(255,255,255,.06);
}
.ns-popup-head b { margin-right:auto; }
.ns-popup-body { padding: 28px 24px 24px; text-align:center; }
.ns-popup-body h4 { color:#f3f7fc; font-size:1.6rem; margin:0 0 8px; }
.ns-popup-body p { color:#7f9db9; margin:0 0 20px; }
.ns-popup-actions { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

@media (max-width: 1100px) {
  .ns-ui-shell { grid-template-columns: 1fr; }
  .ns-side-rail { flex-direction: row; flex-wrap: wrap; }
  .ns-stage { min-height: auto; }
  .ns-cleaner-grid, .ns-settings-grid, .ns-theme-grid { grid-template-columns: 1fr; margin-inline: 0; }
  .ns-card-row { gap: 14px; }
  .ns-game-card { width: 170px; height: 260px; }
  .ns-game-card.large { width: 210px; height: 290px; }
}
@media (max-width: 760px) {
  .ns-app-frame, .ns-auth-wrap { min-height: auto; padding: 22px 18px; }
  .ns-brand-title { font-size: 1.6rem; }
  .ns-card-row { flex-wrap: wrap; }
  .ns-side-fade { display:none; }
  .ns-bottom-bar { gap: 10px; }
  .ns-bottom-actions { gap: 8px; }
  .ns-icon-btn, .ns-gear { width: 48px; height: 48px; }
  .ns-popup-actions .ns-auth-btn.small, .ns-popup-actions .ns-dark-btn { width: 100%; }
}


/* Product card image update: ACE / Vanguard / Apex / FN etc. */
.ns-product-gallery-products {
  grid-template-columns: repeat(6, 1fr);
  max-width: 920px;
}
.ns-product-gallery-products img {
  height: 128px;
  object-fit: cover;
  object-position: center;
  border-radius: 18px;
  filter: brightness(.86) saturate(1.05);
}
.ns-game-card .ns-card-image {
  filter: brightness(.76) saturate(1.05);
}
.ns-clean-card .ns-clean-image {
  filter: brightness(.82) saturate(1.05);
}
@media (max-width: 980px) {
  .ns-product-gallery-products { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 560px) {
  .ns-product-gallery-products { grid-template-columns: repeat(2, 1fr); }
}
