:root {
    --bg: #0a0c16;
    --surface: #171c35;
    --surface-alt: #111528;
    --text: #f8fafc;
    --text-muted: #94a3b8;
    --border: rgba(139, 92, 246, 0.25);
    --primary: #8b5cf6;
    --primary-hover: #7c3aed;
    --on-primary: #ffffff;
    --primary-text: #00f5d4;
    --accent: #00f5d4;
    --on-accent: #0a0c16;
    --accent-text: #00f5d4;
    --dark-band: #080a12;
    --on-dark: #f8fafc;
    --on-dark-muted: #64748b;
    --section-alt-bg: #111528;
    --dark-band-bg: #080a12;
    --brand-band-bg: #8b5cf6;
    --brand-btn-bg: #00f5d4;
    --brand-btn-text: #0a0c16;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    font-size: 16px;
}

body.orbital-body {
    margin: 0;
    padding: 0;
    font-family: 'Noto Serif KR', serif;
    font-weight: 400;
    line-height: 1.65;
    letter-spacing: 0.01em;
    color: var(--text);
    background-color: var(--bg);
    -webkit-font-smoothing: antialiased;
}

.text-muted {
    color: #94a3b8 !important;
}

.vh-section {
    position: relative;
    padding-top: 60px;
    padding-bottom: 60px;
    background-color: var(--bg);
    background-image: radial-gradient(circle at 50% 50%, rgba(139, 92, 246, 0.12) 0%, rgba(10, 12, 22, 0) 70%);
}

.vh-section-alt {
    position: relative;
    padding-top: 60px;
    padding-bottom: 60px;
    background-color: var(--section-alt-bg, var(--surface-alt));
    background-image: radial-gradient(circle at 50% 30%, rgba(0, 245, 212, 0.08) 0%, rgba(17, 21, 40, 0) 70%);
}

.vh-section-dark {
    position: relative;
    padding-top: 60px;
    padding-bottom: 60px;
    background-color: var(--dark-band-bg, var(--dark-band));
    color: var(--on-dark);
}

.vh-section-brand {
    position: relative;
    padding-top: 60px;
    padding-bottom: 60px;
    background-color: var(--brand-band-bg, var(--primary));
    color: var(--on-primary);
}

@media (min-width: 992px) {

    .vh-section,
    .vh-section-alt,
    .vh-section-dark,
    .vh-section-brand {
        padding-top: 96px;
        padding-bottom: 96px;
    }
}

.vh-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: 'Noto Serif KR', serif;
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 12px;
}

.vh-eyebrow::before {
    content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--accent);
    box-shadow: 0 0 10px var(--accent);
}

.vh-title {
    font-family: 'Noto Serif KR', serif;
    font-size: 2rem;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--text);
    margin-bottom: 16px;
    position: relative;
}

@media (min-width: 992px) {
    .vh-title {
        font-size: 2.25rem;
    }
}

.vh-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: 'Noto Serif KR', serif;
    font-size: 0.9375rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--on-primary);
    background-color: var(--primary);
    border: 2px solid var(--accent);
    border-radius: 9999px;
    padding: 12px 32px;
    text-decoration: none;
    box-shadow: 0 0 18px rgba(0, 245, 212, 0.4);
}

.vh-btn:hover {
    background-color: var(--accent);
    color: var(--on-accent);
    box-shadow: 0 0 24px rgba(0, 245, 212, 0.7);
}

.vh-btn-alt {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: 'Noto Serif KR', serif;
    font-size: 0.9375rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--primary-text);
    background-color: transparent;
    border: 2px solid var(--accent);
    border-radius: 9999px;
    padding: 12px 32px;
    text-decoration: none;
    box-shadow: 0 0 14px rgba(0, 245, 212, 0.25);
}

.vh-btn-alt:hover {
    background-color: var(--accent);
    color: var(--on-accent);
    box-shadow: 0 0 24px rgba(0, 245, 212, 0.7);
}

.vh-card {
    background-color: var(--surface);
    color: var(--text);
    border: 1px solid var(--border);
    border-radius: 32px;
    padding: 24px;
    box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.6);
    display: flex;
    flex-direction: column;
    height: 100%;
}

.vh-card:hover {
    border-color: var(--accent);
    box-shadow: 0 10px 30px -5px rgba(0, 245, 212, 0.35);
}

.vh-media {
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 20px;
    border: 1px solid var(--border);
    overflow: hidden;
    flex-shrink: 0;
    margin-bottom: 20px;
    background-color: #111528;
}

.vh-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.vh-badge {
    display: inline-flex;
    align-items: center;
    padding: 4px 14px;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    border-radius: 9999px;
    background-color: rgba(139, 92, 246, 0.2);
    color: var(--accent);
    border: 1px solid var(--border);
}

.vh-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background-color: var(--surface-alt);
    color: var(--accent);
    border: 1px solid var(--border);
    box-shadow: 0 0 15px rgba(139, 92, 246, 0.3);
    flex-shrink: 0;
}

.vh-on-dark {
    color: var(--on-dark);
}

.vh-on-dark h1,
.vh-on-dark h2,
.vh-on-dark h3,
.vh-on-dark h4,
.vh-on-dark .vh-title {
    color: var(--on-dark);
}

.vh-on-dark p,
.vh-on-dark .text-secondary {
    color: var(--on-dark-muted) !important;
}

.vh-on-dark .vh-eyebrow {
    color: var(--accent);
}

.vh-on-dark .vh-btn-alt {
    color: var(--on-dark);
    border-color: var(--on-dark);
}

.vh-section-dark .vh-card,
.vh-on-dark .vh-card {
    background-color: var(--surface);
    color: var(--text);
    border: 1px solid var(--border);
}

.vh-section-dark .vh-card h1,
.vh-section-dark .vh-card h2,
.vh-section-dark .vh-card h3,
.vh-section-dark .vh-card h4,
.vh-section-dark .vh-card .vh-title,
.vh-on-dark .vh-card h1,
.vh-on-dark .vh-card h2,
.vh-on-dark .vh-card h3,
.vh-on-dark .vh-card h4,
.vh-on-dark .vh-card .vh-title {
    color: var(--text);
}

.vh-section-dark .vh-card p,
.vh-on-dark .vh-card p {
    color: var(--text-muted) !important;
}

.vh-section-brand .vh-btn {
    background-color: var(--brand-btn-bg);
    color: var(--brand-btn-text);
    border-color: var(--brand-btn-bg);
}

.vh-section-brand .vh-btn-alt {
    color: var(--on-primary);
    border-color: var(--on-primary);
}

/* ===== header ===== */
.orbital-header {
    width: 100%;
    position: relative;
    z-index: 1030;
    background: #0a0c16;
    border-bottom: 1px solid rgba(139, 92, 246, 0.25);
    box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.7);
}

.orbital-header .orbital-navbar {
    padding: 12px 0;
    background: #0a0c16;
}

.orbital-header .orbital-container {
    position: relative;
}

.orbital-header .orbital-logo-ring {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 1.5px solid #00f5d4;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 14px rgba(0, 245, 212, 0.35);
    flex-shrink: 0;
    background: #111528;
}

.orbital-header .orbital-logo-img {
    width: 40px;
    height: 40px;
    object-fit: contain;
    border-radius: 50%;
    display: block;
}

.orbital-header .orbital-brand-text {
    font-family: 'Noto Serif KR', serif;
    font-size: 1.125rem;
    font-weight: 700;
    color: #f8fafc;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    text-decoration: none;
    white-space: nowrap;
}

.orbital-header .orbital-toggler {
    border: 1px solid rgba(139, 92, 246, 0.4);
    background: #171c35;
    border-radius: 9999px;
    padding: 8px 12px;
}

.orbital-header .orbital-toggler:focus {
    box-shadow: 0 0 10px rgba(0, 245, 212, 0.4);
    outline: none;
}

.orbital-header .orbital-toggler-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    color: #00f5d4;
}

.orbital-header .orbital-svg-icon {
    width: 100%;
    height: 100%;
}

.orbital-header .orbital-collapse {
    align-items: center;
    justify-content: space-between;
}

@media (min-width: 992px) {
    .orbital-header .orbital-collapse {
        display: flex !important;
    }
}

.orbital-header .orbital-collapse.show {
    display: flex !important;
}

.orbital-header .orbital-nav-left,
.orbital-header .orbital-nav-right {
    flex: 1;
}

.orbital-header .orbital-brand-center {
    flex-shrink: 0;
    padding: 0 24px;
}

.orbital-header .orbital-nav-link {
    font-family: 'Noto Serif KR', serif;
    font-size: 0.875rem;
    font-weight: 500;
    color: #94a3b8;
    letter-spacing: 0.05em;
    padding: 8px 12px;
    border-radius: 9999px;
    text-decoration: none;
}

.orbital-header .orbital-nav-link:hover,
.orbital-header .orbital-nav-link:focus {
    color: #00f5d4;
}

.orbital-header .orbital-ring-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9999px;
    padding: 8px 24px;
    background: transparent;
    color: #00f5d4;
    border: 2px solid #00f5d4;
    box-shadow: 0 0 14px rgba(0, 245, 212, 0.25);
    font-family: 'Noto Serif KR', serif;
    font-size: 0.8125rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    text-decoration: none;
}

.orbital-header .orbital-ring-btn:hover,
.orbital-header .orbital-ring-btn:focus {
    background: #00f5d4;
    color: #0a0c16;
    box-shadow: 0 0 24px rgba(0, 245, 212, 0.7);
}

@media (max-width: 991.98px) {
    .orbital-header .orbital-collapse {
        margin-top: 16px;
        padding: 20px;
        background: #111528;
        border-radius: 20px;
        border: 1px solid rgba(139, 92, 246, 0.3);
    }

    .orbital-header .orbital-nav-left,
    .orbital-header .orbital-nav-right {
        width: 100%;
        flex-direction: column;
        align-items: flex-start;
    }

    .orbital-header .orbital-nav-link {
        width: 100%;
        padding: 10px 14px;
        font-size: 0.8125rem;
    }

    .orbital-header .orbital-cta-wrapper {
        width: 100%;
        margin-top: 12px;
    }

    .orbital-header .orbital-ring-btn {
        width: 100%;
    }
}

/* ===== hero ===== */
.hero-cosmic-realm {
    background-color: #0a0c16;
    min-height: 580px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.hero-cosmic-realm > .container {
    width: 100%;
}

.hero-cosmic-realm .hero-orbit-glow {
    width: 560px;
    height: 560px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(139, 92, 246, 0.22) 0%, rgba(10, 12, 22, 0) 70%);
    filter: blur(40px);
    z-index: 0;
}

.hero-cosmic-realm .hero-orbit-ring {
    width: 680px;
    height: 680px;
    border-radius: 50%;
    border: 1px solid rgba(139, 92, 246, 0.2);
    z-index: 0;
}

.hero-cosmic-realm .hero-satellite-tag {
    color: #00f5d4;
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.18em;
}

.hero-cosmic-realm .hero-orbit-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #00f5d4;
    box-shadow: 0 0 10px #00f5d4;
    display: inline-block;
}

.hero-cosmic-realm .hero-satellite-arc {
    color: #8b5cf6;
}

.hero-cosmic-realm .hero-text-col {
    text-align: center !important;
}

.hero-cosmic-realm .hero-heading {
    font-size: 2.5rem;
    line-height: 1.25;
    font-weight: 700;
    color: #f8fafc;
    letter-spacing: 0.04em;
    word-break: keep-all;
    overflow-wrap: anywhere;
}

.hero-cosmic-realm .hero-accent-text {
    color: #00f5d4;
    text-shadow: 0 0 18px rgba(0, 245, 212, 0.35);
}

.hero-cosmic-realm .hero-description {
    font-size: 1rem;
    line-height: 1.65;
    color: #94a3b8;
    max-width: 580px;
    overflow-wrap: anywhere;
}

.hero-cosmic-realm .hero-primary-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 32px;
    background-color: #8b5cf6;
    color: #ffffff;
    border: 2px solid #8b5cf6;
    border-radius: 9999px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    transition: none;
}

.hero-cosmic-realm .hero-primary-btn:hover {
    background-color: #7c3aed;
    border-color: #7c3aed;
    color: #ffffff;
}

.hero-cosmic-realm .hero-secondary-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 30px;
    background-color: transparent;
    color: #00f5d4;
    border: 2px solid #00f5d4;
    border-radius: 9999px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    transition: none;
}

.hero-cosmic-realm .hero-secondary-btn:hover {
    background-color: #00f5d4;
    color: #0a0c16;
}

.hero-cosmic-realm .hero-featured-bar {
    background-color: #171c35;
    border: 1px solid rgba(139, 92, 246, 0.25);
    border-radius: 20px;
    box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.6);
    max-width: 580px;
}

.hero-cosmic-realm .hero-thumb-link {
    width: 48px;
    height: 48px;
    flex-shrink: 0;
}

.hero-cosmic-realm .hero-thumb-img {
    width: 48px;
    height: 48px;
    object-fit: cover;
    border: 2px solid rgba(139, 92, 246, 0.5);
}

.hero-cosmic-realm .hero-orbit-status-dot {
    position: absolute;
    top: -2px;
    right: -2px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #00f5d4;
    box-shadow: 0 0 8px #00f5d4;
    border: 2px solid #171c35;
}

.hero-cosmic-realm .hero-sub-label {
    font-size: 0.75rem;
    color: #94a3b8;
    letter-spacing: 0.04em;
}

.hero-cosmic-realm .hero-game-title {
    font-size: 0.9375rem;
    font-weight: 600;
    color: #f8fafc;
}

.hero-cosmic-realm .hero-game-title:hover {
    color: #00f5d4;
}

.hero-cosmic-realm .hero-meta-chip {
    background-color: #1e2442;
    border: 1px solid rgba(139, 92, 246, 0.3);
    border-radius: 9999px;
    padding: 6px 14px;
    font-size: 0.75rem;
}

.hero-cosmic-realm .hero-sparkle-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #ffd166;
    box-shadow: 0 0 6px #ffd166;
}

.hero-cosmic-realm .hero-genre-text {
    color: #ffd166;
    font-weight: 500;
    letter-spacing: 0.02em;
}

.hero-cosmic-realm .hero-mascot-wrapper {
    max-width: 440px;
    width: 100%;
}

.hero-cosmic-realm .hero-portal-ring {
    width: 340px;
    height: 340px;
    border-radius: 50%;
    border: 2px dashed rgba(0, 245, 212, 0.4);
    box-shadow: 0 0 35px rgba(139, 92, 246, 0.35);
    z-index: 0;
}

.hero-cosmic-realm .hero-mascot-img {
    width: 100%;
    height: auto;
    max-height: 480px;
    object-fit: contain;
}

@media (max-width: 767px) {
    .hero-cosmic-realm {
        padding-top: 36px !important;
        padding-bottom: 36px !important;
    }

    .hero-cosmic-realm .hero-heading {
        font-size: 1.125rem !important;
        line-height: 1.3;
        hyphens: auto;
    }

    .hero-cosmic-realm .hero-description {
        font-size: 0.875rem;
    }

    .hero-cosmic-realm .hero-cta-group {
        width: 100%;
        flex-direction: column;
    }

    .hero-cosmic-realm .hero-primary-btn,
    .hero-cosmic-realm .hero-secondary-btn {
        width: 100%;
        text-align: center;
        font-size: 0.875rem;
        padding: 10px 20px;
    }

    .hero-cosmic-realm .hero-featured-bar {
        width: 100%;
        flex-direction: column;
        align-items: flex-start;
    }

    .hero-cosmic-realm .hero-orbit-glow,
    .hero-cosmic-realm .hero-orbit-ring {
        width: 280px;
        height: 280px;
    }

    .hero-cosmic-realm .hero-portal-ring {
        width: 240px;
        height: 240px;
    }

    .hero-cosmic-realm .hero-mascot-img {
        max-height: 320px;
    }
}

/* ===== games_grid ===== */
.orbit-games-grid {
    position: relative;
    overflow: hidden;
}

.orbit-games-grid .orbit-satellite-arc {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 32px;
}

.orbit-games-grid .orbit-arc-svg {
    width: 100px;
    height: 32px;
}

.orbit-games-grid .orbit-status-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--secondary-accent, #00f5d4);
    box-shadow: 0 0 10px var(--secondary-accent, #00f5d4);
    display: inline-block;
    flex-shrink: 0;
}

.orbit-games-grid .orbit-lead-desc {
    max-width: 640px;
    font-size: 0.9375rem;
    line-height: 1.6;
}

.orbit-games-grid .orbit-filter-btn {
    border-radius: 9999px;
    padding: 8px 20px;
    background: rgba(30, 36, 66, 0.6);
    border: 1px solid rgba(139, 92, 246, 0.25);
    color: #94a3b8;
    font-size: 0.875rem;
    font-weight: 500;
    cursor: pointer;
    outline: none;
    transition: none;
}

.orbit-games-grid .orbit-filter-btn:hover {
    border-color: #00f5d4;
    color: #00f5d4;
}

.orbit-games-grid .orbit-filter-btn.active {
    background: #8b5cf6;
    border-color: #8b5cf6;
    color: #ffffff;
    box-shadow: 0 0 16px rgba(139, 92, 246, 0.4);
}

.orbit-games-grid .orbit-game-card {
    border-radius: 28px;
    background: #171c35;
    border: 1px solid rgba(139, 92, 246, 0.2);
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.4);
    padding: 22px;
}

.orbit-games-grid .orbit-game-card:hover {
    border-color: #00f5d4;
    box-shadow: 0 12px 30px rgba(0, 245, 212, 0.25);
}

.orbit-games-grid .orbit-indicator {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.orbit-games-grid .orbit-pulse {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #00f5d4;
    box-shadow: 0 0 8px #00f5d4;
}

.orbit-games-grid .orbit-signal-text {
    font-size: 0.75rem;
    color: #94a3b8;
}

.orbit-games-grid .orbit-avatar-link {
    display: inline-block;
    width: 110px;
    height: 110px;
    border-radius: 50%;
    padding: 4px;
    border: 2px solid rgba(139, 92, 246, 0.35);
    background: #1e2442;
    box-shadow: 0 0 20px rgba(139, 92, 246, 0.3);
    overflow: hidden;
}

.orbit-games-grid .orbit-avatar-link:hover {
    border-color: #00f5d4;
    box-shadow: 0 0 22px rgba(0, 245, 212, 0.5);
}

.orbit-games-grid .orbit-avatar-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
    display: block;
}

.orbit-games-grid .orbit-card-name {
    font-size: 1.05rem;
    line-height: 1.35;
    font-weight: 600;
    hyphens: auto;
    overflow-wrap: anywhere;
}

.orbit-games-grid .orbit-card-genre {
    font-size: 0.8125rem;
    color: #94a3b8;
    line-height: 1.4;
}

.orbit-games-grid .vh-btn {
    border-radius: 9999px;
    padding: 10px 20px;
    font-size: 0.875rem;
    font-weight: 600;
    display: inline-block;
}

@media (max-width: 767px) {
    .orbit-games-grid .orbit-game-card {
        border-radius: 22px;
        padding: 18px;
    }

    .orbit-games-grid .orbit-avatar-link {
        width: 96px;
        height: 96px;
    }
}

/* ===== player_comments ===== */
.orbital-tips-hub {
    padding: 80px 0;
    position: relative;
    overflow: hidden
}

.orbital-header-wrap {
    max-width: 720px;
    margin-left: auto;
    margin-right: auto
}

.orbital-satellite-icon {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: rgba(139, 92, 246, 0.18);
    border: 1px solid rgba(0, 245, 212, 0.4);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #00f5d4
}

.orbital-satellite-icon .vh-icon-svg {
    width: 16px;
    height: 16px
}

.orbital-header-desc {
    color: var(--text-muted, #94a3b8);
    font-size: 0.95rem;
    line-height: 1.65;
    max-width: 620px
}

.orbital-filter-btn {
    background: #171c35;
    color: #94a3b8;
    border: 1px solid rgba(139, 92, 246, 0.25);
    border-radius: 9999px;
    padding: 8px 20px;
    font-size: 0.875rem;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer
}

.orbital-filter-btn .orbital-status-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #64748b;
    display: inline-block
}

.orbital-filter-btn.active {
    background: #1e2442;
    color: #f8fafc;
    border-color: #00f5d4;
    box-shadow: 0 0 14px rgba(0, 245, 212, 0.25)
}

.orbital-filter-btn.active .orbital-status-dot {
    background: #00f5d4;
    box-shadow: 0 0 8px #00f5d4
}

.orbital-featured-card {
    background: #171c35;
    border: 1px solid rgba(139, 92, 246, 0.25);
    border-radius: 32px;
    overflow: hidden;
    padding: 0
}

.orbital-media-frame {
    width: 100%;
    height: 220px;
    overflow: hidden;
    background: #0a0c16
}

.orbital-media-frame img {
    object-fit: cover;
    display: block
}

.orbital-badge-tag {
    position: absolute;
    top: 16px;
    left: 16px;
    background: rgba(10, 12, 22, 0.85);
    border: 1px solid #00f5d4;
    color: #00f5d4;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 4px 12px;
    border-radius: 9999px
}

.orbital-card-body {
    padding: 24px
}

.orbital-avatar-circle {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: rgba(139, 92, 246, 0.25);
    color: #00f5d4;
    display: inline-flex;
    align-items: center;
    justify-content: center
}

.orbital-avatar-circle .vh-icon-svg {
    width: 16px;
    height: 16px
}

.orbital-meta-author {
    color: #f8fafc;
    font-size: 0.8125rem;
    font-weight: 600
}

.orbital-meta-divider {
    color: #64748b;
    font-size: 0.8125rem
}

.orbital-meta-time {
    color: #94a3b8;
    font-size: 0.8125rem
}

.orbital-featured-title {
    font-size: 1.35rem;
    font-weight: 600;
    line-height: 1.3
}

.orbital-featured-title a {
    color: #f8fafc
}

.orbital-featured-title a:hover {
    color: #00f5d4
}

.orbital-guide-snippet {
    color: #94a3b8;
    font-size: 0.9rem;
    line-height: 1.6
}

.orbital-pill-card {
    background: #1e2442;
    border: 1px solid rgba(139, 92, 246, 0.25);
    border-radius: 24px;
    padding: 18px 22px;
    display: flex;
    align-items: flex-start;
    gap: 16px;
    position: relative
}

.orbital-pill-leading {
    position: relative;
    flex-shrink: 0
}

.orbital-avatar-icon {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: #171c35;
    border: 1px solid rgba(139, 92, 246, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #00f5d4;
    box-shadow: 0 10px 20px -5px rgba(139, 92, 246, 0.3)
}

.orbital-avatar-icon .vh-icon-svg {
    width: 20px;
    height: 20px
}

.orbital-orbiting-dot {
    position: absolute;
    top: -2px;
    right: -2px;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #00f5d4;
    box-shadow: 0 0 10px #00f5d4
}

.orbital-pill-content {
    flex-grow: 1;
    min-width: 0
}

.orbital-pill-title {
    font-size: 1.05rem;
    font-weight: 600;
    color: #f8fafc;
    line-height: 1.35
}

.orbital-pill-desc {
    font-size: 0.875rem;
    color: #94a3b8;
    line-height: 1.6
}

.orbital-pill-card .vh-badge {
    background: rgba(139, 92, 246, 0.2);
    color: #00f5d4;
    border: 1px solid rgba(0, 245, 212, 0.3);
    font-size: 0.75rem;
    padding: 3px 10px;
    border-radius: 9999px
}

@media(max-width:767px) {
    .orbital-tips-hub {
        padding: 48px 0
    }

    .orbital-featured-title {
        font-size: 1.15rem
    }

    .orbital-pill-card {
        flex-direction: column;
        border-radius: 20px;
        padding: 16px
    }

    .orbital-media-frame {
        height: 180px
    }
}

/* ===== controls_rules ===== */
.orbit-controls-block {
    background-color: #0a0c16;
    color: #f8fafc;
    font-family: 'Noto Serif KR', serif;
}

.orbit-controls-block .orbit-bg-glow {
    position: absolute;
    top: 20%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 700px;
    height: 500px;
    max-width: 90vw;
    background: radial-gradient(circle, rgba(139, 92, 246, 0.16) 0%, rgba(10, 12, 22, 0) 70%);
    pointer-events: none;
    z-index: 0;
}

.orbit-controls-block .orbit-pulse-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #00f5d4;
    box-shadow: 0 0 10px #00f5d4;
    display: inline-block;
}

.orbit-controls-block .orbit-satellite-trace {
    line-height: 1;
}

.orbit-controls-block .orbit-main-heading {
    color: #f8fafc;
    font-size: 2.25rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.orbit-controls-block .orbit-lead-desc {
    color: #94a3b8;
    font-size: 0.95rem;
    line-height: 1.65;
    max-width: 620px;
    margin-left: auto;
    margin-right: auto;
}

.orbit-controls-block .orbit-tabs-wrapper {
    background: #111528;
    border: 1px solid rgba(139, 92, 246, 0.3);
    border-radius: 9999px;
    box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.7);
}

.orbit-controls-block .orbit-tab-pill {
    background: transparent;
    border: 1px solid transparent;
    color: #94a3b8;
    border-radius: 9999px;
    padding: 10px 22px;
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: none;
}

.orbit-controls-block .orbit-tab-pill:hover {
    color: #00f5d4;
}

.orbit-controls-block .orbit-tab-pill.active {
    background: #1e2442;
    color: #00f5d4;
    border-color: rgba(0, 245, 212, 0.6);
    box-shadow: 0 0 14px rgba(0, 245, 212, 0.25);
}

.orbit-controls-block .orbit-card-panel {
    background: #171c35;
    border: 1px solid rgba(139, 92, 246, 0.2);
    border-radius: 24px;
    padding: 26px 24px;
    box-shadow: 0 16px 36px -12px rgba(0, 0, 0, 0.6);
    display: flex;
    flex-direction: column;
}

.orbit-controls-block .orbit-card-panel:hover {
    border-color: #00f5d4;
    box-shadow: 0 10px 30px -5px rgba(0, 245, 212, 0.3);
}

.orbit-controls-block .orbit-key-badge {
    background: #1e2442;
    border: 1px solid rgba(139, 92, 246, 0.4);
    color: #00f5d4;
    font-size: 0.8125rem;
    font-weight: 700;
    padding: 6px 14px;
    border-radius: 9999px;
    letter-spacing: 0.05em;
    display: inline-block;
}

.orbit-controls-block .orbit-rule-index {
    background: rgba(139, 92, 246, 0.15);
    border: 1px solid #8b5cf6;
    color: #ffd166;
    font-size: 0.875rem;
    font-weight: 800;
    padding: 4px 12px;
    border-radius: 9999px;
    display: inline-block;
}

.orbit-controls-block .orbit-status-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #00f5d4;
    box-shadow: 0 0 8px #00f5d4;
    margin-left: auto;
}

.orbit-controls-block .orbit-card-title {
    color: #f8fafc;
    font-size: 1.15rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    line-height: 1.4;
}

.orbit-controls-block .orbit-card-text {
    color: #94a3b8;
    font-size: 0.875rem;
    line-height: 1.65;
    flex-grow: 1;
}

@media (max-width: 767px) {
    .orbit-controls-block .orbit-main-heading {
        font-size: 1.5rem;
    }

    .orbit-controls-block .orbit-card-title {
        font-size: 1.05rem;
    }

    .orbit-controls-block .orbit-tabs-wrapper {
        border-radius: 18px;
        width: 100%;
    }

    .orbit-controls-block .orbit-tab-pill {
        width: 100%;
        border-radius: 12px;
    }
}

/* ===== leaderboards ===== */
.gallitelli-leaderboards {
    position: relative;
    background-color: #111528;
    color: #f8fafc;
    font-family: 'Noto Serif KR', serif;
    overflow-x: hidden;
}

.gallitelli-orbit-canvas {
    width: 900px;
    height: 900px;
    pointer-events: none;
    z-index: 0;
    opacity: 0.45;
}

.gallitelli-orbit-ring {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border: 1px solid rgba(139, 92, 246, 0.25);
    border-radius: 50%;
}

.gallitelli-orbit-ring-lg {
    width: 760px;
    height: 760px;
}

.gallitelli-orbit-ring-sm {
    width: 440px;
    height: 440px;
    border-style: dashed;
}

.gallitelli-status-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #00f5d4;
    box-shadow: 0 0 10px #00f5d4;
}

.gallitelli-lead-text {
    color: #94a3b8;
    font-size: 0.975rem;
    line-height: 1.65;
}

.gallitelli-text-subtle {
    color: #94a3b8;
}

.gallitelli-cyan {
    color: #00f5d4;
}

.gallitelli-user-status-card {
    background: #171c35;
    border: 1px solid rgba(139, 92, 246, 0.28);
    box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.6);
}

.gallitelli-avatar-circle {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #1e2442;
    border: 2px solid #8b5cf6;
    color: #00f5d4;
    font-size: 0.85rem;
    box-shadow: 0 0 14px rgba(139, 92, 246, 0.45);
}

.gallitelli-avatar-indicator {
    bottom: -2px;
    right: -2px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #00f5d4;
    border: 2px solid #171c35;
}

.gallitelli-progress-track {
    width: 110px;
    height: 8px;
    background: #1e2442;
    overflow: hidden;
    border: 1px solid rgba(139, 92, 246, 0.25);
}

.gallitelli-progress-bar {
    height: 100%;
    background: linear-gradient(90deg, #8b5cf6, #00f5d4);
}

.gallitelli-filter-bar {
    position: relative;
    z-index: 1;
}

.gallitelli-pill-tab {
    border-radius: 9999px;
    padding: 8px 20px;
    background: #1e2442;
    border: 1px solid rgba(139, 92, 246, 0.3);
    color: #94a3b8;
    font-size: 0.875rem;
    font-weight: 500;
    cursor: pointer;
    transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
}

.gallitelli-pill-tab:hover {
    color: #00f5d4;
    border-color: #00f5d4;
}

.gallitelli-pill-tab.active {
    background: #8b5cf6;
    color: #ffffff;
    border-color: #00f5d4;
    box-shadow: 0 0 14px rgba(0, 245, 212, 0.35);
}

.gallitelli-panel {
    background: #171c35;
    border: 1px solid rgba(139, 92, 246, 0.25);
    position: relative;
    z-index: 1;
}

.gallitelli-table {
    border-collapse: separate;
    border-spacing: 0;
}

.gallitelli-thead-row th {
    border-bottom: 1px solid rgba(139, 92, 246, 0.35);
    color: #94a3b8;
    font-weight: 600;
    font-size: 0.8125rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.gallitelli-row td {
    border-bottom: 1px solid rgba(139, 92, 246, 0.15);
    font-size: 0.9375rem;
}

.gallitelli-row:last-child td {
    border-bottom: none;
}

.gallitelli-orbit-dot {
    display: inline-block;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background-color: #8b5cf6;
    box-shadow: 0 0 8px #8b5cf6;
}

.gallitelli-game-link {
    color: #cbd5e1;
    transition: color 0.2s ease;
}

.gallitelli-game-link:hover {
    color: #00f5d4;
}

.gallitelli-rank-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #1e2442;
    color: #cbd5e1;
    font-weight: 700;
    font-size: 0.8125rem;
    border: 1px solid rgba(139, 92, 246, 0.3);
}

.gallitelli-rank-1 {
    background: #ffd166;
    color: #0a0c16;
    border-color: #ffd166;
    box-shadow: 0 0 10px rgba(255, 209, 102, 0.5);
}

.gallitelli-rank-2 {
    background: #00f5d4;
    color: #0a0c16;
    border-color: #00f5d4;
    box-shadow: 0 0 10px rgba(0, 245, 212, 0.5);
}

.gallitelli-rank-3 {
    background: #8b5cf6;
    color: #ffffff;
    border-color: #8b5cf6;
    box-shadow: 0 0 10px rgba(139, 92, 246, 0.5);
}

@media (max-width: 767px) {
    .gallitelli-thead-row {
        display: none;
    }

    .gallitelli-row {
        display: block;
        padding: 12px 8px;
        border-bottom: 1px solid rgba(139, 92, 246, 0.25);
    }

    .gallitelli-row td {
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        border-bottom: none;
        padding: 6px 0;
        text-align: left !important;
    }

    .gallitelli-row td::before {
        content: attr(data-label);
        color: #94a3b8;
        font-size: 0.8125rem;
        font-weight: 500;
    }
}

/* ===== add_game ===== */
.portal-add-game {
    position: relative;
    padding-top: 5rem;
    padding-bottom: 5rem;
    overflow: hidden;
    background-color: var(--bg);
    color: var(--text);
}

.portal-add-game::before {
    content: '';
    position: absolute;
    top: 15%;
    left: 50%;
    width: 700px;
    height: 700px;
    transform: translateX(-50%);
    background: radial-gradient(circle, rgba(139, 92, 246, 0.12) 0%, rgba(10, 12, 22, 0) 70%);
    border-radius: 50%;
    pointer-events: none;
}

.portal-add-game .portal-satellite-arc {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #171c35;
    border: 1px solid rgba(139, 92, 246, 0.3);
}

.portal-add-game .portal-arc-icon {
    width: 22px;
    height: 22px;
    color: #00f5d4;
}

.portal-add-game .portal-orbit-dot {
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #00f5d4;
    box-shadow: 0 0 8px #00f5d4;
}

.portal-add-game .portal-title {
    color: #f8fafc;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.portal-add-game .portal-subtitle {
    max-width: 640px;
    color: #94a3b8;
    line-height: 1.65;
}

.portal-add-game .portal-info-card,
.portal-add-game .portal-form-panel {
    background: #171c35;
    border: 1px solid rgba(139, 92, 246, 0.25);
    border-radius: 32px;
    padding: 2rem;
    box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.6);
}

.portal-add-game .portal-preview-media {
    border-radius: 20px;
    overflow: hidden;
    height: 200px;
    border: 1px solid rgba(139, 92, 246, 0.2);
}

.portal-add-game .portal-cover-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.portal-add-game .portal-info-heading {
    font-size: 1.25rem;
    font-weight: 600;
    color: #f8fafc;
    letter-spacing: 0.05em;
}

.portal-add-game .portal-info-desc {
    color: #94a3b8;
    font-size: 0.9375rem;
    line-height: 1.6;
}

.portal-add-game .portal-check-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: rgba(0, 245, 212, 0.15);
    border: 1px solid #00f5d4;
    flex-shrink: 0;
}

.portal-add-game .portal-check-icon {
    width: 14px;
    height: 14px;
    color: #00f5d4;
}

.portal-add-game .portal-criteria-text {
    font-size: 0.9375rem;
    color: #f8fafc;
    font-weight: 500;
}

.portal-add-game .portal-badge-box .vh-badge {
    background: #1e2442;
    color: #00f5d4;
    border: 1px solid rgba(0, 245, 212, 0.3);
    border-radius: 9999px;
    padding: 6px 14px;
    font-size: 0.8125rem;
}

.portal-add-game .portal-form-title {
    font-size: 1.375rem;
    font-weight: 600;
    color: #f8fafc;
    letter-spacing: 0.05em;
}

.portal-add-game .portal-form-caption {
    font-size: 0.9375rem;
    color: #94a3b8;
}

.portal-add-game .portal-field-group {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.portal-add-game .portal-label {
    font-size: 0.875rem;
    font-weight: 500;
    color: #f8fafc;
    letter-spacing: 0.02em;
}

.portal-add-game .portal-input,
.portal-add-game .portal-select,
.portal-add-game .portal-textarea {
    background-color: #111528;
    border: 1px solid rgba(139, 92, 246, 0.3);
    border-radius: 12px;
    color: #f8fafc;
    padding: 0.75rem 1rem;
    font-size: 0.9375rem;
    width: 100%;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.portal-add-game .portal-input::placeholder,
.portal-add-game .portal-textarea::placeholder {
    color: #64748b;
    opacity: 1;
}

.portal-add-game .portal-select option {
    background-color: #111528;
    color: #f8fafc;
}

.portal-add-game .portal-input:focus,
.portal-add-game .portal-select:focus,
.portal-add-game .portal-textarea:focus {
    outline: none;
    border-color: #00f5d4;
    box-shadow: 0 0 12px rgba(0, 245, 212, 0.25);
    background-color: #171c35;
}

.portal-add-game .portal-textarea {
    resize: vertical;
    min-height: 100px;
}

.portal-add-game .portal-consent-wrap {
    margin-top: 0.25rem;
}

.portal-add-game .portal-checkbox {
    width: 18px;
    height: 18px;
    accent-color: #8b5cf6;
    flex-shrink: 0;
    cursor: pointer;
}

.portal-add-game .portal-consent-label {
    font-size: 0.875rem;
    color: #94a3b8;
    margin-bottom: 0;
    cursor: pointer;
}

.portal-add-game .portal-policy-link {
    color: #00f5d4;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.portal-add-game .portal-policy-link:hover {
    color: #7c3aed;
}

.portal-add-game .portal-submit-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    background-color: #8b5cf6;
    color: #ffffff;
    border: 1px solid #8b5cf6;
    border-radius: 9999px;
    padding: 0.875rem 2rem;
    font-weight: 600;
    font-size: 1rem;
    letter-spacing: 0.08em;
    transition: background-color 0.2s, box-shadow 0.2s, border-color 0.2s;
    cursor: pointer;
}

.portal-add-game .portal-submit-btn:hover {
    background-color: #7c3aed;
    border-color: #00f5d4;
    box-shadow: 0 0 20px rgba(0, 245, 212, 0.4);
    color: #ffffff;
}

.portal-add-game .portal-btn-icon {
    width: 18px;
    height: 18px;
}

@media (max-width: 767px) {
    .portal-add-game {
        padding-top: 3rem;
        padding-bottom: 3rem;
    }

    .portal-add-game .portal-title {
        font-size: 1.25rem;
    }

    .portal-add-game .portal-info-heading {
        font-size: 1.125rem;
    }

    .portal-add-game .portal-form-title {
        font-size: 1.125rem;
    }

    .portal-add-game .portal-info-card,
    .portal-add-game .portal-form-panel {
        padding: 1.25rem;
        border-radius: 20px;
    }

    .portal-add-game .portal-preview-media {
        height: 160px;
    }
}

/* ===== new_games ===== */
.orbital-new-games {
    position: relative;
    padding-top: 80px;
    padding-bottom: 80px;
    overflow: hidden;
}

.orbital-new-games::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 620px;
    height: 620px;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    border: 1px dashed rgba(139, 92, 246, 0.2);
    pointer-events: none;
}

.orbital-new-games .orbital-new-games__header {
    max-width: 680px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 48px;
    position: relative;
    z-index: 1;
}

.orbital-new-games .orbital-new-games__orbit-arc {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 1px solid rgba(0, 245, 212, 0.35);
    box-shadow: 0 0 14px rgba(0, 245, 212, 0.2);
    margin-bottom: 12px;
}

.orbital-new-games .orbital-new-games__satellite-icon {
    width: 18px;
    height: 18px;
    color: var(--secondary-accent, #00f5d4);
}

.orbital-new-games .orbital-new-games__eyebrow {
    display: block;
    margin-bottom: 10px;
    color: var(--secondary-accent, #00f5d4);
    font-size: 0.8125rem;
    letter-spacing: 0.22em;
    font-weight: 700;
    text-transform: uppercase;
}

.orbital-new-games .orbital-new-games__title {
    font-size: 2.125rem;
    line-height: 1.3;
    font-weight: 600;
    letter-spacing: 0.12em;
    color: var(--text-dark-bg-primary, #f8fafc);
    margin-bottom: 16px;
}

.orbital-new-games .orbital-new-games__lead {
    color: var(--text-dark-bg-secondary, #94a3b8);
    font-size: 0.95rem;
    line-height: 1.65;
    margin: 0;
}

.orbital-new-games .orbital-new-games__card {
    background: var(--surface-panel, #171c35);
    border: 1px solid rgba(139, 92, 246, 0.25);
    border-radius: 28px;
    padding: 24px 20px;
    display: flex;
    flex-direction: column;
    box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.6);
    position: relative;
    transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.orbital-new-games .orbital-new-games__card:hover {
    border-color: var(--secondary-accent, #00f5d4);
    box-shadow: 0 10px 30px -5px rgba(0, 245, 212, 0.35);
}

.orbital-new-games .orbital-new-games__visual-wrap {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 20px;
}

.orbital-new-games .orbital-new-games__media-link {
    display: block;
    border-radius: 50%;
}

.orbital-new-games .orbital-new-games__thumb-ring {
    width: 110px;
    height: 110px;
    border-radius: 50%;
    padding: 4px;
    border: 1px solid rgba(139, 92, 246, 0.35);
    box-shadow: 0 8px 24px -4px rgba(139, 92, 246, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--surface-pill, #1e2442);
}

.orbital-new-games .orbital-new-games__thumb-img {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    display: block;
}

.orbital-new-games .orbital-new-games__status-orbit {
    position: absolute;
    top: 0;
    right: calc(50% - 66px);
    width: 22px;
    height: 22px;
    border-radius: 50%;
    border: 1px dashed rgba(0, 245, 212, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}

.orbital-new-games .orbital-new-games__beacon {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--secondary-accent, #00f5d4);
    box-shadow: 0 0 10px var(--secondary-accent, #00f5d4);
}

.orbital-new-games .orbital-new-games__content {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.orbital-new-games .orbital-new-games__badge {
    font-size: 0.75rem;
    letter-spacing: 0.05em;
    padding: 4px 10px;
    border-radius: 9999px;
    background: rgba(139, 92, 246, 0.2);
    color: var(--secondary-accent, #00f5d4);
    border: 1px solid rgba(139, 92, 246, 0.4);
}

.orbital-new-games .orbital-new-games__game-title {
    font-size: 1.15rem;
    font-weight: 600;
    line-height: 1.35;
    margin-bottom: 8px;
    overflow-wrap: anywhere;
}

.orbital-new-games .orbital-new-games__title-link {
    color: var(--text-dark-bg-primary, #f8fafc);
    text-decoration: none;
    transition: color 0.2s ease;
}

.orbital-new-games .orbital-new-games__title-link:hover {
    color: var(--secondary-accent, #00f5d4);
}

.orbital-new-games .orbital-new-games__meta-row {
    font-size: 0.8125rem;
}

.orbital-new-games .orbital-new-games__meta-label {
    color: var(--text-dark-bg-muted, #64748b);
    font-weight: 500;
}

.orbital-new-games .orbital-new-games__meta-value {
    color: var(--energy-highlight, #ffd166);
    font-weight: 600;
}

.orbital-new-games .orbital-new-games__desc {
    font-size: 0.875rem;
    line-height: 1.6;
    color: var(--text-dark-bg-secondary, #94a3b8);
    margin-bottom: 20px;
    flex-grow: 1;
    overflow-wrap: anywhere;
}

.orbital-new-games .orbital-new-games__action {
    margin-top: auto;
}

.orbital-new-games .orbital-new-games__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 10px 16px;
    border-radius: 9999px;
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    background: var(--button-primary-bg, #8b5cf6);
    color: var(--button-primary-text, #ffffff);
    border: 1px solid transparent;
    text-decoration: none;
    transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

.orbital-new-games .orbital-new-games__btn:hover {
    background: var(--button-primary-hover_bg, #7c3aed);
    color: #ffffff;
    box-shadow: 0 0 16px rgba(139, 92, 246, 0.5);
}

.orbital-new-games .orbital-new-games__catalog-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 30px;
    border-radius: 9999px;
    font-size: 0.9375rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-decoration: none;
    color: var(--button-ring-text, #00f5d4);
    border: 2px solid var(--button-ring-border, #00f5d4);
    box-shadow: 0 0 14px rgba(0, 245, 212, 0.25);
    transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.orbital-new-games .orbital-new-games__catalog-btn:hover {
    background: var(--button-ring-hover_bg, #00f5d4);
    color: var(--button-ring-hover_text, #0a0c16);
    box-shadow: 0 0 24px rgba(0, 245, 212, 0.7);
}

.orbital-new-games .orbital-new-games__btn-icon {
    width: 16px;
    height: 16px;
}

@media (max-width: 767px) {
    .orbital-new-games {
        padding-top: 48px;
        padding-bottom: 48px;
    }

    .orbital-new-games .orbital-new-games__title {
        font-size: 1.35rem;
    }

    .orbital-new-games .orbital-new-games__card {
        border-radius: 20px;
        padding: 20px 16px;
    }

    .orbital-new-games .orbital-new-games__thumb-ring {
        width: 96px;
        height: 96px;
    }

    .orbital-new-games .orbital-new-games__status-orbit {
        right: calc(50% - 56px);
    }

    .orbital-new-games .orbital-new-games__catalog-btn {
        width: 100%;
    }
}

/* ===== footer ===== */
.gam-footer {
    background-color: #080a12;
    color: #f8fafc;
    padding-top: 64px;
    font-family: 'Noto Serif KR', serif;
}

.gam-footer .gam-footer-arc {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 1400px;
    height: 700px;
    border-radius: 50%;
    border-top: 1px solid rgba(139, 92, 246, 0.25);
    pointer-events: none;
}

.gam-footer .gam-footer-glow {
    position: absolute;
    top: -120px;
    left: 50%;
    transform: translateX(-50%);
    width: 600px;
    height: 300px;
    background: radial-gradient(circle, rgba(139, 92, 246, 0.15) 0%, rgba(8, 10, 18, 0) 70%);
    pointer-events: none;
}

.gam-footer .gam-footer-border {
    border-color: rgba(139, 92, 246, 0.2) !important;
}

.gam-footer .gam-orbital-icon-wrap {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #171c35;
    border: 1px solid rgba(0, 245, 212, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 12px rgba(0, 245, 212, 0.2);
}

.gam-footer .gam-orbital-glyph {
    width: 22px;
    height: 22px;
    color: #00f5d4;
}

.gam-footer .gam-brand-title {
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #f8fafc;
}

.gam-footer .gam-brand-desc {
    font-size: 0.875rem;
    color: #94a3b8;
}

.gam-footer .gam-back-to-top {
    background: transparent;
    border: 1px solid #00f5d4;
    color: #00f5d4;
    border-radius: 9999px;
    padding: 10px 22px;
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    cursor: pointer;
}

.gam-footer .gam-back-to-top:hover {
    background: #00f5d4;
    color: #0a0c16;
}

.gam-footer .gam-arrow-glyph {
    width: 16px;
    height: 16px;
}

.gam-footer .gam-column-title {
    font-size: 1rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: #00f5d4;
    margin-bottom: 20px;
    line-height: 1.3;
}

.gam-footer .gam-column-text {
    font-size: 0.875rem;
    line-height: 1.65;
    color: #94a3b8;
    margin-bottom: 20px;
}

.gam-footer .gam-status-pill {
    background: #1e2442;
    border: 1px solid rgba(139, 92, 246, 0.3);
    border-radius: 9999px;
    padding: 6px 14px;
    font-size: 0.75rem;
    color: #f8fafc;
}

.gam-footer .gam-status-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #00f5d4;
    box-shadow: 0 0 8px #00f5d4;
}

.gam-footer .gam-footer-link {
    color: #94a3b8;
    text-decoration: none;
    font-size: 0.875rem;
    line-height: 1.5;
    display: inline-block;
}

.gam-footer .gam-footer-link:hover {
    color: #00f5d4;
    text-decoration: underline;
}

.gam-footer .gam-contact-icon {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #171c35;
    border: 1px solid rgba(139, 92, 246, 0.25);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #00f5d4;
    margin-top: 2px;
}

.gam-footer .gam-contact-icon svg {
    width: 14px;
    height: 14px;
}

.gam-footer .gam-contact-info {
    min-width: 0;
}

.gam-footer .gam-contact-label {
    font-size: 0.75rem;
    color: #64748b;
    letter-spacing: 0.05em;
    margin-bottom: 2px;
}

.gam-footer .gam-contact-val {
    font-size: 0.875rem;
    color: #f8fafc;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.gam-footer .gam-contact-link {
    text-decoration: none;
}

.gam-footer .gam-contact-link:hover {
    color: #00f5d4;
    text-decoration: underline;
}

.gam-footer .gam-copyright {
    font-size: 0.8125rem;
    color: #64748b;
    letter-spacing: 0.05em;
}

@media (max-width: 767px) {
    .gam-footer {
        padding-top: 48px;
    }

    .gam-footer .gam-column-title {
        font-size: 14px;
        margin-bottom: 14px;
    }

    .gam-footer .gam-brand-title {
        font-size: 1.1rem;
    }

    .gam-footer .gam-brand-desc {
        font-size: 0.8125rem;
    }
}

/* ===== PAGE: privacy ===== */
#privacy-content.policy-content{color:var(--text-dark-bg-primary,#f8fafc);background-color:var(--surface-panel,#171c35);border:1px solid var(--border-orbit,rgba(139,92,246,0.25));border-radius:var(--border-radius-panel,32px);padding:32px 24px;margin:0 auto;max-width:100%;box-shadow:0 20px 40px -15px rgba(0,0,0,0.6);font-family:var(--font-family-base,'Noto Serif KR',serif);font-size:1rem;line-height:1.7;overflow-wrap:anywhere;hyphens:auto}#privacy-content .policy-header-meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:28px;padding-bottom:16px;border-bottom:1px solid rgba(139,92,246,0.2)}#privacy-content .policy-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 16px;background:var(--surface-pill,#1e2442);border:1px solid var(--border-orbit,rgba(139,92,246,0.25));border-radius:9999px;font-size:0.8125rem;color:var(--text-dark-bg-secondary,#94a3b8);letter-spacing:0.04em}#privacy-content .policy-status-dot{width:8px;height:8px;border-radius:50%;background-color:var(--secondary-accent,#00f5d4);box-shadow:0 0 8px var(--secondary-accent,#00f5d4);flex-shrink:0}#privacy-content .policy-lead{font-size:1.0625rem;color:var(--text-dark-bg-primary,#f8fafc);line-height:1.75;margin-bottom:24px}#privacy-content .policy-callout{background:rgba(139,92,246,0.1);border-left:4px solid var(--secondary-accent,#00f5d4);border-radius:0 16px 16px 0;padding:16px 20px;margin-bottom:32px;color:var(--text-dark-bg-secondary,#94a3b8);font-size:0.9375rem;line-height:1.6}#privacy-content .policy-callout strong{color:var(--secondary-accent,#00f5d4)}#privacy-content h2{font-size:1.375rem;font-weight:600;letter-spacing:0.06em;color:var(--text-dark-bg-primary,#f8fafc);margin-top:36px;margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid rgba(139,92,246,0.15);line-height:1.3}#privacy-content h3{font-size:1.125rem;font-weight:600;letter-spacing:0.04em;color:var(--secondary-accent,#00f5d4);margin-top:20px;margin-bottom:12px;line-height:1.35}#privacy-content p{margin-bottom:16px;color:var(--text-dark-bg-secondary,#94a3b8)}#privacy-content ul{list-style:disc;padding-left:24px;margin-bottom:24px}#privacy-content li{margin-bottom:10px;color:var(--text-dark-bg-secondary,#94a3b8);line-height:1.65}#privacy-content li strong{color:var(--text-dark-bg-primary,#f8fafc)}#privacy-content a{color:var(--secondary-accent,#00f5d4);text-decoration:none;border-bottom:1px dashed var(--secondary-accent,#00f5d4)}#privacy-content a:hover{color:#ffffff;border-bottom-style:solid}#privacy-content .policy-contact-box{background:var(--surface-pill,#1e2442);border:1px solid rgba(139,92,246,0.3);border-radius:20px;padding:24px;margin-top:24px;margin-bottom:24px}#privacy-content .policy-contact-box p{margin-bottom:8px}#privacy-content .policy-contact-box p:last-child{margin-bottom:0}@media (max-width:767px){#privacy-content.policy-content{padding:20px 16px;border-radius:20px}#privacy-content h2{font-size:16px;margin-top:28px;margin-bottom:12px}#privacy-content h3{font-size:14px;margin-top:16px;margin-bottom:10px}#privacy-content .policy-lead{font-size:0.9375rem}#privacy-content p,#privacy-content li{font-size:0.875rem}#privacy-content .policy-contact-box{padding:16px}}

/* ===== PAGE: terms ===== */
#privacy-content.policy-content{color:#f8fafc;font-family:'Noto Serif KR',serif;font-weight:400;line-height:1.75;letter-spacing:0.01em;padding:48px 24px;max-width:920px;margin-left:auto;margin-right:auto;overflow-wrap:anywhere;hyphens:auto;box-sizing:border-box}#privacy-content .policy-content__intro{padding:28px;background:#171c35;border:1px solid rgba(139,92,246,0.25);border-radius:24px;margin-bottom:40px;box-shadow:0 12px 30px -10px rgba(0,0,0,0.5)}#privacy-content .policy-content__lead{color:#f8fafc;font-size:1.0625rem;line-height:1.8;margin-bottom:18px}#privacy-content .policy-content__meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px}#privacy-content .policy-content__badge{display:inline-flex;align-items:center;padding:6px 14px;border-radius:9999px;background:#1e2442;border:1px solid #00f5d4;color:#00f5d4;font-size:0.75rem;font-weight:600;letter-spacing:0.05em}#privacy-content .policy-content__section{margin-bottom:36px;padding-bottom:28px;border-bottom:1px solid rgba(139,92,246,0.18)}#privacy-content .policy-content__section--contact{background:#111528;border:1px solid rgba(139,92,246,0.25);border-radius:24px;padding:32px;margin-bottom:0}#privacy-content .policy-content__h2{color:#f8fafc;font-family:'Noto Serif KR',serif;font-size:1.375rem;font-weight:700;line-height:1.35;margin-bottom:16px;letter-spacing:0.08em}#privacy-content p{color:#94a3b8;font-size:0.975rem;line-height:1.75;margin-bottom:14px}#privacy-content strong{color:#f8fafc;font-weight:600}#privacy-content .policy-content__list{list-style-type:disc;padding-left:22px;margin-bottom:16px}#privacy-content .policy-content__list li{color:#94a3b8;font-size:0.975rem;line-height:1.75;margin-bottom:10px}#privacy-content .policy-content__contact-list{list-style:none;padding-left:0;margin:18px 0}#privacy-content .policy-content__contact-list li{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:#94a3b8;font-size:0.95rem;margin-bottom:12px}#privacy-content .policy-content__link{color:#00f5d4;text-decoration:none;border-bottom:1px solid rgba(0,245,212,0.4)}#privacy-content .policy-content__link:hover{color:#8b5cf6;border-color:#8b5cf6}#privacy-content .policy-content__notice{font-size:0.875rem;color:#64748b;margin-bottom:0;margin-top:14px}@media(max-width:767px){#privacy-content.policy-content{padding:32px 16px}#privacy-content .policy-content__intro{padding:20px;border-radius:18px;margin-bottom:28px}#privacy-content .policy-content__section--contact{padding:20px;border-radius:18px}#privacy-content .policy-content__h2{font-size:1rem;line-height:1.3}#privacy-content .policy-content__lead{font-size:0.9375rem}#privacy-content p,#privacy-content .policy-content__list li{font-size:0.875rem}#privacy-content .policy-content__contact-list li{font-size:0.875rem}}

/* ===== PAGE: disclaimer ===== */
#privacy-content.policy-content { width: 100%; max-width: 960px; margin: 0 auto; padding: 40px 20px 80px; color: #f8fafc; font-family: 'Noto Serif KR', serif; line-height: 1.7; overflow-wrap: anywhere; word-break: keep-all; hyphens: auto; } #privacy-content .disclaimer-card { background: #171c35; border: 1px solid rgba(139, 92, 246, 0.25); border-radius: 32px; padding: 48px; box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.6); position: relative; } #privacy-content .disclaimer-header { border-bottom: 1px solid rgba(139, 92, 246, 0.2); padding-bottom: 24px; margin-bottom: 36px; text-align: center; } #privacy-content .disclaimer-badge { display: inline-block; padding: 6px 18px; border-radius: 9999px; background: rgba(139, 92, 246, 0.18); border: 1px solid #8b5cf6; color: #00f5d4; font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; margin-bottom: 16px; } #privacy-content .disclaimer-heading { font-size: 2rem; font-weight: 700; line-height: 1.3; color: #f8fafc; letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 12px; } #privacy-content .disclaimer-meta { color: #94a3b8; font-size: 0.9375rem; margin-bottom: 0; } #privacy-content .disclaimer-section { margin-bottom: 32px; } #privacy-content .disclaimer-section:last-child { margin-bottom: 0; } #privacy-content .disclaimer-section h3 { font-size: 1.3rem; font-weight: 600; line-height: 1.4; color: #00f5d4; letter-spacing: 0.04em; margin-bottom: 14px; } #privacy-content .disclaimer-section p { font-size: 1rem; color: #cbd5e1; line-height: 1.75; margin-bottom: 14px; } #privacy-content .disclaimer-section ul { list-style: disc; margin: 12px 0 16px 24px; padding: 0; } #privacy-content .disclaimer-section ul li { color: #cbd5e1; font-size: 0.975rem; line-height: 1.7; margin-bottom: 8px; } #privacy-content .disclaimer-contact-card { background: #1e2442; border: 1px solid rgba(0, 245, 212, 0.25); border-radius: 20px; padding: 28px; margin-top: 20px; } #privacy-content .disclaimer-contact-list { list-style: none !important; margin: 16px 0 0 0 !important; padding: 0 !important; } #privacy-content .disclaimer-contact-list li { margin-bottom: 10px; color: #cbd5e1; font-size: 0.95rem; line-height: 1.6; } #privacy-content .disclaimer-contact-list li strong { color: #f8fafc; margin-right: 6px; } #privacy-content .disclaimer-contact-list a { color: #00f5d4; text-decoration: none; border-bottom: 1px dotted rgba(0, 245, 212, 0.6); } #privacy-content .disclaimer-contact-list a:hover { color: #ffffff; border-bottom-color: #ffffff; } @media (max-width: 767px) { #privacy-content.policy-content { padding: 24px 12px 60px; } #privacy-content .disclaimer-card { padding: 24px 16px; border-radius: 20px; } #privacy-content .disclaimer-heading { font-size: 1.125rem; letter-spacing: 0.02em; } #privacy-content .disclaimer-section h3 { font-size: 0.875rem; } #privacy-content .disclaimer-section p, #privacy-content .disclaimer-section ul li { font-size: 0.8125rem; line-height: 1.6; } #privacy-content .disclaimer-contact-card { padding: 18px 14px; border-radius: 14px; } #privacy-content .disclaimer-contact-list li { font-size: 0.8125rem; } }

/* ===== PAGE: cookies ===== */
#privacy-content.policy-content { background-color: var(--surface-panel, #171c35); border: 1px solid var(--border-orbit, rgba(139, 92, 246, 0.25)); border-radius: 32px; padding: 48px; color: var(--text-dark-bg-primary, #f8fafc); font-family: 'Noto Serif KR', serif; box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.6); overflow-wrap: anywhere; hyphens: auto; } #privacy-content .policy-meta-pill { display: inline-flex; align-items: center; gap: 8px; background: var(--surface-pill, #1e2442); border: 1px solid var(--border-orbit, rgba(139, 92, 246, 0.25)); border-radius: 9999px; padding: 6px 16px; margin-bottom: 28px; } #privacy-content .policy-status-dot { width: 8px; height: 8px; border-radius: 50%; background-color: var(--secondary-accent, #00f5d4); box-shadow: 0 0 10px var(--secondary-accent, #00f5d4); flex-shrink: 0; } #privacy-content .policy-meta-text { font-size: 0.8125rem; font-weight: 500; color: var(--text-dark-bg-secondary, #94a3b8); letter-spacing: 0.05em; } #privacy-content .policy-heading { font-size: 1.5rem; font-weight: 600; line-height: 1.3; color: var(--text-dark-bg-primary, #f8fafc); text-transform: uppercase; letter-spacing: 0.08em; margin-top: 36px; margin-bottom: 16px; border-bottom: 1px solid rgba(139, 92, 246, 0.2); padding-bottom: 10px; } #privacy-content .policy-heading:first-of-type { margin-top: 0; } #privacy-content .policy-subheading { font-size: 1.125rem; font-weight: 600; line-height: 1.4; color: var(--secondary-accent, #00f5d4); margin-bottom: 10px; } #privacy-content .policy-text { font-size: 0.9375rem; font-weight: 400; line-height: 1.7; color: var(--text-dark-bg-secondary, #94a3b8); margin-bottom: 16px; } #privacy-content .policy-card-panel { background: rgba(30, 36, 66, 0.5); border: 1px solid rgba(139, 92, 246, 0.2); border-radius: 16px; padding: 20px 24px; margin-bottom: 16px; } #privacy-content .policy-card-panel .policy-text:last-child { margin-bottom: 0; } #privacy-content .policy-list { list-style: disc inside; margin-bottom: 24px; padding-left: 8px; color: var(--text-dark-bg-secondary, #94a3b8); font-size: 0.9375rem; line-height: 1.8; } #privacy-content .policy-list li { margin-bottom: 8px; } #privacy-content .policy-list strong { color: var(--text-dark-bg-primary, #f8fafc); font-weight: 600; } #privacy-content .policy-contact-box { background: var(--surface-pill, #1e2442); border: 1px solid var(--border-orbit, rgba(139, 92, 246, 0.3)); border-radius: 20px; padding: 24px; margin-top: 20px; } #privacy-content .policy-contact-line { font-size: 0.9375rem; line-height: 1.7; color: var(--text-dark-bg-secondary, #94a3b8); margin-bottom: 8px; } #privacy-content .policy-contact-line:last-child { margin-bottom: 0; } #privacy-content .policy-contact-line strong { color: var(--text-dark-bg-primary, #f8fafc); font-weight: 600; margin-right: 6px; } #privacy-content .policy-link { color: var(--secondary-accent, #00f5d4); text-decoration: none; word-break: break-all; } #privacy-content .policy-link:hover, #privacy-content .policy-link:focus { color: #ffffff; text-decoration: underline; } @media (max-width: 767px) { #privacy-content.policy-content { padding: 24px 16px; border-radius: 20px; } #privacy-content .policy-heading { font-size: 1rem; line-height: 1.3; margin-top: 28px; margin-bottom: 12px; } #privacy-content .policy-subheading { font-size: 0.875rem; line-height: 1.3; } #privacy-content .policy-text, #privacy-content .policy-list, #privacy-content .policy-contact-line { font-size: 0.8125rem; line-height: 1.6; } #privacy-content .policy-card-panel { padding: 16px; } #privacy-content .policy-contact-box { padding: 16px; } }

/* ===== PAGE: about ===== */
.about-page-wrapper{background-color:#0a0c16;color:#f8fafc;position:relative;overflow:hidden}.about-orbit-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background-color:#00f5d4;box-shadow:0 0 8px #00f5d4}.about-lead-desc{max-width:680px;color:#94a3b8;font-size:1.05rem;line-height:1.7}.about-story-card{background:#171c35;border:1px solid rgba(139,92,246,0.25);border-radius:32px;padding:36px;box-shadow:0 20px 40px -15px rgba(0,0,0,0.6);display:flex;flex-direction:column;justify-content:center}.about-card-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;background:#1e2442;border:1px solid rgba(0,245,212,0.3);border-radius:9999px;color:#00f5d4;font-size:0.85rem;font-weight:600;width:fit-content}.about-icon-sm{width:16px;height:16px}.about-text-body{color:#94a3b8;font-size:0.95rem;line-height:1.75}.about-stat-pill{background:#1e2442;border:1px solid rgba(139,92,246,0.2);border-radius:9999px;padding:8px 18px;display:inline-flex;flex-direction:column;align-items:center}.stat-num{color:#00f5d4;font-size:1.15rem;font-weight:700}.stat-label{color:#64748b;font-size:0.75rem}.about-image-card{background:#171c35;border:1px solid rgba(139,92,246,0.2);border-radius:32px;padding:16px;overflow:hidden;box-shadow:0 20px 40px -15px rgba(0,0,0,0.6)}.about-image-wrapper{width:100%;height:100%;min-height:320px;border-radius:24px;overflow:hidden}.about-feature-img{width:100%;height:100%;object-fit:cover;border-radius:24px}.about-pillar-card{background:#171c35;border:1px solid rgba(139,92,246,0.2);border-radius:28px;padding:28px;box-shadow:0 10px 30px -5px rgba(0,0,0,0.5)}.about-pillar-icon{width:48px;height:48px;border-radius:50%;background:#1e2442;border:1px solid #00f5d4;color:#00f5d4;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 0 14px rgba(0,245,212,0.25)}.about-pillar-icon svg{width:22px;height:22px}.about-text-muted{color:#94a3b8;font-size:0.9rem;line-height:1.6}.about-cta-panel{background:radial-gradient(circle at center,rgba(139,92,246,0.2) 0%,rgba(23,28,53,0.85) 100%);border:1px solid rgba(0,245,212,0.3);border-radius:32px;padding:48px 24px;position:relative;overflow:hidden}.about-cta-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:300px;height:300px;background:rgba(0,245,212,0.12);filter:blur(60px);border-radius:50%;pointer-events:none}.vh-btn{background-color:#8b5cf6;border-color:#8b5cf6;color:#ffffff;border-radius:9999px;font-weight:600}.vh-btn:hover{background-color:#7c3aed;border-color:#7c3aed;color:#ffffff}.vh-btn-alt{border:2px solid #00f5d4;color:#00f5d4;background:transparent;border-radius:9999px;font-weight:600}.vh-btn-alt:hover{background-color:#00f5d4;color:#0a0c16;border-color:#00f5d4}@media(max-width:767px){.about-story-card,.about-pillar-card{padding:20px}.about-cta-panel{padding:32px 16px}.about-lead-desc{font-size:0.95rem}}

/* ===== PAGE: catalog ===== */
.catalog-portal { position: relative; background: radial-gradient(circle at center, rgba(139, 92, 246, 0.12) 0%, rgba(10, 12, 22, 0) 70%), #0a0c16; color: #f8fafc; overflow: hidden; } .catalog-portal::before { content: ''; position: absolute; top: -180px; left: 50%; transform: translateX(-50%); width: 720px; height: 720px; border-radius: 50%; border: 1px solid rgba(139, 92, 246, 0.15); pointer-events: none; } .catalog-portal__header { position: relative; z-index: 1; } .catalog-portal__satellite-icon { color: #00f5d4; } .catalog-portal__heading { font-size: 2.25rem; font-weight: 700; letter-spacing: 0.12em; color: #ffffff; margin-bottom: 0.5rem; } .catalog-portal__arc-line { width: 140px; height: 2px; background: linear-gradient(90deg, transparent, #00f5d4, transparent); } .catalog-portal__lead { max-width: 640px; font-size: 1rem; line-height: 1.7; color: #94a3b8; } .catalog-portal__controls-box { background: #171c35; border: 1px solid rgba(139, 92, 246, 0.25); box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.6); } .catalog-portal__input { background-color: #1e2442 !important; border: 1px solid rgba(139, 92, 246, 0.35) !important; color: #f8fafc !important; border-radius: 9999px; padding: 10px 42px 10px 20px; font-size: 0.9375rem; } .catalog-portal__input::placeholder { color: #94a3b8 !important; opacity: 1; } .catalog-portal__input:focus { border-color: #00f5d4 !important; box-shadow: 0 0 14px rgba(0, 245, 212, 0.35) !important; outline: none; } .catalog-portal__filter-btn { background: #1e2442; color: #94a3b8; border: 1px solid rgba(139, 92, 246, 0.25); border-radius: 9999px; padding: 8px 18px; font-size: 0.875rem; cursor: pointer; } .catalog-portal__filter-btn:hover { color: #00f5d4; border-color: #00f5d4; } .catalog-portal__filter-btn.active { background: #8b5cf6; color: #ffffff; border-color: #00f5d4; box-shadow: 0 0 14px rgba(0, 245, 212, 0.35); } .catalog-portal__row-card { background: #171c35; border: 1px solid rgba(139, 92, 246, 0.25); border-radius: 28px; padding: 20px 24px; box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.6); } .catalog-portal__row-card:hover { border-color: #00f5d4; box-shadow: 0 10px 30px -5px rgba(0, 245, 212, 0.25); } .catalog-portal__thumb-link { aspect-ratio: 16 / 9; max-height: 190px; background-color: #111528; } .catalog-portal__thumb-img { aspect-ratio: 16 / 9; object-fit: cover; } .catalog-portal__orbit-dot { width: 8px; height: 8px; border-radius: 50%; background-color: #00f5d4; box-shadow: 0 0 8px #00f5d4; display: inline-block; } .catalog-portal__tag { font-size: 0.75rem; font-weight: 600; padding: 3px 10px; border-radius: 9999px; background: rgba(139, 92, 246, 0.2); color: #c4b5fd; border: 1px solid rgba(139, 92, 246, 0.4); } .catalog-portal__tag-alt { font-size: 0.75rem; padding: 3px 10px; border-radius: 9999px; background: rgba(0, 245, 212, 0.1); color: #00f5d4; border: 1px solid rgba(0, 245, 212, 0.25); } .catalog-portal__item-title { font-size: 1.25rem; font-weight: 700; } .catalog-portal__item-title a { color: #f8fafc; } .catalog-portal__item-title a:hover { color: #00f5d4; } .catalog-portal__item-summary { font-size: 0.875rem; line-height: 1.6; color: #94a3b8; } .catalog-portal__action-btn { background: #8b5cf6; color: #ffffff; border: 1px solid #00f5d4; border-radius: 9999px; padding: 12px 24px; font-weight: 600; font-size: 0.9375rem; letter-spacing: 0.05em; box-shadow: 0 0 16px rgba(0, 245, 212, 0.25); } .catalog-portal__action-btn:hover { background: #00f5d4; color: #0a0c16; box-shadow: 0 0 20px rgba(0, 245, 212, 0.6); } .catalog-portal__orbit-null { width: 48px; height: 48px; border: 2px dashed rgba(139, 92, 246, 0.4); border-radius: 50%; } @media (max-width: 767px) { .catalog-portal__heading { font-size: 1rem; } .catalog-portal__item-title { font-size: 0.875rem; } .catalog-portal__row-card { padding: 16px; border-radius: 20px; } .catalog-portal__filter-pills { width: 100%; justify-content: flex-start !important; } .catalog-portal__filter-btn { font-size: 0.8125rem; padding: 6px 14px; } }

/* ===== PAGE: comparison ===== */
.orbital-comparison {
  position: relative;
  background: radial-gradient(circle at center, rgba(139, 92, 246, 0.12) 0%, rgba(10, 12, 22, 0) 70%), #0a0c16;
  padding-top: 64px;
  padding-bottom: 96px;
}

.orbital-comparison__header {
  max-width: 680px;
}

.orbital-comparison__heading {
  color: #f8fafc;
  letter-spacing: 0.08em;
}

.orbital-comparison__subtext {
  color: #94a3b8;
  font-size: 0.95rem;
  line-height: 1.6;
}

.orbital-comparison__satellite-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #00f5d4;
  box-shadow: 0 0 8px #00f5d4;
}

.orbital-comparison__controls {
  background: #171c35;
  border: 1px solid rgba(139, 92, 246, 0.25);
  box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.5);
}

.orbital-comparison__search-box {
  background: #111528;
  border: 1px solid rgba(139, 92, 246, 0.3);
}

.orbital-comparison__search-icon {
  color: #00f5d4;
}

.orbital-comparison__search-box input {
  outline: none;
  box-shadow: none;
  font-size: 0.875rem;
}

.orbital-comparison__search-box input::placeholder {
  color: #64748b;
}

.orbital-comparison__filters .js-filter-btn {
  background: #1e2442;
  border: 1px solid rgba(139, 92, 246, 0.3);
  color: #94a3b8;
  font-size: 0.8125rem;
}

.orbital-comparison__filters .js-filter-btn:hover,
.orbital-comparison__filters .js-filter-btn.is-active {
  background: #8b5cf6;
  border-color: #00f5d4;
  color: #ffffff;
  box-shadow: 0 0 12px rgba(0, 245, 212, 0.3);
}

.orbital-comparison__table-wrapper {
  background: #171c35;
  border: 1px solid rgba(139, 92, 246, 0.25);
  box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.6);
}

.orbital-comparison__table {
  color: #f8fafc;
  border-color: rgba(139, 92, 246, 0.15);
}

.orbital-comparison__table thead th {
  background: #111528;
  color: #94a3b8;
  font-weight: 600;
  font-size: 0.8125rem;
  letter-spacing: 0.05em;
  border-bottom: 2px solid rgba(139, 92, 246, 0.3);
}

.orbital-comparison__table tbody tr {
  background: transparent;
  border-bottom: 1px solid rgba(139, 92, 246, 0.15);
}

.orbital-comparison__table tbody tr:hover {
  background: rgba(139, 92, 246, 0.08);
}

.orbital-comparison__thumb-wrap {
  position: relative;
  width: 48px;
  height: 48px;
}

.orbital-comparison__thumb {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: 1px solid rgba(0, 245, 212, 0.5);
}

.orbital-comparison__status-satellite {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #00f5d4;
  box-shadow: 0 0 8px #00f5d4;
  border: 2px solid #171c35;
}

.orbital-comparison__spec-pill {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 9999px;
  background: #1e2442;
  border: 1px solid rgba(139, 92, 246, 0.3);
  font-size: 0.75rem;
  color: #ffd166;
}

.orbital-comparison__dot-yes {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #00f5d4;
  font-size: 0.8125rem;
}

.orbital-comparison__dot-yes::before {
  content: '';
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #00f5d4;
}

.orbital-comparison__dot-no {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #94a3b8;
  font-size: 0.8125rem;
}

.orbital-comparison__dot-no::before {
  content: '';
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #64748b;
}

.orbital-comparison__guide-banner {
  background: #171c35;
  border: 1px solid rgba(139, 92, 246, 0.25);
  box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.6);
  position: relative;
  overflow: hidden;
}

.orbital-comparison__guide-banner::after {
  content: '';
  position: absolute;
  top: -50%;
  right: -20%;
  width: 320px;
  height: 320px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(0, 245, 212, 0.08) 0%, rgba(0, 0, 0, 0) 70%);
  pointer-events: none;
}

@media (max-width: 767px) {
  .orbital-comparison {
    padding-top: 40px;
    padding-bottom: 60px;
  }

  .orbital-comparison__table thead {
    display: none;
  }

  .orbital-comparison__table,
  .orbital-comparison__table tbody,
  .orbital-comparison__table tr,
  .orbital-comparison__table td {
    display: block;
    width: 100%;
  }

  .orbital-comparison__table tbody tr {
    padding: 16px;
    border-bottom: 2px solid rgba(139, 92, 246, 0.25);
  }

  .orbital-comparison__table td {
    padding: 8px 0 !important;
    text-align: left !important;
  }

  .orbital-comparison__table td:last-child {
    padding-top: 12px !important;
    border-top: 1px dashed rgba(139, 92, 246, 0.2);
  }
}

/* ===== PAGE: guide ===== */
.guide-section {
  background-color: var(--background-primary, #0a0c16);
  color: var(--text-dark-bg-primary, #f8fafc);
  min-height: 80vh;
}

.guide-cosmic-bg {
  width: 900px;
  height: 900px;
  background: radial-gradient(circle, rgba(139, 92, 246, 0.18) 0%, rgba(0, 245, 212, 0.08) 40%, rgba(10, 12, 22, 0) 70%);
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
}

.guide-eyebrow-pill {
  background: #1e2442;
  border: 1px solid rgba(139, 92, 246, 0.35);
  border-radius: 9999px;
  padding: 6px 18px;
}

.guide-orbit-dot {
  width: 8px;
  height: 8px;
  background-color: #00f5d4;
  border-radius: 50%;
  box-shadow: 0 0 10px #00f5d4;
  display: inline-block;
}

.guide-eyebrow-text {
  font-size: 0.75rem;
  letter-spacing: 0.22em;
  color: #00f5d4;
  font-weight: 700;
}

.guide-title {
  color: #f8fafc;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.guide-lead {
  max-width: 680px;
  line-height: 1.7;
  font-size: 1rem;
}

.guide-tab-btn {
  background: #171c35;
  border: 1px solid rgba(139, 92, 246, 0.3);
  color: #94a3b8;
  padding: 10px 20px;
  border-radius: 9999px;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.guide-tab-btn:hover {
  border-color: #00f5d4;
  color: #f8fafc;
}

.guide-tab-btn.active {
  background: #1e2442;
  border-color: #00f5d4;
  color: #00f5d4;
  box-shadow: 0 0 16px rgba(0, 245, 212, 0.25);
}

.guide-tab-status {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #64748b;
}

.guide-tab-btn.active .guide-tab-status {
  background-color: #00f5d4;
  box-shadow: 0 0 8px #00f5d4;
}

.guide-panel-card {
  background: #171c35;
  border: 1px solid rgba(139, 92, 246, 0.25);
  border-radius: 28px;
  padding: 28px;
  box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.6);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.guide-panel-card:hover {
  border-color: #00f5d4;
  box-shadow: 0 10px 30px -5px rgba(0, 245, 212, 0.25);
}

.guide-step-orb {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #1e2442;
  border: 1.5px solid #8b5cf6;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  flex-shrink: 0;
  box-shadow: 0 0 15px rgba(139, 92, 246, 0.35);
}

.guide-orb-num {
  font-weight: 700;
  font-size: 1rem;
  color: #f8fafc;
  letter-spacing: 0.05em;
}

.guide-satellite-beacon {
  width: 6px;
  height: 6px;
  background-color: #00f5d4;
  border-radius: 50%;
  position: absolute;
  top: 1px;
  right: 1px;
  box-shadow: 0 0 6px #00f5d4;
}

.guide-badge-tag {
  font-size: 0.72rem;
  letter-spacing: 0.15em;
  color: #00f5d4;
  font-weight: 700;
  display: block;
  margin-bottom: 2px;
}

.guide-card-title {
  color: #f8fafc;
  font-weight: 600;
  letter-spacing: 0.05em;
}

.guide-card-media {
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(139, 92, 246, 0.2);
  background-color: #0a0c16;
}

.guide-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.guide-card-text {
  font-size: 0.925rem;
  line-height: 1.65;
}

.guide-spec-list li {
  font-size: 0.85rem;
  color: #cbd5e1;
}

.guide-check-icon {
  color: #00f5d4;
  flex-shrink: 0;
}

.guide-faq-panel {
  background: #111528;
  border: 1px solid rgba(139, 92, 246, 0.25);
  box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.6);
}

.guide-accordion-item {
  background: #171c35;
  border: 1px solid rgba(139, 92, 246, 0.2);
  border-radius: 16px !important;
  margin-bottom: 12px;
  overflow: hidden;
}

.guide-accordion-btn {
  background: #171c35;
  color: #f8fafc;
  font-weight: 600;
  font-size: 0.95rem;
  padding: 16px 20px;
  border: none;
  box-shadow: none !important;
}

.guide-accordion-btn:not(.collapsed) {
  background: #1e2442;
  color: #00f5d4;
}

.guide-accordion-btn::after {
  filter: invert(1) hue-rotate(180deg);
}

.guide-faq-dot {
  width: 6px;
  height: 6px;
  background-color: #8b5cf6;
  border-radius: 50%;
  display: inline-block;
}

.guide-accordion-btn:not(.collapsed) .guide-faq-dot {
  background-color: #00f5d4;
  box-shadow: 0 0 8px #00f5d4;
}

.guide-accordion-body {
  background: #171c35;
  color: #94a3b8;
  font-size: 0.9rem;
  line-height: 1.7;
  padding: 16px 20px 20px 20px;
  border-top: 1px solid rgba(139, 92, 246, 0.15);
}

@media (max-width: 767px) {
  .guide-title {
    font-size: 1.25rem;
    hyphens: auto;
  }
  .guide-panel-card {
    padding: 20px;
    border-radius: 20px;
  }
  .guide-cosmic-bg {
    width: 320px;
    height: 320px;
  }
  .guide-tab-btn {
    padding: 8px 14px;
    font-size: 0.8rem;
  }
}

/* ===== PAGE: news ===== */
.news-block{background-color:var(--bg,#0a0c16);position:relative;overflow:hidden}.news-block::before{content:"";position:absolute;top:10%;left:50%;transform:translateX(-50%);width:700px;height:700px;background:radial-gradient(circle,rgba(139,92,246,0.15) 0%,rgba(10,12,22,0) 70%);pointer-events:none;z-index:0}.news-block .container{position:relative;z-index:1}.news-block__eyebrow{color:var(--secondary-accent,#00f5d4);letter-spacing:0.22em;font-size:0.8125rem;font-weight:700}.news-block__eyebrow-icon{color:var(--secondary-accent,#00f5d4)}.news-block__title{color:var(--text,#f8fafc);font-size:2rem;line-height:1.3;letter-spacing:0.12em;font-weight:600;margin-bottom:0.75rem}.news-block__lead{max-width:640px;color:var(--text-muted,#94a3b8);font-size:0.95rem;line-height:1.6}.news-filter-btn{font-size:0.875rem;padding:8px 20px;border-radius:9999px;border:1px solid rgba(139,92,246,0.3);color:var(--text,#f8fafc);background:var(--surface-pill,#1e2442);cursor:pointer}.news-filter-btn.active{background:var(--primary,#8b5cf6);color:var(--on-primary,#ffffff);border-color:var(--secondary-accent,#00f5d4);box-shadow:0 0 12px rgba(0,245,212,0.35)}.news-search-wrap{width:260px}.news-search-input{background:var(--surface-panel,#171c35);border:1px solid rgba(139,92,246,0.25);border-radius:9999px;color:var(--text,#f8fafc);padding:8px 36px 8px 16px;font-size:0.875rem}.news-search-input:focus{background:var(--surface-panel,#171c35);color:var(--text,#f8fafc);border-color:var(--secondary-accent,#00f5d4);box-shadow:0 0 10px rgba(0,245,212,0.25);outline:none}.news-search-input::placeholder{color:var(--text-muted,#64748b);opacity:1}.news-search-icon{right:14px;top:50%;transform:translateY(-50%);color:var(--text-muted,#94a3b8);pointer-events:none}.news-card{background:var(--surface-panel,#171c35);border:1px solid rgba(139,92,246,0.2);border-radius:24px;padding:24px;box-shadow:0 15px 35px -10px rgba(0,0,0,0.5)}.news-card:hover{border-color:var(--secondary-accent,#00f5d4);box-shadow:0 10px 30px -5px rgba(0,245,212,0.25)}.news-card__thumb-wrap{width:64px;height:64px;flex-shrink:0}.news-card__thumb{width:64px;height:64px;object-fit:cover;border:2px solid rgba(139,92,246,0.4)}.news-card__status-dot{position:absolute;top:2px;right:2px;width:12px;height:12px;border-radius:50%;background-color:var(--secondary-accent,#00f5d4);box-shadow:0 0 8px #00f5d4;border:2px solid var(--surface-panel,#171c35)}.news-card__badge{background:rgba(139,92,246,0.25);color:var(--secondary-accent,#00f5d4);font-size:0.75rem;padding:3px 10px;border-radius:9999px;border:1px solid rgba(0,245,212,0.3)}.news-card__date{font-size:0.75rem;color:var(--text-muted,#94a3b8)}.news-card__version{font-size:0.8rem;color:var(--energy-highlight,#ffd166);font-weight:600;display:block}.news-card__heading{font-size:1.15rem;font-weight:600;line-height:1.4;margin-bottom:0.75rem}.news-card__link{color:var(--text,#f8fafc)}.news-card__link:hover{color:var(--secondary-accent,#00f5d4)}.news-card__desc{color:var(--text-muted,#94a3b8);font-size:0.875rem;line-height:1.6;margin-bottom:1rem}.news-card__details{border-top:1px dashed rgba(139,92,246,0.2)}.news-card__toggle-btn{background:transparent;border:none;color:var(--secondary-accent,#00f5d4);font-size:0.8125rem;font-weight:600;cursor:pointer;padding:0}.news-chevron-icon{transform:rotate(0deg)}.news-card__toggle-btn[aria-expanded="true"] .news-chevron-icon{transform:rotate(180deg)}.news-card__accordion{display:none;font-size:0.8125rem;color:var(--text-muted,#94a3b8);line-height:1.6}.news-card__accordion.active{display:block}.news-card__list{color:var(--text-muted,#94a3b8)}.news-notice-banner{background:var(--surface-pill,#1e2442);border:1px solid rgba(139,92,246,0.3)}.news-empty-state__icon{color:var(--text-muted,#64748b)}.news-empty-state__text{color:var(--text,#f8fafc);font-size:1rem}.news-reset-btn{padding:8px 24px;border-radius:9999px;background:var(--primary,#8b5cf6);color:#ffffff;border:none;cursor:pointer}@media(max-width:767px){.news-block__title{font-size:1.5rem}.news-block__controls{flex-direction:column;align-items:stretch}.news-search-wrap{width:100%}.news-card{padding:18px}.news-block__lead{font-size:0.875rem}}

/* ===== PAGE: contact ===== */
.contact-portal-block {
  position: relative;
  padding: 80px 0;
  background: radial-gradient(circle at center, rgba(139, 92, 246, 0.15) 0%, rgba(10, 12, 22, 0) 70%), #0a0c16;
  color: #f8fafc;
  font-family: 'Noto Serif KR', serif;
  overflow: hidden;
}
.contact-portal-block::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 900px;
  height: 900px;
  border: 1px dashed rgba(139, 92, 246, 0.18);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.contact-portal-block .container {
  position: relative;
  z-index: 2;
  max-width: 1200px;
}
.contact-portal-block__header {
  margin-bottom: 48px;
}
.contact-portal-block .vh-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #00f5d4;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  margin-bottom: 12px;
}
.contact-portal-block__eyebrow-dot {
  width: 8px;
  height: 8px;
  background-color: #00f5d4;
  border-radius: 50%;
  box-shadow: 0 0 10px #00f5d4;
  display: inline-block;
}
.contact-portal-block .vh-title {
  font-size: 2.25rem;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.12em;
  color: #f8fafc;
  margin-bottom: 16px;
  text-transform: uppercase;
}
.contact-portal-block__subtitle {
  color: #94a3b8;
  font-size: 1rem;
  max-width: 640px;
  margin: 0 auto;
  line-height: 1.65;
}
.contact-portal-block__info-card,
.contact-portal-block__form-card {
  background-color: #171c35;
  border: 1px solid rgba(139, 92, 246, 0.25);
  border-radius: 32px;
  padding: 36px;
  box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.6);
  overflow: hidden;
}
.contact-portal-block__card-title {
  font-size: 1.5rem;
  font-weight: 600;
  color: #f8fafc;
  letter-spacing: 0.05em;
  margin-bottom: 8px;
}
.contact-portal-block__card-desc {
  color: #94a3b8;
  font-size: 0.9375rem;
  line-height: 1.6;
  margin-bottom: 28px;
}
.contact-portal-block__items-list {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.contact-portal-block__item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}
.contact-portal-block__item-icon-wrap {
  width: 44px;
  height: 44px;
  flex-shrink: 0;
  background-color: #1e2442;
  border: 1px solid rgba(139, 92, 246, 0.3);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}
.contact-portal-block__icon {
  width: 22px;
  height: 22px;
  color: #00f5d4;
}
.contact-portal-block__item-details {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.contact-portal-block__item-label {
  font-size: 0.75rem;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 2px;
}
.contact-portal-block__item-value,
.contact-portal-block__link {
  color: #f8fafc;
  font-size: 0.9375rem;
  line-height: 1.5;
  text-decoration: none;
  overflow-wrap: anywhere;
}
.contact-portal-block__link:hover,
.contact-portal-block__link:focus {
  color: #00f5d4;
  text-decoration: underline;
}
.contact-portal-block__status-pill {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background-color: #1e2442;
  border: 1px solid rgba(0, 245, 212, 0.3);
  border-radius: 9999px;
  padding: 10px 20px;
  width: fit-content;
}
.contact-portal-block__status-dot {
  width: 10px;
  height: 10px;
  background-color: #00f5d4;
  border-radius: 50%;
  box-shadow: 0 0 10px #00f5d4;
}
.contact-portal-block__status-text {
  font-size: 0.8125rem;
  color: #00f5d4;
  font-weight: 500;
}
.contact-portal-block__label {
  font-size: 0.875rem;
  color: #f8fafc;
  margin-bottom: 6px;
  font-weight: 500;
}
.contact-portal-block__required {
  color: #00f5d4;
}
.contact-portal-block__input,
.contact-portal-block__select,
.contact-portal-block__textarea {
  background-color: #111528;
  border: 1px solid rgba(139, 92, 246, 0.3);
  color: #f8fafc;
  border-radius: 12px;
  padding: 12px 16px;
  font-size: 0.9375rem;
  font-family: inherit;
}
.contact-portal-block__input:focus,
.contact-portal-block__select:focus,
.contact-portal-block__textarea:focus {
  background-color: #111528;
  border-color: #00f5d4;
  color: #f8fafc;
  box-shadow: 0 0 12px rgba(0, 245, 212, 0.25);
  outline: none;
}
.contact-portal-block__input::placeholder,
.contact-portal-block__textarea::placeholder {
  color: #64748b;
  opacity: 1;
}
.contact-portal-block__select {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%2300f5d4' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}
.contact-portal-block__select option {
  background-color: #171c35;
  color: #f8fafc;
}
.contact-portal-block__consent-box {
  margin-top: 10px;
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.contact-portal-block__checkbox {
  background-color: #111528;
  border: 1px solid rgba(139, 92, 246, 0.4);
  border-radius: 4px;
  width: 18px;
  height: 18px;
  margin-top: 3px;
  cursor: pointer;
  flex-shrink: 0;
}
.contact-portal-block__checkbox:checked {
  background-color: #00f5d4;
  border-color: #00f5d4;
}
.contact-portal-block__consent-label {
  font-size: 0.8125rem;
  color: #94a3b8;
  line-height: 1.5;
  cursor: pointer;
}
.contact-portal-block__consent-link {
  color: #00f5d4;
  text-decoration: underline;
}
.contact-portal-block__consent-link:hover {
  color: #8b5cf6;
}
.contact-portal-block__submit-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  padding: 14px 36px;
  background-color: #8b5cf6;
  color: #ffffff;
  border: 1px solid #8b5cf6;
  font-weight: 600;
  letter-spacing: 0.08em;
  font-size: 0.9375rem;
  cursor: pointer;
  box-shadow: 0 4px 15px rgba(139, 92, 246, 0.4);
}
.contact-portal-block__submit-btn:hover,
.contact-portal-block__submit-btn:focus {
  background-color: #00f5d4;
  border-color: #00f5d4;
  color: #0a0c16;
  box-shadow: 0 0 20px rgba(0, 245, 212, 0.6);
}
.contact-portal-block__btn-icon {
  width: 18px;
  height: 18px;
}
@media (max-width: 767px) {
  .contact-portal-block {
    padding: 48px 0;
  }
  .contact-portal-block .vh-title {
    font-size: 1.5rem;
  }
  .contact-portal-block__card-title {
    font-size: 1.25rem;
  }
  .contact-portal-block__info-card,
  .contact-portal-block__form-card {
    padding: 24px 18px;
    border-radius: 20px;
  }
  .contact-portal-block__submit-btn {
    width: 100%;
  }
}

/* ===== PAGE TEMPLATE: catalog ===== */
.orbital-body {
    background-color: #0a0c16;
    color: #f8fafc;
    font-family: 'Noto Serif KR', serif;
    overflow-x: hidden;
}

.orbital-header {
    width: 100%;
    position: relative;
    z-index: 1030;
    background: #0a0c16;
    border-bottom: 1px solid rgba(139, 92, 246, 0.25);
    box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.7);
}

.orbital-header .orbital-navbar {
    padding: 12px 0;
    background: #0a0c16;
}

.orbital-header .orbital-container {
    position: relative;
}

.orbital-header .orbital-logo-ring {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 1.5px solid #00f5d4;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 14px rgba(0, 245, 212, 0.35);
    flex-shrink: 0;
    background: #111528;
}

.orbital-header .orbital-logo-img {
    width: 40px;
    height: 40px;
    object-fit: contain;
    border-radius: 50%;
    display: block;
}

.orbital-header .orbital-brand-text {
    font-family: 'Noto Serif KR', serif;
    font-size: 1.125rem;
    font-weight: 700;
    color: #f8fafc;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    text-decoration: none;
    white-space: nowrap;
}

.orbital-header .orbital-toggler {
    border: 1px solid rgba(139, 92, 246, 0.4);
    background: #171c35;
    border-radius: 9999px;
    padding: 8px 12px;
}

.orbital-header .orbital-toggler:focus {
    box-shadow: 0 0 10px rgba(0, 245, 212, 0.4);
    outline: none;
}

.orbital-header .orbital-toggler-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    color: #00f5d4;
}

.orbital-header .orbital-svg-icon {
    width: 100%;
    height: 100%;
}

.orbital-header .orbital-collapse {
    align-items: center;
    justify-content: space-between;
}

@media (min-width: 992px) {
    .orbital-header .orbital-collapse {
        display: flex !important;
    }
}

.orbital-header .orbital-collapse.show {
    display: flex !important;
}

.orbital-header .orbital-nav-left,
.orbital-header .orbital-nav-right {
    flex: 1;
}

.orbital-header .orbital-brand-center {
    flex-shrink: 0;
    padding: 0 24px;
}

.orbital-header .orbital-nav-link {
    font-family: 'Noto Serif KR', serif;
    font-size: 0.875rem;
    font-weight: 500;
    color: #94a3b8;
    letter-spacing: 0.05em;
    padding: 8px 12px;
    border-radius: 9999px;
    text-decoration: none;
}

.orbital-header .orbital-nav-link:hover,
.orbital-header .orbital-nav-link:focus {
    color: #00f5d4;
}

.orbital-header .orbital-ring-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9999px;
    padding: 8px 24px;
    background: transparent;
    color: #00f5d4;
    border: 2px solid #00f5d4;
    box-shadow: 0 0 14px rgba(0, 245, 212, 0.25);
    font-family: 'Noto Serif KR', serif;
    font-size: 0.8125rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    text-decoration: none;
}

.orbital-header .orbital-ring-btn:hover,
.orbital-header .orbital-ring-btn:focus {
    background: #00f5d4;
    color: #0a0c16;
    box-shadow: 0 0 24px rgba(0, 245, 212, 0.7);
}

@media (max-width: 991.98px) {
    .orbital-header .orbital-collapse {
        margin-top: 16px;
        padding: 20px;
        background: #111528;
        border-radius: 20px;
        border: 1px solid rgba(139, 92, 246, 0.3);
    }

    .orbital-header .orbital-nav-left,
    .orbital-header .orbital-nav-right {
        width: 100%;
        flex-direction: column;
        align-items: flex-start;
    }

    .orbital-header .orbital-nav-link {
        width: 100%;
        padding: 10px 14px;
        font-size: 0.8125rem;
    }

    .orbital-header .orbital-cta-wrapper {
        width: 100%;
        margin-top: 12px;
    }

    .orbital-header .orbital-ring-btn {
        width: 100%;
    }
}

.game-detail-hero {
    background-color: #0a0c16;
    border-bottom: 1px solid rgba(139, 92, 246, 0.2);
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 320px;
}

.game-detail-hero > .container {
    width: 100%;
}

.game-detail-hero .hero-orbit-glow {
    width: 480px;
    height: 480px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(139, 92, 246, 0.2) 0%, rgba(10, 12, 22, 0) 70%);
    filter: blur(40px);
}

.game-detail-hero .hero-orbit-ring {
    width: 600px;
    height: 600px;
    border-radius: 50%;
    border: 1px solid rgba(139, 92, 246, 0.15);
}

.game-detail-hero .game-breadcrumbs {
    font-size: 0.8125rem;
    justify-content: center;
}

.game-detail-hero .crumb-link {
    color: #94a3b8;
    text-decoration: none;
}

.game-detail-hero .crumb-link:hover {
    color: #00f5d4;
}

.game-detail-hero .crumb-separator {
    color: #64748b;
}

.game-detail-hero .crumb-current {
    color: #00f5d4;
    font-weight: 500;
}

.game-detail-hero .hero-satellite-arc {
    color: #8b5cf6;
}

.game-detail-hero .game-hero-heading {
    font-size: 2.25rem;
    font-weight: 700;
    color: #f8fafc;
    letter-spacing: 0.04em;
    word-break: keep-all;
    overflow-wrap: anywhere;
}

.game-detail-hero .game-hero-sub {
    font-size: 0.95rem;
    line-height: 1.6;
    max-width: 680px;
    overflow-wrap: anywhere;
}

.game-stage-section {
    background-color: #0a0c16;
}

.game-stage-toolbar {
    background-color: #171c35;
    border: 1px solid rgba(139, 92, 246, 0.25);
    border-radius: 20px;
    box-shadow: 0 10px 25px -10px rgba(0, 0, 0, 0.5);
}

.game-facts-row .fact-badge {
    background-color: #1e2442;
    color: #f8fafc;
    border: 1px solid rgba(139, 92, 246, 0.3);
    border-radius: 9999px;
    padding: 6px 14px;
    font-size: 0.75rem;
    letter-spacing: 0.04em;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.game-facts-row .fact-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #00f5d4;
    box-shadow: 0 0 6px #00f5d4;
}

.game-facts-row .fact-highlight {
    border-color: #00f5d4;
    color: #00f5d4;
}

.game-control-actions .game-action-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    border-radius: 9999px;
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    cursor: pointer;
}

.game-control-actions .game-action-btn .btn-icon {
    width: 16px;
    height: 16px;
}

.game-control-actions .vh-btn {
    background-color: #8b5cf6;
    color: #ffffff;
    border: 1px solid #8b5cf6;
}

.game-control-actions .vh-btn:hover {
    background-color: #7c3aed;
    border-color: #7c3aed;
    color: #ffffff;
}

.game-control-actions .vh-btn-alt {
    background-color: transparent;
    color: #00f5d4;
    border: 1px solid #00f5d4;
}

.game-control-actions .vh-btn-alt:hover {
    background-color: #00f5d4;
    color: #0a0c16;
}

.game-frame-box {
    width: 100%;
    height: 560px;
    border-radius: 24px;
    border: 2px solid rgba(139, 92, 246, 0.4);
    background-color: #000000;
    box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.7);
}

.game-frame-box .game-iframe {
    width: 100%;
    height: 100%;
    border: none;
    display: block;
}

.game-frame-box:-webkit-full-screen {
    width: 100% !important;
    height: 100% !important;
    border: none;
    border-radius: 0;
}

.game-frame-box:fullscreen {
    width: 100% !important;
    height: 100% !important;
    border: none;
    border-radius: 0;
}

.game-frame-box:fullscreen .game-iframe,
.game-frame-box:-webkit-full-screen .game-iframe {
    width: 100% !important;
    height: 100% !important;
}

.fullscreen-exit-btn {
    position: absolute;
    top: 20px;
    right: 20px;
    z-index: 9999;
    background-color: rgba(10, 12, 22, 0.9);
    color: #00f5d4;
    border: 1.5px solid #00f5d4;
    border-radius: 9999px;
    padding: 10px 20px;
    font-size: 0.8125rem;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    box-shadow: 0 0 15px rgba(0, 245, 212, 0.5);
    cursor: pointer;
}

.fullscreen-exit-btn .btn-icon {
    width: 18px;
    height: 18px;
}

.fullscreen-exit-btn:hover {
    background-color: #00f5d4;
    color: #0a0c16;
}

.stage-section-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: #f8fafc;
    letter-spacing: 0.08em;
    border-left: 3px solid #00f5d4;
    padding-left: 12px;
    line-height: 1.3;
    word-break: keep-all;
    overflow-wrap: anywhere;
}

.game-overview-card {
    background-color: #171c35;
    border: 1px solid rgba(139, 92, 246, 0.2);
    border-radius: 24px;
}

.game-detail-lead {
    color: #00f5d4;
    font-weight: 600;
    font-size: 0.95rem;
    line-height: 1.6;
    overflow-wrap: anywhere;
}

.game-detail-text {
    color: #94a3b8;
    font-size: 0.9rem;
    line-height: 1.7;
    overflow-wrap: anywhere;
}

.game-spec-card,
.game-similar-card {
    background-color: #171c35;
    border: 1px solid rgba(139, 92, 246, 0.2);
    border-radius: 24px;
}

.spec-border {
    border-color: rgba(139, 92, 246, 0.15) !important;
}

.spec-label {
    font-size: 0.8125rem;
}

.spec-value {
    font-size: 0.875rem;
    color: #f8fafc;
}

.text-accent {
    color: #ffd166 !important;
}

.related-links-list .related-link {
    padding: 10px 14px;
    border-radius: 12px;
    background-color: #1e2442;
    border: 1px solid rgba(139, 92, 246, 0.2);
    color: #f8fafc;
    text-decoration: none;
    font-size: 0.875rem;
    letter-spacing: 0.03em;
}

.related-links-list .related-link:hover {
    border-color: #00f5d4;
    color: #00f5d4;
    background-color: #242c52;
}

.related-links-list .related-arrow {
    width: 16px;
    height: 16px;
    color: #00f5d4;
}

.game-features-section {
    background-color: #111528;
}

.hero-satellite-tag {
    color: #00f5d4;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.16em;
}

.hero-orbit-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #00f5d4;
    box-shadow: 0 0 8px #00f5d4;
    display: inline-block;
}

.max-w-720 {
    max-width: 720px;
    line-height: 1.65;
    overflow-wrap: anywhere;
}

.feature-box {
    background-color: #171c35;
    border: 1px solid rgba(139, 92, 246, 0.2);
    border-radius: 20px;
}

.feature-icon-ring {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #1e2442;
    border: 1px solid #00f5d4;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #00f5d4;
    box-shadow: 0 0 12px rgba(0, 245, 212, 0.25);
}

.feature-svg {
    width: 22px;
    height: 22px;
}

.feature-item-title {
    font-size: 1.05rem;
    font-weight: 600;
    color: #f8fafc;
    letter-spacing: 0.04em;
    word-break: keep-all;
    overflow-wrap: anywhere;
}

.feature-item-desc {
    font-size: 0.85rem;
    line-height: 1.65;
    overflow-wrap: anywhere;
}

.game-guide-section {
    background-color: #0a0c16;
}

.guide-step-card {
    background-color: #171c35;
    border: 1px solid rgba(139, 92, 246, 0.2);
    border-radius: 20px;
}

.step-badge-wrap .step-number {
    display: inline-block;
    font-size: 0.8125rem;
    font-weight: 700;
    color: #ffd166;
    background: #1e2442;
    border: 1px solid rgba(255, 209, 102, 0.4);
    border-radius: 9999px;
    padding: 4px 12px;
    letter-spacing: 0.1em;
}

.guide-step-title {
    font-size: 1.05rem;
    font-weight: 600;
    color: #f8fafc;
    letter-spacing: 0.04em;
    word-break: keep-all;
    overflow-wrap: anywhere;
}

.guide-step-text {
    font-size: 0.85rem;
    line-height: 1.65;
    overflow-wrap: anywhere;
}

.game-cta-banner {
    background-color: #171c35;
    border-top: 1px solid rgba(139, 92, 246, 0.25);
    border-bottom: 1px solid rgba(139, 92, 246, 0.25);
}

.cta-banner-inner {
    max-width: 820px;
    background: radial-gradient(circle at center, rgba(139, 92, 246, 0.25) 0%, rgba(23, 28, 53, 0.9) 70%);
    border: 1px solid rgba(0, 245, 212, 0.3);
    border-radius: 32px;
    box-shadow: 0 15px 35px -10px rgba(0, 0, 0, 0.7);
}

.cta-banner-heading {
    font-size: 1.75rem;
    font-weight: 700;
    color: #f8fafc;
    letter-spacing: 0.06em;
    word-break: keep-all;
    overflow-wrap: anywhere;
}

.cta-banner-sub {
    font-size: 0.95rem;
    line-height: 1.6;
    overflow-wrap: anywhere;
}

.banner-primary-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 32px;
    background-color: #8b5cf6;
    color: #ffffff;
    border: 2px solid #00f5d4;
    border-radius: 9999px;
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    box-shadow: 0 0 18px rgba(0, 245, 212, 0.35);
}

.banner-primary-btn:hover {
    background-color: #00f5d4;
    border-color: #00f5d4;
    color: #0a0c16;
    box-shadow: 0 0 24px rgba(0, 245, 212, 0.7);
}

.gam-footer {
    background-color: #080a12;
    color: #f8fafc;
    padding-top: 64px;
    font-family: 'Noto Serif KR', serif;
}

.gam-footer .gam-footer-arc {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 1400px;
    height: 700px;
    border-radius: 50%;
    border-top: 1px solid rgba(139, 92, 246, 0.25);
    pointer-events: none;
}

.gam-footer .gam-footer-glow {
    position: absolute;
    top: -120px;
    left: 50%;
    transform: translateX(-50%);
    width: 600px;
    height: 300px;
    background: radial-gradient(circle, rgba(139, 92, 246, 0.15) 0%, rgba(8, 10, 18, 0) 70%);
    pointer-events: none;
}

.gam-footer .gam-footer-border {
    border-color: rgba(139, 92, 246, 0.2) !important;
}

.gam-footer .gam-orbital-icon-wrap {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #171c35;
    border: 1px solid rgba(0, 245, 212, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 12px rgba(0, 245, 212, 0.2);
}

.gam-footer .gam-orbital-glyph {
    width: 22px;
    height: 22px;
    color: #00f5d4;
}

.gam-footer .gam-brand-title {
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #f8fafc;
}

.gam-footer .gam-brand-desc {
    font-size: 0.875rem;
    color: #94a3b8;
}

.gam-footer .gam-back-to-top {
    background: transparent;
    border: 1px solid #00f5d4;
    color: #00f5d4;
    border-radius: 9999px;
    padding: 10px 22px;
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    cursor: pointer;
}

.gam-footer .gam-back-to-top:hover {
    background: #00f5d4;
    color: #0a0c16;
}

.gam-footer .gam-arrow-glyph {
    width: 16px;
    height: 16px;
}

.gam-footer .gam-column-title {
    font-size: 1rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: #00f5d4;
    margin-bottom: 20px;
    line-height: 1.3;
}

.gam-footer .gam-column-text {
    font-size: 0.875rem;
    line-height: 1.65;
    color: #94a3b8;
    margin-bottom: 20px;
}

.gam-footer .gam-status-pill {
    background: #1e2442;
    border: 1px solid rgba(139, 92, 246, 0.3);
    border-radius: 9999px;
    padding: 6px 14px;
    font-size: 0.75rem;
    color: #f8fafc;
}

.gam-footer .gam-status-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #00f5d4;
    box-shadow: 0 0 8px #00f5d4;
}

.gam-footer .gam-footer-link {
    color: #94a3b8;
    text-decoration: none;
    font-size: 0.875rem;
    line-height: 1.5;
    display: inline-block;
}

.gam-footer .gam-footer-link:hover {
    color: #00f5d4;
    text-decoration: underline;
}

.gam-footer .gam-contact-icon {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #171c35;
    border: 1px solid rgba(139, 92, 246, 0.25);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #00f5d4;
    margin-top: 2px;
}

.gam-footer .gam-contact-icon svg {
    width: 14px;
    height: 14px;
}

.gam-footer .gam-contact-info {
    min-width: 0;
}

.gam-footer .gam-contact-label {
    font-size: 0.75rem;
    color: #64748b;
    letter-spacing: 0.05em;
    margin-bottom: 2px;
}

.gam-footer .gam-contact-val {
    font-size: 0.875rem;
    color: #f8fafc;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.gam-footer .gam-contact-link {
    text-decoration: none;
}

.gam-footer .gam-contact-link:hover {
    color: #00f5d4;
    text-decoration: underline;
}

.gam-footer .gam-copyright {
    font-size: 0.8125rem;
    color: #64748b;
    letter-spacing: 0.05em;
}

@media (max-width: 767.98px) {
    .game-detail-hero .game-hero-heading {
        font-size: 1.125rem !important;
        line-height: 1.3;
        hyphens: auto;
    }

    .stage-section-title {
        font-size: 1rem !important;
    }

    .feature-item-title,
    .guide-step-title {
        font-size: 0.875rem !important;
    }

    .cta-banner-heading {
        font-size: 1rem !important;
    }

    .game-frame-box {
        height: 380px;
    }

    .game-stage-toolbar {
        flex-direction: column;
        align-items: flex-start;
    }

    .game-control-actions {
        width: 100%;
        justify-content: flex-end;
    }

    .banner-primary-btn {
        width: 100%;
    }

    .gam-footer {
        padding-top: 48px;
    }

    .gam-footer .gam-column-title {
        font-size: 14px;
        margin-bottom: 14px;
    }

    .gam-footer .gam-brand-title {
        font-size: 1.1rem;
    }

    .gam-footer .gam-brand-desc {
        font-size: 0.8125rem;
    }
}

/* mobile-text-guard */
@media (max-width: 767px) {
  h1, h2, h3, h4, h5, h6, p, li, dt, dd, blockquote, figcaption, td, th, label {
    overflow-wrap: anywhere;
  }
  a, button, .btn {
    overflow-wrap: anywhere;
    white-space: normal;
  }
  img, video, iframe {
    max-width: 100%;
  }
}
