:root {
    --bg: #F4F3F7;
    --surface: #FFFFFF;
    --surface-alt: #ECE8F5;
    --text: #0D0A14;
    --text-muted: #5C566D;
    --border: #D8D3E5;
    --primary: #7E22CE;
    --primary-hover: #0D0A14;
    --on-primary: #FFFFFF;
    --primary-text: #7E22CE;
    --accent: #A855F7;
    --on-accent: #FFFFFF;
    --accent-text: #6B21A8;
    --dark-band: #0D0A14;
    --on-dark: #FFFFFF;
    --on-dark-muted: #A59FB5;
}

html,
body {
    font-family: 'Noto Serif SC', serif;
    background-color: var(--bg);
    color: var(--text);
    line-height: 1.7;
    font-size: 1rem;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
}

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

.text-muted {
    color: var(--text-muted) !important;
}

.rd-btn {
    font-family: 'Noto Serif SC', serif;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    border-radius: 0;
    border: none;
    padding: 12px 28px;
    font-size: 0.875rem;
    background-color: var(--primary);
    color: var(--on-primary);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: background-color 0.25s ease, color 0.25s ease;
}

.rd-btn:hover,
.rd-btn:focus {
    background-color: var(--primary-hover);
    color: var(--on-primary);
    outline: none;
}

.rd-btn-alt {
    font-family: 'Noto Serif SC', serif;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    border-radius: 0;
    border: 1px solid var(--primary);
    padding: 12px 28px;
    font-size: 0.875rem;
    background-color: transparent;
    color: var(--primary-text);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.rd-btn-alt:hover,
.rd-btn-alt:focus {
    background-color: var(--primary);
    color: var(--on-primary);
    border-color: var(--primary);
}

.rd-card {
    background-color: var(--surface);
    color: var(--text);
    border: 1px solid var(--border);
    border-bottom: 3px solid var(--primary);
    border-radius: 0;
    box-shadow: 0 4px 14px rgba(13, 10, 20, 0.06);
    padding: 24px;
    display: flex;
    flex-direction: column;
    position: relative;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.rd-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(13, 10, 20, 0.09);
}

.rd-card>.rd-btn,
.rd-card>.rd-btn-alt {
    margin-top: auto;
}

.rd-media {
    aspect-ratio: 16/9;
    border-radius: 0;
    overflow: hidden;
    flex-shrink: 0;
    position: relative;
    width: 100%;
}

.rd-media img,
.rd-media video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0;
}

.rd-eyebrow {
    font-family: 'Noto Serif SC', serif;
    color: var(--primary);
    font-size: 0.8125rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    display: block;
    margin-bottom: 8px;
}

.rd-title {
    font-family: 'Noto Serif SC', serif;
    color: var(--text);
    font-size: 2.125rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    margin-top: 0;
    margin-bottom: 16px;
}

.rd-badge {
    display: inline-block;
    background-color: var(--dark-band);
    color: var(--on-dark);
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 4px 10px;
    border-radius: 0;
    transform: skewX(-15deg);
}

.rd-badge>span {
    display: inline-block;
    transform: skewX(15deg);
}

.rd-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background-color: var(--primary);
    color: var(--dark-band);
    border-radius: 0;
    flex-shrink: 0;
}

.rd-icon svg {
    width: 20px;
    height: 20px;
    stroke-width: 1.75px;
}

.rd-section {
    padding: 84px 0;
    background-color: var(--bg);
}

.rd-section-alt {
    padding: 84px 0;
    background-color: var(--surface-alt);
}

.rd-section-dark {
    padding: 84px 0;
    background-color: var(--dark-band);
    color: var(--on-dark);
}

.rd-section-brand {
    padding: 84px 0;
    background-color: var(--primary);
    color: var(--on-primary);
}

.rd-section-brand .rd-btn {
    background-color: var(--dark-band);
    color: var(--on-dark);
}

.rd-section-brand .rd-btn:hover {
    background-color: var(--primary-hover);
    color: var(--on-primary);
}

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

.rd-section-brand .rd-btn-alt:hover {
    background-color: var(--on-primary);
    color: var(--primary);
}

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

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

.rd-on-dark p,
.rd-on-dark span {
    color: var(--on-dark-muted);
}

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

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

.rd-on-dark .rd-btn-alt:hover {
    background-color: var(--on-dark);
    color: var(--dark-band);
}

.rd-section-dark .rd-card,
.rd-on-dark .rd-card {
    background-color: var(--surface);
    color: var(--text);
    border-color: var(--border);
}

.rd-section-dark .rd-card .rd-title,
.rd-on-dark .rd-card .rd-title {
    color: var(--text);
}

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

@media (max-width: 768px) {

    .rd-section,
    .rd-section-alt,
    .rd-section-dark,
    .rd-section-brand {
        padding: 48px 0;
    }

    .rd-title {
        font-size: 1.75rem;
    }

    .rd-card {
        padding: 18px;
    }
}

/* =====  ===== */
.site-header {
    background-color: #0D0A14;
    border-bottom: 3px solid #7E22CE;
    z-index: 1030;
    font-family: 'Noto Serif SC', serif
}

.site-header__navbar {
    background-color: #0D0A14;
    padding: 0.75rem 0
}

.site-header__container {
    position: relative
}

.site-header__brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    color: #FFFFFF;
    padding: 4px 0
}

.site-header__brand:hover {
    color: #FFFFFF
}

.site-header__logo-box {
    background-color: #FFFFFF;
    padding: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
    flex-shrink: 0
}

.site-header__logo-img {
    display: block;
    max-width: 46px;
    height: auto;
    object-fit: contain
}

.site-header__brand-text {
    display: flex;
    flex-direction: column;
    line-height: 1.2
}

.site-header__title {
    font-size: 1.15rem;
    font-weight: 700;
    color: #FFFFFF;
    letter-spacing: 0.02em
}

.site-header__subtitle {
    font-size: 0.7rem;
    font-weight: 400;
    color: #A59FB5;
    letter-spacing: 0.08em
}

.site-header__toggler {
    background-color: #161220;
    border: 1px solid #251F33;
    border-radius: 0;
    padding: 8px 10px;
    color: #FFFFFF;
    box-shadow: none
}

.site-header__toggler:focus {
    box-shadow: none;
    border-color: #7E22CE
}

.site-header__toggler-icon {
    width: 24px;
    height: 24px;
    stroke: #FFFFFF
}

.site-header__collapse {
    background-color: #0D0A14
}

.site-header__nav {
    gap: 4px
}

.site-header__item {
    margin: 0
}

.site-header__link {
    color: #FFFFFF;
    font-size: 0.92rem;
    font-weight: 600;
    padding: 10px 14px;
    border-radius: 0;
    transition: color 0.25s ease, background-color 0.25s ease
}

.site-header__link:hover {
    color: #FFFFFF;
    background-color: #161220
}

.site-header__link--active {
    color: #FFFFFF;
    border-bottom: 2px solid #7E22CE
}

.site-header__actions {
    margin-top: 12px;
    padding-bottom: 8px
}

.site-header__cta {
    display: inline-block;
    background-color: #7E22CE;
    color: #FFFFFF;
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 10px 22px;
    border-radius: 0;
    border: none;
    white-space: nowrap;
    transition: background-color 0.25s ease, color 0.25s ease
}

.site-header__cta:hover {
    background-color: #0D0A14;
    color: #FFFFFF;
    outline: 1px solid #7E22CE
}

@media (min-width:992px) {
    .site-header__actions {
        margin-top: 0;
        padding-bottom: 0
    }

    .site-header__link--active {
        background-color: transparent
    }
}

@media (max-width:991.98px) {
    .site-header__collapse {
        padding: 16px 0 12px 0;
        border-top: 1px solid #251F33;
        margin-top: 10px
    }

    .site-header__link {
        padding: 10px 16px;
        border-left: 3px solid transparent
    }

    .site-header__link--active {
        border-bottom: none;
        border-left: 3px solid #7E22CE;
        background-color: #161220
    }

    .site-header__actions {
        padding-left: 16px
    }
}

/* =====  ===== */
.hero-cyber-portal {
    min-height: 560px;
    background-color: var(--dark-band);
}

.hero-video-wrapper {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    overflow: hidden;
}

.hero-bg-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.hero-backdrop-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(13, 10, 20, 0.94) 0%, rgba(13, 10, 20, 0.88) 55%, rgba(13, 10, 20, 0.72) 100%);
    pointer-events: none;
}

.hero-cyber-portal .container {
    z-index: 2;
}

.hero-content-panel {
    padding-top: 12px;
    padding-bottom: 12px;
}

.hero-eyebrow {
    color: var(--accent);
    font-family: 'Noto Serif SC', serif;
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.12em;
}

.hero-heading {
    font-family: 'Noto Serif SC', serif;
    font-size: 2.25rem;
    font-weight: 600;
    line-height: 1.25;
    color: var(--on-dark);
    overflow-wrap: anywhere;
}

.hero-lead-text {
    font-family: 'Noto Serif SC', serif;
    font-size: 1rem;
    line-height: 1.7;
    color: var(--on-dark-muted);
    max-width: 580px;
}

.hero-action-icon {
    width: 18px;
    height: 18px;
}

.hero-primary-btn {
    background-color: var(--primary);
    color: var(--on-primary);
    border: none;
    border-radius: 0;
    font-family: 'Noto Serif SC', serif;
    font-weight: 600;
    font-size: 0.875rem;
    letter-spacing: 0.08em;
    padding: 12px 28px;
    text-decoration: none;
    transition: background-color 0.25s ease, color 0.25s ease;
}

.hero-primary-btn:hover {
    background-color: var(--primary-hover);
    color: var(--on-primary);
}

.hero-secondary-btn {
    background-color: transparent;
    border: 1px solid var(--accent);
    color: var(--on-dark);
    border-radius: 0;
    font-family: 'Noto Serif SC', serif;
    font-weight: 600;
    font-size: 0.875rem;
    letter-spacing: 0.08em;
    padding: 12px 24px;
    text-decoration: none;
    transition: background-color 0.25s ease, color 0.25s ease;
}

.hero-secondary-btn:hover {
    background-color: var(--accent);
    color: var(--on-dark);
}

.hero-newsletter-card {
    background: rgba(22, 18, 32, 0.85);
    border: 1px solid #251F33;
    border-bottom: 3px solid var(--primary);
    padding: 20px;
    max-width: 520px;
}

.hero-newsletter-badge {
    font-family: 'Noto Serif SC', serif;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    color: var(--accent);
    text-transform: uppercase;
}

.hero-form-input {
    background: #161220;
    border: 1px solid #251F33;
    border-radius: 0;
    color: #FFFFFF;
    font-size: 0.875rem;
    padding: 10px 14px;
}

.hero-form-input:focus {
    background: #161220;
    border-color: var(--accent);
    color: #FFFFFF;
    box-shadow: none;
    outline: none;
}

.hero-form-input::placeholder {
    color: #A59FB5;
    opacity: 1;
}

.hero-submit-btn {
    background-color: var(--primary);
    color: var(--on-primary);
    border: none;
    border-radius: 0;
    font-family: 'Noto Serif SC', serif;
    font-weight: 600;
    font-size: 0.875rem;
    padding: 10px 20px;
    transition: background-color 0.25s ease;
}

.hero-submit-btn:hover {
    background-color: var(--primary-hover);
    color: var(--on-primary);
}

.hero-form-checkbox {
    accent-color: var(--primary);
    width: 16px;
    height: 16px;
    border-radius: 0;
    cursor: pointer;
}

.hero-consent-label {
    font-size: 0.8125rem;
    color: var(--on-dark-muted);
    line-height: 1.5;
    cursor: pointer;
}

.hero-privacy-link {
    color: var(--accent);
    text-decoration: underline;
}

.hero-privacy-link:hover {
    color: #FFFFFF;
}

@media (max-width: 767.98px) {
    .hero-heading {
        font-size: 1.125rem;
        hyphens: auto;
    }

    .hero-lead-text {
        font-size: 0.875rem;
        line-height: 1.6;
    }

    .hero-newsletter-card {
        padding: 16px;
    }

    .hero-primary-btn,
    .hero-secondary-btn {
        width: 100%;
    }
}

/* =====  ===== */
.glp-games-catalog {
    background-color: var(--bg, #F4F3F7);
}

.glp-games-catalog__header {
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
}

.glp-games-catalog .rd-eyebrow {
    font-family: 'Noto Serif SC', serif;
    color: var(--primary, #7E22CE);
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.glp-games-catalog .rd-title {
    font-family: 'Noto Serif SC', serif;
    color: var(--dark-band, #0D0A14);
    font-size: 2.125rem;
    font-weight: 600;
    line-height: 1.3;
}

.glp-games-catalog__desc {
    font-family: 'Noto Serif SC', serif;
    color: var(--text-muted, #5C566D);
    font-size: 0.9375rem;
    line-height: 1.6;
}

.glp-game-item {
    background-color: var(--surface, #FFFFFF);
    border: 1px solid var(--border, #D8D3E5);
    border-bottom: 3px solid var(--primary, #7E22CE);
    border-radius: 0;
    box-shadow: 0 4px 14px rgba(13, 10, 20, 0.05);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.glp-game-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 20px rgba(13, 10, 20, 0.1);
}

.glp-game-item__media-link {
    text-decoration: none;
    overflow: hidden;
}

.glp-game-item__media-box {
    width: 100%;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    clip-path: polygon(0 0, 100% 0, 100% 86%, 0 100%);
    background-color: var(--dark-band, #0D0A14);
}

.glp-game-item__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.35s ease;
}

.glp-game-item:hover .glp-game-item__image {
    transform: scale(1.05);
}

.glp-game-item__badge {
    position: absolute;
    bottom: 8px;
    right: 12px;
    background-color: var(--primary, #7E22CE);
    color: var(--on-primary, #FFFFFF);
    font-family: 'Noto Serif SC', serif;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 3px 8px;
    border-radius: 0;
    letter-spacing: 0.04em;
}

.glp-game-item__content {
    padding: 20px;
}

.glp-game-item__title {
    font-family: 'Noto Serif SC', serif;
    font-size: 1.05rem;
    font-weight: 600;
    line-height: 1.35;
}

.glp-game-item__title-link {
    color: var(--text, #0D0A14);
    text-decoration: none;
    transition: color 0.2s ease;
}

.glp-game-item__title-link:hover {
    color: var(--primary, #7E22CE);
}

.glp-game-item__summary {
    font-family: 'Noto Serif SC', serif;
    font-size: 0.875rem;
    color: var(--text-muted, #5C566D);
    line-height: 1.55;
}

.glp-game-item__meta {
    border-color: var(--border, #D8D3E5) !important;
}

.glp-game-item__meta-label {
    font-family: 'Noto Serif SC', serif;
    font-size: 0.75rem;
    color: var(--text-muted, #5C566D);
}

.glp-game-item__meta-val {
    font-family: 'Noto Serif SC', serif;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--dark-band, #0D0A14);
}

@media (max-width: 767px) {
    .glp-games-catalog .rd-title {
        font-size: 1rem;
        hyphens: auto;
    }

    .glp-game-item__content {
        padding: 16px;
    }

    .glp-game-item__title {
        font-size: 0.875rem;
        hyphens: auto;
    }
}

/* =====  ===== */
.dev-submit-section {
    padding: 84px 0;
    background-color: var(--surface-alt, #ECE8F5);
}

.dev-submit-section .rd-eyebrow {
    font-family: 'Noto Serif SC', serif;
    color: #7E22CE;
    font-size: 0.8125rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    display: block;
    margin-bottom: 8px;
}

.dev-submit-section .rd-title {
    font-family: 'Noto Serif SC', serif;
    color: #0D0A14;
    font-size: 2.125rem;
    font-weight: 600;
    line-height: 1.25;
    margin-bottom: 16px;
    overflow-wrap: anywhere;
}

.dev-submit-section .dev-lead-text {
    font-family: 'Noto Serif SC', serif;
    color: #5C566D;
    font-size: 1rem;
    line-height: 1.7;
    margin-bottom: 24px;
    max-width: 640px;
}

.dev-submit-section .rd-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: 'Noto Serif SC', serif;
    font-weight: 600;
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    border-radius: 0px;
    border: none;
    padding: 12px 28px;
    background-color: #7E22CE;
    color: #FFFFFF;
    text-decoration: none;
    transition: background-color 0.25s ease, color 0.25s ease;
}

.dev-submit-section .rd-btn:hover,
.dev-submit-section .rd-btn:focus {
    background-color: #0D0A14;
    color: #FFFFFF;
}

.dev-submit-section .rd-btn-alt {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: 'Noto Serif SC', serif;
    font-weight: 600;
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    border-radius: 0px;
    border: 1px solid #0D0A14;
    padding: 12px 28px;
    background-color: transparent;
    color: #0D0A14;
    text-decoration: none;
    transition: background-color 0.25s ease, color 0.25s ease;
}

.dev-submit-section .rd-btn-alt:hover,
.dev-submit-section .rd-btn-alt:focus {
    background-color: #0D0A14;
    color: #FFFFFF;
}

.dev-submit-section .dev-wallpaper-box {
    background-color: #0D0A14;
    border: 1px solid #251F33;
    border-bottom: 3px solid #7E22CE;
    border-radius: 0px;
    padding: 0;
    overflow: hidden;
    box-shadow: 0 4px 14px rgba(13, 10, 20, 0.08);
}

.dev-submit-section .dev-wallpaper-media {
    width: 100%;
    height: 220px;
    overflow: hidden;
    clip-path: polygon(0 0, 100% 0, 100% 88%, 0 100%);
}

.dev-submit-section .dev-wallpaper-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.dev-submit-section .dev-wallpaper-content {
    padding: 24px;
}

.dev-submit-section .rd-badge {
    display: inline-block;
    background-color: #7E22CE;
    color: #FFFFFF;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 3px 8px;
    border-radius: 0px;
}

.dev-submit-section .dev-asset-meta {
    font-size: 0.75rem;
    color: #A59FB5;
    letter-spacing: 0.04em;
}

.dev-submit-section .dev-wallpaper-title {
    font-family: 'Noto Serif SC', serif;
    font-size: 1.25rem;
    font-weight: 600;
    color: #FFFFFF;
    margin-bottom: 8px;
}

.dev-submit-section .dev-wallpaper-desc {
    font-size: 0.875rem;
    color: #A59FB5;
    line-height: 1.6;
    margin-bottom: 20px;
}

.dev-submit-section .dev-download-btn {
    width: 100%;
}

.dev-submit-section .dev-req-card {
    background-color: #0D0A14;
    border: 1px solid #251F33;
    border-bottom: 3px solid #7E22CE;
    border-radius: 0px;
    padding: 32px 24px;
}

.dev-submit-section .dev-icon-square {
    width: 44px;
    height: 44px;
    background-color: #7E22CE;
    color: #0D0A14;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0px;
}

.dev-submit-section .dev-icon-svg {
    width: 22px;
    height: 22px;
}

.dev-submit-section .dev-card-title {
    font-family: 'Noto Serif SC', serif;
    font-size: 1.25rem;
    font-weight: 600;
    color: #7E22CE;
    margin-bottom: 12px;
}

.dev-submit-section .dev-card-desc {
    font-family: 'Noto Serif SC', serif;
    font-size: 0.9375rem;
    color: #A59FB5;
    line-height: 1.65;
}

.dev-submit-section .dev-check-item {
    border-top: 1px solid #251F33;
    padding-top: 14px;
}

.dev-submit-section .dev-check-bullet {
    width: 8px;
    height: 8px;
    background-color: #7E22CE;
    display: inline-block;
    flex-shrink: 0;
}

.dev-submit-section .dev-check-text {
    font-size: 0.8125rem;
    color: #ECE8F5;
    font-weight: 500;
}

.dev-submit-section .dev-process-wrapper {
    border-top: 1px solid #D8D3E5;
    padding-top: 48px;
}

.dev-submit-section .dev-step-item {
    border-left: 2px solid #7E22CE;
    padding-left: 20px;
}

.dev-submit-section .dev-step-number {
    font-family: 'Noto Serif SC', serif;
    font-weight: 700;
    font-size: 3rem;
    line-height: 1;
    color: #0D0A14;
    letter-spacing: -0.03em;
    margin-bottom: 10px;
}

.dev-submit-section .dev-step-title {
    font-family: 'Noto Serif SC', serif;
    font-size: 1.125rem;
    font-weight: 600;
    color: #0D0A14;
    margin-bottom: 8px;
}

.dev-submit-section .dev-step-desc {
    font-size: 0.875rem;
    color: #5C566D;
    line-height: 1.65;
    margin-bottom: 0;
}

.dev-submit-section .dev-newsletter-card {
    background-color: #0D0A14;
    border: 1px solid #251F33;
    border-bottom: 3px solid #7E22CE;
    border-radius: 0px;
    padding: 40px 32px;
    box-shadow: 0 4px 14px rgba(13, 10, 20, 0.08);
}

.dev-submit-section .dev-newsletter-card .rd-title {
    color: #FFFFFF;
    font-size: 1.75rem;
}

.dev-submit-section .dev-newsletter-subtitle {
    color: #A59FB5;
    font-size: 0.9375rem;
    line-height: 1.6;
}

.dev-submit-section .dev-form-label {
    font-family: 'Noto Serif SC', serif;
    color: #ECE8F5;
    font-size: 0.875rem;
    font-weight: 500;
    margin-bottom: 6px;
}

.dev-submit-section .dev-form-input {
    background-color: #161220;
    border: 1px solid #251F33;
    border-radius: 0px;
    color: #FFFFFF;
    padding: 12px 16px;
    font-size: 0.9375rem;
}

.dev-submit-section .dev-form-input:focus {
    background-color: #161220;
    border-color: #7E22CE;
    color: #FFFFFF;
    box-shadow: 0 0 0 1px #7E22CE;
}

.dev-submit-section .dev-form-input::placeholder {
    color: #A59FB5;
    opacity: 0.7;
}

.dev-submit-section .dev-check-input {
    background-color: #161220;
    border: 1px solid #7E22CE;
    border-radius: 0px;
    width: 18px;
    height: 18px;
}

.dev-submit-section .dev-check-input:checked {
    background-color: #7E22CE;
    border-color: #7E22CE;
}

.dev-submit-section .dev-check-label {
    font-size: 0.875rem;
    color: #A59FB5;
    line-height: 1.5;
}

.dev-submit-section .dev-policy-link {
    color: #ECE8F5;
    text-decoration: underline;
    margin-left: 4px;
}

.dev-submit-section .dev-policy-link:hover {
    color: #7E22CE;
}

.dev-submit-section .dev-submit-btn {
    padding: 14px 28px;
}

@media (max-width: 767px) {
    .dev-submit-section {
        padding: 56px 0;
    }

    .dev-submit-section .rd-title {
        font-size: 16px;
    }

    .dev-submit-section .dev-wallpaper-title,
    .dev-submit-section .dev-card-title,
    .dev-submit-section .dev-step-title {
        font-size: 14px;
    }

    .dev-submit-section .dev-wallpaper-media {
        height: 180px;
    }

    .dev-submit-section .dev-step-number {
        font-size: 2.25rem;
    }

    .dev-submit-section .dev-newsletter-card {
        padding: 24px 16px;
    }

    .dev-submit-section .dev-req-card {
        padding: 24px 16px;
    }
}

/* =====  ===== */
.editors-choice-block {
    padding: 84px 0;
    background-color: var(--dark-band, #0D0A14);
    color: var(--on-dark, #FFFFFF);
    position: relative;
    overflow: hidden;
}

.editors-choice-block .editors-choice-header {
    max-width: 760px;
    margin: 0 auto 48px auto;
}

.editors-choice-block .editors-choice-title {
    font-family: 'Noto Serif SC', serif;
    font-size: 2.125rem;
    font-weight: 600;
    color: #FFFFFF;
    line-height: 1.3;
    margin-top: 8px;
    margin-bottom: 16px;
    overflow-wrap: anywhere;
}

.editors-choice-block .editors-choice-subtitle {
    font-family: 'Noto Serif SC', serif;
    font-size: 0.9375rem;
    color: #A59FB5;
    line-height: 1.7;
    margin-bottom: 0;
}

.editors-choice-block .editors-choice-card {
    background: #161220;
    border: 1px solid #251F33;
    border-bottom: 3px solid #7E22CE;
    padding: 28px;
    transition: transform 0.25s ease, border-color 0.25s ease;
}

.editors-choice-block .editors-choice-card:hover {
    transform: translateY(-4px);
    border-color: #7E22CE;
}

.editors-choice-block .editors-card-plate {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 1px solid #251F33;
}

.editors-choice-block .editors-card-tag {
    font-family: 'Noto Serif SC', serif;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    background: #7E22CE;
    color: #FFFFFF;
    padding: 3px 8px;
    display: inline-block;
}

.editors-choice-block .editors-card-meta {
    font-family: 'Noto Serif SC', serif;
    font-size: 0.75rem;
    color: #A59FB5;
    letter-spacing: 0.04em;
}

.editors-choice-block .editors-game-name {
    font-family: 'Noto Serif SC', serif;
    font-size: 1.25rem;
    font-weight: 600;
    color: #FFFFFF;
    margin-bottom: 14px;
    overflow-wrap: anywhere;
}

.editors-choice-block .editors-verdict-quote {
    font-family: 'Noto Serif SC', serif;
    font-size: 0.875rem;
    color: #ECE8F5;
    line-height: 1.65;
    margin-bottom: 20px;
}

.editors-choice-block .editors-passport-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid #251F33;
    padding-top: 10px;
    margin-top: 10px;
}

.editors-choice-block .passport-label {
    font-family: 'Noto Serif SC', serif;
    font-size: 0.75rem;
    text-transform: uppercase;
    color: #5C566D;
    letter-spacing: 0.06em;
}

.editors-choice-block .passport-val {
    font-family: 'Noto Serif SC', serif;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #ECE8F5;
    text-align: right;
}

.editors-choice-block .editors-download-btn {
    font-family: 'Noto Serif SC', serif;
    font-size: 0.8125rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    background-color: #7E22CE;
    color: #FFFFFF;
    border: none;
    border-radius: 0;
    padding: 10px 16px;
    text-decoration: none;
    transition: background-color 0.25s ease, color 0.25s ease;
}

.editors-choice-block .editors-download-btn:hover {
    background-color: #0D0A14;
    color: #FFFFFF;
}

.editors-choice-block .editors-btn-icon {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    stroke-width: 1.75;
}

.editors-choice-block .editors-newsletter-box {
    background: #161220;
    border: 1px solid #251F33;
    border-left: 4px solid #7E22CE;
    padding: 36px 32px;
}

.editors-choice-block .newsletter-heading {
    font-family: 'Noto Serif SC', serif;
    font-size: 1.35rem;
    font-weight: 600;
    color: #FFFFFF;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.editors-choice-block .newsletter-text {
    font-family: 'Noto Serif SC', serif;
    font-size: 0.875rem;
    color: #A59FB5;
    line-height: 1.6;
}

.editors-choice-block .editors-input {
    background: #0D0A14;
    border: 1px solid #251F33;
    border-radius: 0;
    color: #FFFFFF;
    font-family: 'Noto Serif SC', serif;
    font-size: 0.875rem;
    padding: 12px 16px;
    min-width: 0;
    outline: none;
    transition: border-color 0.2s ease;
}

.editors-choice-block .editors-input:focus {
    border-color: #7E22CE;
}

.editors-choice-block .editors-input::placeholder {
    color: #5C566D;
    opacity: 1;
}

.editors-choice-block .editors-submit-btn {
    font-family: 'Noto Serif SC', serif;
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    background-color: #7E22CE;
    color: #FFFFFF;
    border: none;
    border-radius: 0;
    padding: 12px 24px;
    transition: background-color 0.25s ease, color 0.25s ease;
}

.editors-choice-block .editors-submit-btn:hover {
    background-color: #0D0A14;
    color: #FFFFFF;
}

.editors-choice-block .editors-checkbox {
    appearance: none;
    -webkit-appearance: none;
    width: 18px;
    height: 18px;
    background-color: #0D0A14;
    border: 1px solid #251F33;
    border-radius: 0;
    display: inline-grid;
    place-content: center;
    cursor: pointer;
    flex-shrink: 0;
    margin: 0;
}

.editors-choice-block .editors-checkbox:checked {
    background-color: #7E22CE;
    border-color: #7E22CE;
}

.editors-choice-block .editors-checkbox:checked::before {
    content: "";
    width: 8px;
    height: 8px;
    background-color: #FFFFFF;
    clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
}

.editors-choice-block .editors-consent-label {
    font-family: 'Noto Serif SC', serif;
    font-size: 0.8125rem;
    color: #A59FB5;
    line-height: 1.4;
}

.editors-choice-block .editors-policy-link {
    color: #7E22CE;
    text-decoration: underline;
    margin-left: 4px;
}

.editors-choice-block .editors-policy-link:hover {
    color: #ECE8F5;
}

.editors-choice-block .editors-form-feedback {
    font-size: 0.8125rem;
    margin-top: 8px;
    color: #A855F7;
}

@media (max-width: 767px) {
    .editors-choice-block {
        padding: 56px 0;
    }

    .editors-choice-block .editors-choice-title {
        font-size: 1.5rem;
    }

    .editors-choice-block .editors-choice-card {
        padding: 20px;
    }

    .editors-choice-block .editors-newsletter-box {
        padding: 24px 20px;
    }

    .editors-choice-block .newsletter-heading {
        font-size: 1.15rem;
    }
}

/* =====  ===== */
.glp-random-block {
    padding: 84px 0;
    background-color: var(--bg);
    overflow: hidden;
}

.glp-random-block .glp-main-title {
    color: var(--dark-band);
    font-size: 2.125rem;
    font-weight: 600;
    line-height: 1.25;
}

.glp-random-block .glp-desc {
    color: var(--text-muted);
    font-size: 0.95rem;
    line-height: 1.7;
    max-width: 620px;
}

.glp-random-block .glp-console-box {
    background: var(--surface);
    border: 1px solid var(--border);
    box-shadow: 0 4px 14px rgba(13, 10, 20, 0.06);
    border-bottom: 3px solid var(--primary);
}

.glp-random-block .glp-console-visual {
    background: var(--dark-band);
    min-height: 320px;
}

.glp-random-block .glp-preview-screen {
    background: radial-gradient(circle at center, #1b1429 0%, #0d0a14 100%);
    overflow: hidden;
    min-height: 320px;
}

.glp-random-block .glp-scanline {
    position: absolute;
    inset: 0;
    background: linear-gradient(rgba(18, 16, 16, 0) 50%, rgba(0, 0, 0, 0.3) 50%);
    background-size: 100% 4px;
    pointer-events: none;
    opacity: 0.6;
}

.glp-random-block .glp-badge-container {
    position: absolute;
    top: 20px;
    left: 20px;
    z-index: 2;
}

.glp-random-block .glp-screen-badge {
    background: var(--primary);
    color: var(--on-primary);
    font-size: 0.75rem;
    padding: 4px 10px;
    font-weight: 600;
}

.glp-random-block .glp-counter-pill {
    background: #1f192b;
    color: var(--accent);
    border: 1px solid #352a4a;
    font-size: 0.75rem;
    padding: 4px 10px;
    font-weight: 600;
}

.glp-random-block .glp-screen-center {
    position: relative;
    z-index: 2;
    height: 100%;
    min-height: 320px;
}

.glp-random-block .glp-radar-icon {
    width: 56px;
    height: 56px;
    background: var(--primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.glp-random-block .glp-radar-icon .glp-svg {
    width: 30px;
    height: 30px;
    color: var(--dark-band);
}

.glp-random-block .glp-screen-name {
    color: #ffffff;
    font-size: 1.25rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    margin-bottom: 6px;
}

.glp-random-block .glp-screen-sub {
    color: #a59fb5;
    font-size: 0.8125rem;
}

.glp-random-block .glp-border {
    border-color: var(--border) !important;
}

.glp-random-block .glp-console-label {
    color: var(--text-muted);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.glp-random-block .glp-status-dot {
    color: var(--primary-text);
    font-size: 0.75rem;
    font-weight: 600;
}

.glp-random-block .glp-dot {
    width: 8px;
    height: 8px;
    background: var(--primary);
    display: inline-block;
}

.glp-random-block .glp-console-title {
    color: var(--dark-band);
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 1.3;
}

.glp-random-block .glp-console-text {
    color: var(--text-muted);
    font-size: 0.9375rem;
    line-height: 1.7;
}

.glp-random-block .glp-stats-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    padding: 16px 0;
}

.glp-random-block .glp-stat-item {
    text-align: left;
}

.glp-random-block .glp-stat-num {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--dark-band);
    line-height: 1;
    margin-bottom: 4px;
}

.glp-random-block .glp-stat-label {
    font-size: 0.75rem;
    color: var(--text-muted);
    font-weight: 600;
    text-transform: uppercase;
}

.glp-random-block .glp-random-trigger {
    background-color: var(--primary);
    color: var(--on-primary);
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 14px 28px;
    border: none;
    border-radius: 0;
    cursor: pointer;
    transition: background-color 0.25s ease, color 0.25s ease;
}

.glp-random-block .glp-random-trigger:hover {
    background-color: var(--primary-hover);
    color: var(--on-primary);
}

.glp-random-block .glp-btn-icon {
    width: 20px;
    height: 20px;
}

.glp-random-block .glp-note-txt {
    font-size: 0.8125rem;
    color: var(--text-muted);
}

@media (max-width: 767px) {
    .glp-random-block {
        padding: 48px 0;
    }

    .glp-random-block .glp-main-title {
        font-size: 1.25rem;
    }

    .glp-random-block .glp-console-title {
        font-size: 1.15rem;
    }

    .glp-random-block .glp-stats-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .glp-random-block .glp-console-content {
        padding: 24px 16px !important;
    }

    .glp-random-block .glp-preview-screen {
        min-height: 240px;
    }

    .glp-random-block .glp-screen-center {
        min-height: 240px;
        padding: 24px 16px !important;
    }
}

/* =====  ===== */
.voting-poll-section {
    overflow: hidden;
}

.voting-poll-section .voting-poll-lead {
    font-family: 'Noto Serif SC', serif;
    font-size: 1rem;
    color: #5C566D;
    line-height: 1.7;
    max-width: 720px;
    margin: 0 auto;
}

.voting-poll-section .voting-card {
    background: #0D0A14;
    border: 1px solid #251F33;
    border-bottom: 3px solid #7E22CE;
    padding: 28px;
    height: 100%;
    border-radius: 0;
    display: flex;
    flex-direction: column;
}

.voting-poll-section .voting-card-title {
    font-family: 'Noto Serif SC', serif;
    font-size: 1.25rem;
    font-weight: 600;
    color: #FFFFFF;
    letter-spacing: -0.01em;
}

.voting-poll-section .voting-item {
    background: #161220;
    border: 1px solid #251F33;
    padding: 14px 16px;
    border-radius: 0;
}

.voting-poll-section .voting-item-label {
    font-family: 'Noto Serif SC', serif;
    font-size: 0.9375rem;
    font-weight: 600;
    color: #FFFFFF;
}

.voting-poll-section .voting-item-meta {
    font-family: 'Noto Serif SC', serif;
    font-size: 0.8125rem;
    color: #A59FB5;
}

.voting-poll-section .voting-progress-track {
    width: 100%;
    height: 6px;
    background: #251F33;
    border-radius: 0;
    overflow: hidden;
}

.voting-poll-section .voting-progress-bar {
    height: 100%;
    background: #7E22CE;
    transition: width 0.4s ease;
    border-radius: 0;
}

.voting-poll-section .voting-action-btn {
    font-family: 'Noto Serif SC', serif;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 6px 14px;
    border: 1px solid #7E22CE;
    background: transparent;
    color: #ECE8F5;
    cursor: pointer;
    transition: all 0.25s ease;
    border-radius: 0;
}

.voting-poll-section .voting-action-btn:hover {
    background: #7E22CE;
    color: #FFFFFF;
}

.voting-poll-section .voting-action-btn.is-voted {
    background: #7E22CE;
    color: #FFFFFF;
    cursor: default;
    border-color: #7E22CE;
}

.voting-poll-section .wallpaper-card {
    background: #FFFFFF;
    border: 1px solid #D8D3E5;
    border-bottom: 3px solid #7E22CE;
    border-radius: 0;
}

.voting-poll-section .wallpaper-preview-wrapper {
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #0D0A14;
}

.voting-poll-section .wallpaper-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.voting-poll-section .wallpaper-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 2;
}

.voting-poll-section .wallpaper-title {
    font-family: 'Noto Serif SC', serif;
    font-size: 1.25rem;
    font-weight: 600;
    color: #0D0A14;
}

.voting-poll-section .wallpaper-desc {
    font-family: 'Noto Serif SC', serif;
    font-size: 0.875rem;
    color: #5C566D;
    line-height: 1.6;
}

.voting-poll-section .wallpaper-download-btn {
    font-family: 'Noto Serif SC', serif;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    background-color: #7E22CE;
    color: #FFFFFF;
    padding: 12px 24px;
    font-size: 0.875rem;
    text-decoration: none;
    border-radius: 0;
    border: none;
    transition: background-color 0.25s ease;
}

.voting-poll-section .wallpaper-download-btn:hover {
    background-color: #0D0A14;
    color: #FFFFFF;
}

.voting-poll-section .newsletter-card {
    background: #0D0A14;
    border: 1px solid #251F33;
    border-bottom: 3px solid #7E22CE;
    border-radius: 0;
}

.voting-poll-section .newsletter-title {
    font-family: 'Noto Serif SC', serif;
    font-size: 1.25rem;
    font-weight: 600;
    color: #FFFFFF;
}

.voting-poll-section .newsletter-desc {
    font-family: 'Noto Serif SC', serif;
    font-size: 0.875rem;
    color: #A59FB5;
    line-height: 1.6;
}

.voting-poll-section .newsletter-label {
    font-family: 'Noto Serif SC', serif;
    font-size: 0.8125rem;
    color: #ECE8F5;
    display: block;
}

.voting-poll-section .newsletter-input {
    background: #161220;
    border: 1px solid #251F33;
    color: #FFFFFF;
    padding: 10px 14px;
    font-size: 0.875rem;
    border-radius: 0;
    outline: none;
    transition: border-color 0.25s ease;
}

.voting-poll-section .newsletter-input:focus {
    border-color: #7E22CE;
}

.voting-poll-section .newsletter-input::placeholder {
    color: #5C566D;
    opacity: 1;
}

.voting-poll-section .consent-label {
    cursor: pointer;
    user-select: none;
}

.voting-poll-section .consent-checkbox {
    accent-color: #7E22CE;
    width: 16px;
    height: 16px;
    border-radius: 0;
    flex-shrink: 0;
    cursor: pointer;
}

.voting-poll-section .consent-text {
    font-family: 'Noto Serif SC', serif;
    font-size: 0.75rem;
    color: #A59FB5;
    line-height: 1.5;
}

.voting-poll-section .privacy-link {
    color: #ECE8F5;
    text-decoration: underline;
    margin-left: 4px;
}

.voting-poll-section .privacy-link:hover {
    color: #FFFFFF;
}

.voting-poll-section .newsletter-submit-btn {
    font-family: 'Noto Serif SC', serif;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    background-color: #7E22CE;
    color: #FFFFFF;
    padding: 12px 20px;
    font-size: 0.875rem;
    border: none;
    border-radius: 0;
    cursor: pointer;
    transition: background-color 0.25s ease;
}

.voting-poll-section .newsletter-submit-btn:hover {
    background-color: #161220;
    color: #FFFFFF;
}

@media (max-width: 767px) {
    .voting-poll-section .voting-card {
        padding: 18px;
    }

    .voting-poll-section .newsletter-card {
        padding: 20px !important;
    }

    .voting-poll-section .wallpaper-body {
        padding: 18px !important;
    }

    .voting-poll-section .rd-title {
        font-size: 16px;
    }

    .voting-poll-section h3 {
        font-size: 14px;
    }
}

/* =====  ===== */
.news-grid-module {
    padding: 84px 0;
    background-color: var(--bg);
    font-family: 'Noto Serif SC', serif;
}

.news-grid-module .news-grid-header {
    margin-bottom: 48px;
}

.news-grid-module .rd-eyebrow {
    font-family: 'Noto Serif SC', serif;
    color: var(--primary);
    font-size: 0.8125rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    display: block;
    margin-bottom: 8px;
}

.news-grid-module .rd-title {
    font-family: 'Noto Serif SC', serif;
    color: var(--dark-band);
    font-size: 2.125rem;
    font-weight: 600;
    margin-bottom: 12px;
    line-height: 1.25;
}

.news-grid-module .news-grid-subtitle {
    color: var(--text-muted);
    font-size: 0.95rem;
    line-height: 1.6;
    margin: 0;
}

.news-grid-module .news-card {
    display: flex;
    flex-direction: column;
    background: var(--surface);
    border: none;
    border-bottom: 3px solid var(--primary);
    box-shadow: 0 4px 14px rgba(13, 10, 20, 0.06);
}

.news-grid-module .news-card-media-wrapper {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    clip-path: polygon(0 0, 100% 0, 100% 86%, 0 100%);
    background: var(--dark-band);
}

.news-grid-module .news-card-media-link {
    display: block;
    width: 100%;
    height: 100%;
}

.news-grid-module .news-card-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.35s ease;
}

.news-grid-module .news-card:hover .news-card-img {
    transform: scale(1.04);
}

.news-grid-module .news-card-badge-cut {
    position: absolute;
    top: 16px;
    left: 16px;
    background: var(--dark-band);
    border-left: 3px solid var(--primary);
    padding: 4px 12px;
    transform: skewX(-15deg);
    z-index: 2;
}

.news-grid-module .news-badge-text {
    display: block;
    transform: skewX(15deg);
    color: #FFFFFF;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.05em;
}

.news-grid-module .news-card-body {
    padding: 28px 24px 24px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.news-grid-module .news-card-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--text-muted);
    font-size: 0.8125rem;
    margin-bottom: 12px;
}

.news-grid-module .news-meta-icon {
    width: 14px;
    height: 14px;
    stroke: var(--primary);
}

.news-grid-module .news-meta-divider {
    color: var(--border);
}

.news-grid-module .news-card-title {
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.35;
    margin-bottom: 12px;
}

.news-grid-module .news-title-link {
    color: var(--dark-band);
    text-decoration: none;
    transition: color 0.2s ease;
}

.news-grid-module .news-title-link:hover {
    color: var(--primary);
}

.news-grid-module .news-card-excerpt {
    color: var(--text-muted);
    font-size: 0.875rem;
    line-height: 1.7;
    margin-bottom: 20px;
    flex-grow: 1;
}

.news-grid-module .news-card-footer {
    margin-top: auto;
    padding-top: 16px;
    border-top: 1px solid var(--border);
}

.news-grid-module .news-wallpaper-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: var(--dark-band);
    color: #FFFFFF;
    border: none;
    padding: 10px 20px;
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    cursor: pointer;
    transition: background-color 0.25s ease, color 0.25s ease;
}

.news-grid-module .news-wallpaper-btn:hover {
    background: var(--primary);
    color: #FFFFFF;
}

.news-grid-module .news-btn-icon {
    width: 16px;
    height: 16px;
}

.news-grid-module .news-newsletter-box {
    margin-top: 56px;
    background: var(--dark-band);
    border: 1px solid #251F33;
    border-bottom: 3px solid var(--primary);
    padding: 40px;
}

.news-grid-module .news-newsletter-eyebrow {
    color: var(--primary);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    display: block;
    margin-bottom: 6px;
}

.news-grid-module .news-newsletter-title {
    color: #FFFFFF;
    font-size: 1.5rem;
    font-weight: 600;
    margin-bottom: 10px;
    line-height: 1.3;
}

.news-grid-module .news-newsletter-desc {
    color: #A59FB5;
    font-size: 0.875rem;
    line-height: 1.6;
    margin: 0;
}

.news-grid-module .news-form-input-group {
    display: flex;
    width: 100%;
    margin-bottom: 12px;
}

.news-grid-module .news-form-input {
    flex-grow: 1;
    min-width: 0;
    background: #161220;
    border: 1px solid #251F33;
    border-right: none;
    color: #FFFFFF;
    padding: 12px 18px;
    font-size: 0.875rem;
    outline: none;
    border-radius: 0;
}

.news-grid-module .news-form-input::placeholder {
    color: #5C566D;
    opacity: 1;
}

.news-grid-module .news-form-input:focus {
    border-color: var(--primary);
}

.news-grid-module .news-form-submit-btn {
    background: var(--primary);
    color: #FFFFFF;
    border: 1px solid var(--primary);
    padding: 12px 28px;
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    cursor: pointer;
    white-space: nowrap;
    transition: background-color 0.25s ease, border-color 0.25s ease;
    border-radius: 0;
}

.news-grid-module .news-form-submit-btn:hover {
    background: #0D0A14;
    border-color: #0D0A14;
    color: #FFFFFF;
}

.news-grid-module .news-checkbox-label {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    cursor: pointer;
}

.news-grid-module .news-checkbox-input {
    margin-top: 3px;
    accent-color: var(--primary);
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

.news-grid-module .news-checkbox-text {
    color: #A59FB5;
    font-size: 0.78125rem;
    line-height: 1.5;
}

.news-grid-module .news-policy-link {
    color: #FFFFFF;
    text-decoration: underline;
    transition: color 0.2s ease;
}

.news-grid-module .news-policy-link:hover {
    color: var(--primary);
}

.news-grid-module .news-form-msg {
    font-size: 0.78125rem;
    margin-top: 6px;
    display: none;
}

@media (max-width: 767px) {
    .news-grid-module {
        padding: 48px 0;
    }

    .news-grid-module .rd-title {
        font-size: 1.625rem;
    }

    .news-grid-module .news-card-title {
        font-size: 1.125rem;
    }

    .news-grid-module .news-newsletter-box {
        padding: 24px 16px;
        margin-top: 40px;
    }

    .news-grid-module .news-form-input-group {
        flex-direction: column;
    }

    .news-grid-module .news-form-input {
        border-right: 1px solid #251F33;
        margin-bottom: 10px;
        width: 100%;
    }

    .news-grid-module .news-form-submit-btn {
        width: 100%;
    }
}

/* =====  ===== */
.glp-footer {
    background-color: var(--dark-band, #0D0A14);
    color: var(--on-dark, #FFFFFF);
    position: relative;
    padding-top: 60px;
    padding-bottom: 30px;
    border-top: 3px solid var(--primary, #7E22CE);
    overflow: hidden;
}

.glp-footer__strip {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background-color: var(--primary, #7E22CE);
}

.glp-footer .glp-disclaimer-box {
    background-color: #161220;
    border: 1px solid #251F33;
    border-left: 4px solid var(--primary, #7E22CE);
    padding: 24px;
    margin-bottom: 48px;
    border-radius: 0;
}

.glp-footer .glp-disclaimer-box__header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.glp-footer .glp-disclaimer-box__icon-badge {
    width: 32px;
    height: 32px;
    background-color: var(--primary, #7E22CE);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.glp-footer .glp-disclaimer-box__svg {
    width: 18px;
    height: 18px;
    color: #0D0A14;
}

.glp-footer .glp-disclaimer-box__eyebrow {
    font-family: 'Noto Serif SC', serif;
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--accent, #A855F7);
}

.glp-footer .glp-disclaimer-box__text {
    font-family: 'Noto Serif SC', serif;
    font-size: 0.875rem;
    line-height: 1.7;
    color: var(--on-dark-muted, #A59FB5);
    margin: 0;
    overflow-wrap: anywhere;
}

.glp-footer__main-grid {
    margin-bottom: 48px;
}

.glp-footer .glp-footer__brand-card {
    background-color: #161220;
    border: 1px solid #251F33;
    border-bottom: 3px solid var(--primary, #7E22CE);
    padding: 24px;
    height: 100%;
    display: flex;
    flex-direction: column;
    border-radius: 0;
}

.glp-footer .glp-footer__logo-link {
    display: inline-block;
    margin-bottom: 16px;
}

.glp-footer .glp-footer__logo {
    max-width: 48px;
    height: auto;
    display: block;
    object-fit: contain;
}

.glp-footer .glp-footer__brand-desc {
    font-family: 'Noto Serif SC', serif;
    font-size: 0.875rem;
    line-height: 1.7;
    color: var(--on-dark-muted, #A59FB5);
    margin: 0;
    overflow-wrap: anywhere;
}

.glp-footer .glp-footer__column-title {
    font-family: 'Noto Serif SC', serif;
    font-size: 1.125rem;
    font-weight: 600;
    color: #FFFFFF;
    margin-bottom: 20px;
    line-height: 1.3;
    letter-spacing: -0.01em;
}

.glp-footer .glp-footer__nav-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.glp-footer .glp-footer__nav-item {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

.glp-footer .glp-footer__marker {
    width: 0;
    height: 0;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 6px solid var(--primary, #7E22CE);
    margin-right: 10px;
    flex-shrink: 0;
}

.glp-footer .glp-footer__link {
    font-family: 'Noto Serif SC', serif;
    font-size: 0.875rem;
    color: var(--on-dark-muted, #A59FB5);
    text-decoration: none;
    transition: color 0.25s ease;
    overflow-wrap: anywhere;
}

.glp-footer .glp-footer__link:hover,
.glp-footer .glp-footer__link:focus {
    color: #FFFFFF;
    text-decoration: underline;
}

.glp-footer .glp-footer__download-wrapper {
    margin-top: 24px;
}

.glp-footer .glp-footer__download-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    font-family: 'Noto Serif SC', serif;
    font-size: 0.8125rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    background-color: var(--primary, #7E22CE);
    color: #FFFFFF;
    border: none;
    border-radius: 0;
    padding: 12px 18px;
    text-decoration: none;
    transition: background-color 0.25s ease, color 0.25s ease;
}

.glp-footer .glp-footer__download-btn:hover,
.glp-footer .glp-footer__download-btn:focus {
    background-color: #0D0A14;
    color: #FFFFFF;
    border: 1px solid var(--primary, #7E22CE);
}

.glp-footer .glp-footer__btn-icon {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

.glp-footer .glp-footer__newsletter-desc {
    font-family: 'Noto Serif SC', serif;
    font-size: 0.875rem;
    line-height: 1.6;
    color: var(--on-dark-muted, #A59FB5);
    margin-bottom: 16px;
    overflow-wrap: anywhere;
}

.glp-footer .glp-footer__newsletter-form {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.glp-footer .glp-footer__form-group {
    position: relative;
}

.glp-footer .glp-footer__input {
    width: 100%;
    background-color: #161220;
    border: 1px solid #251F33;
    color: #FFFFFF;
    padding: 12px 14px;
    font-family: 'Noto Serif SC', serif;
    font-size: 0.875rem;
    border-radius: 0;
    outline: none;
    transition: border-color 0.25s ease;
}

.glp-footer .glp-footer__input:focus {
    border-color: var(--primary, #7E22CE);
}

.glp-footer .glp-footer__input::placeholder {
    color: #5C566D;
    opacity: 1;
}

.glp-footer .glp-footer__consent-group {
    margin-top: 4px;
}

.glp-footer .glp-footer__checkbox-label {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    cursor: pointer;
    user-select: none;
}

.glp-footer .glp-footer__checkbox {
    width: 16px;
    height: 16px;
    accent-color: var(--primary, #7E22CE);
    margin-top: 3px;
    flex-shrink: 0;
    cursor: pointer;
}

.glp-footer .glp-footer__checkbox-text {
    font-family: 'Noto Serif SC', serif;
    font-size: 0.75rem;
    line-height: 1.5;
    color: var(--on-dark-muted, #A59FB5);
    overflow-wrap: anywhere;
}

.glp-footer .glp-footer__inline-link {
    color: var(--accent, #A855F7);
    text-decoration: underline;
}

.glp-footer .glp-footer__inline-link:hover,
.glp-footer .glp-footer__inline-link:focus {
    color: #FFFFFF;
}

.glp-footer .glp-footer__submit-btn {
    width: 100%;
    background-color: var(--primary, #7E22CE);
    color: #FFFFFF;
    border: none;
    border-radius: 0;
    padding: 12px 20px;
    font-family: 'Noto Serif SC', serif;
    font-size: 0.8125rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    cursor: pointer;
    transition: background-color 0.25s ease, color 0.25s ease;
}

.glp-footer .glp-footer__submit-btn:hover,
.glp-footer .glp-footer__submit-btn:focus {
    background-color: #0D0A14;
    color: #FFFFFF;
    border: 1px solid var(--primary, #7E22CE);
}

.glp-footer__bottom-bar {
    border-top: 1px solid #251F33;
    padding-top: 24px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
}

.glp-footer .glp-footer__copyright {
    font-family: 'Noto Serif SC', serif;
    font-size: 0.8125rem;
    color: var(--on-dark-muted, #A59FB5);
}

.glp-footer .glp-footer__policy-inline {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.glp-footer .glp-footer__policy-link {
    font-family: 'Noto Serif SC', serif;
    font-size: 0.8125rem;
    color: var(--on-dark-muted, #A59FB5);
    text-decoration: none;
    transition: color 0.25s ease;
}

.glp-footer .glp-footer__policy-link:hover,
.glp-footer .glp-footer__policy-link:focus {
    color: #FFFFFF;
    text-decoration: underline;
}

.glp-footer .glp-footer__policy-divider {
    color: #5C566D;
    font-size: 0.75rem;
}

@media (max-width: 767px) {
    .glp-footer {
        padding-top: 40px;
        padding-bottom: 24px;
    }

    .glp-footer .glp-footer__main-grid {
        margin-bottom: 32px;
    }

    .glp-footer .glp-footer__column-title {
        font-size: 1rem;
        margin-bottom: 14px;
    }

    .glp-footer .glp-footer__brand-card {
        margin-bottom: 8px;
    }

    .glp-footer__bottom-bar {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
}

/* ===== PAGE: privacy ===== */
.policy-content{color:var(--text,#0D0A14);background:var(--surface-white,#FFFFFF);border-top:3px solid var(--primary,#7E22CE);padding:40px 32px;margin:0 auto;max-width:100%;font-family:'Noto Serif SC',serif;box-sizing:border-box;overflow-wrap:anywhere;hyphens:auto}.policy-content__header{border-bottom:1px solid var(--border-subtle-light,#D8D3E5);padding-bottom:24px;margin-bottom:32px}.policy-content__eyebrow{font-size:0.8125rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--primary,#7E22CE);margin-bottom:8px}.policy-content__title{font-size:1.875rem;font-weight:600;line-height:1.25;color:var(--dark-band,#0D0A14);margin:0 0 16px 0;letter-spacing:-0.01em}.policy-content__date-badge{display:inline-flex;align-items:center;background:var(--page-background,#F4F3F7);border-left:3px solid var(--primary,#7E22CE);padding:6px 14px;gap:6px}.policy-content__date-label{font-size:0.8125rem;color:var(--text-light-secondary,#5C566D)}.policy-content__date-value{font-size:0.8125rem;font-weight:600;color:var(--dark-band,#0D0A14)}.policy-content__alert{background:var(--dark-band,#0D0A14);border-left:4px solid var(--primary,#7E22CE);padding:20px 24px;margin-bottom:36px}.policy-content__alert-text{color:#FFFFFF;font-size:0.9375rem;line-height:1.65;margin:0}.policy-content__section{margin-bottom:36px}.policy-content__subtitle{font-size:1.25rem;font-weight:600;line-height:1.3;color:var(--dark-band,#0D0A14);margin:0 0 14px 0;padding-bottom:8px;border-bottom:1px solid var(--border-subtle-light,#D8D3E5)}.policy-content p{font-size:0.95rem;line-height:1.7;color:var(--text-light-secondary,#5C566D);margin:0 0 14px 0}.policy-content__list{margin:0 0 16px 0;padding-left:22px}.policy-content__list li{font-size:0.95rem;line-height:1.7;color:var(--text-light-secondary,#5C566D);margin-bottom:8px}.policy-content__list li strong{color:var(--dark-band,#0D0A14);font-weight:600}@media (max-width:767px){.policy-content{padding:24px 16px}.policy-content__title{font-size:1rem;line-height:1.3}.policy-content__subtitle{font-size:0.875rem;line-height:1.3}.policy-content p,.policy-content__list li{font-size:0.875rem;line-height:1.6}.policy-content__alert{padding:16px 14px}.policy-content__alert-text{font-size:0.8125rem}}

/* ===== PAGE: terms ===== */
.policy-content{max-width:960px;margin:0 auto;padding:48px 24px 84px;color:var(--text-light-primary,#0D0A14);font-family:'Noto Serif SC',serif;background:transparent;overflow-wrap:anywhere}.policy-content__header{margin-bottom:36px;border-bottom:2px solid var(--border-subtle-light,#D8D3E5);padding-bottom:28px;text-align:left}.policy-content__header .rd-eyebrow{display:inline-block;font-size:0.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:0.12em;color:var(--primary,#7E22CE);margin-bottom:10px}.policy-content__header .rd-title{font-size:2rem;font-weight:700;line-height:1.25;color:var(--dark-band,#0D0A14);margin:0 0 16px}.policy-content__lead{font-size:1.0625rem;line-height:1.75;color:var(--text-light-secondary,#5C566D);margin:0}.policy-content__body{display:block}.policy-content__section{margin-bottom:32px;padding:24px 28px;background:var(--surface-white,#FFFFFF);border:1px solid var(--border-subtle-light,#D8D3E5);border-bottom:3px solid var(--primary,#7E22CE);box-shadow:0 4px 14px rgba(13,10,20,0.04)}.policy-content__section h3{font-size:1.25rem;font-weight:600;line-height:1.3;color:var(--dark-band,#0D0A14);margin-top:0;margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--border-subtle-light,#D8D3E5)}.policy-content__section p{font-size:0.9375rem;line-height:1.7;color:var(--text-light-secondary,#5C566D);margin-bottom:14px}.policy-content__section p:last-child{margin-bottom:0}.policy-content__section ul{margin:14px 0 0;padding-left:20px;list-style-type:square}.policy-content__section li{font-size:0.9375rem;line-height:1.7;color:var(--text-light-secondary,#5C566D);margin-bottom:10px}.policy-content__section li:last-child{margin-bottom:0}.policy-content__section strong{color:var(--dark-band,#0D0A14);font-weight:600}@media (max-width:767px){.policy-content{padding:28px 16px 48px}.policy-content__header{margin-bottom:24px;padding-bottom:18px}.policy-content__header .rd-title{font-size:16px;line-height:1.3;hyphens:auto}.policy-content__header .rd-eyebrow{font-size:0.75rem}.policy-content__lead{font-size:0.875rem;line-height:1.6}.policy-content__section{padding:18px 16px;margin-bottom:20px}.policy-content__section h3{font-size:14px;line-height:1.3;margin-bottom:12px;padding-bottom:8px}.policy-content__section p,.policy-content__section li{font-size:0.875rem;line-height:1.6}.policy-content__section ul{padding-left:18px}}

/* ===== PAGE: disclaimer ===== */
.policy-content { width: 100%; max-width: 1280px; margin: 0 auto; padding: 48px 24px; color: #0D0A14; font-family: 'Noto Serif SC', serif; } .policy-content .policy-card { background: #FFFFFF; border: 1px solid #D8D3E5; border-bottom: 3px solid #7E22CE; padding: 40px; box-shadow: 0 4px 14px rgba(13, 10, 20, 0.04); } .policy-content .policy-meta-bar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; padding-bottom: 20px; margin-bottom: 32px; border-bottom: 1px solid #D8D3E5; font-size: 0.875rem; color: #5C566D; font-weight: 500; } .policy-content .policy-section-group { margin-bottom: 36px; } .policy-content .policy-section-group:last-child { margin-bottom: 0; } .policy-content h2 { font-family: 'Noto Serif SC', serif; font-size: 1.35rem; font-weight: 600; color: #0D0A14; margin-bottom: 16px; line-height: 1.3; overflow-wrap: anywhere; hyphens: auto; } .policy-content p { font-size: 0.9375rem; color: #5C566D; line-height: 1.7; margin-bottom: 16px; overflow-wrap: anywhere; } .policy-content ul { list-style: none; padding-left: 0; margin-bottom: 16px; } .policy-content ul li { position: relative; padding-left: 20px; font-size: 0.9375rem; color: #5C566D; line-height: 1.7; margin-bottom: 12px; overflow-wrap: anywhere; } .policy-content ul li::before { content: ''; position: absolute; left: 0; top: 10px; width: 6px; height: 6px; border-left: 6px solid #7E22CE; border-top: 4px solid transparent; border-bottom: 4px solid transparent; } @media (max-width: 767px) { .policy-content { padding: 24px 16px; } .policy-content .policy-card { padding: 24px 16px; } .policy-content h2 { font-size: 16px; margin-bottom: 12px; } .policy-content p, .policy-content ul li { font-size: 0.875rem; line-height: 1.6; } .policy-content .policy-meta-bar { flex-direction: column; align-items: flex-start; gap: 8px; font-size: 0.8125rem; } }

/* ===== PAGE: cookies ===== */
.policy-content { background-color: var(--page-background, #F4F3F7); padding: 56px 20px; font-family: 'Noto Serif SC', serif; color: var(--text-light-primary, #0D0A14); line-height: 1.7; overflow-wrap: anywhere; }
.policy-content .policy-card { max-width: 920px; margin: 0 auto; background: var(--surface-white, #FFFFFF); border: 1px solid var(--border-subtle-light, #D8D3E5); border-bottom: 3px solid var(--primary, #7E22CE); padding: 48px; border-radius: 0px; box-shadow: 0 4px 14px rgba(13, 10, 20, 0.05); }
.policy-content .policy-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin-bottom: 28px; padding-bottom: 16px; border-bottom: 1px solid var(--border-subtle-light, #D8D3E5); }
.policy-content .policy-badge { display: inline-block; background-color: var(--primary, #7E22CE); color: #FFFFFF; font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.12em; padding: 4px 10px; border-radius: 0px; }
.policy-content .policy-date { font-size: 0.875rem; color: var(--text-light-secondary, #5C566D); }
.policy-content h2 { font-family: 'Noto Serif SC', serif; font-size: 1.5rem; font-weight: 600; color: var(--dark-band, #0D0A14); margin-top: 36px; margin-bottom: 16px; line-height: 1.3; border-left: 3px solid var(--primary, #7E22CE); padding-left: 12px; }
.policy-content p { font-size: 0.9375rem; color: var(--text-light-secondary, #5C566D); margin-bottom: 18px; line-height: 1.75; text-align: justify; }
.policy-content ul, .policy-content ol { margin-top: 10px; margin-bottom: 24px; padding-left: 20px; }
.policy-content li { font-size: 0.9375rem; color: var(--text-light-secondary, #5C566D); margin-bottom: 12px; line-height: 1.65; }
.policy-content li strong { color: var(--dark-band, #0D0A14); font-weight: 600; }
@media (max-width: 767px) { .policy-content { padding: 28px 12px; } .policy-content .policy-card { padding: 24px 16px; } .policy-content h2 { font-size: 16px; hyphens: auto; padding-left: 8px; margin-top: 24px; margin-bottom: 12px; } .policy-content p, .policy-content li { font-size: 0.875rem; hyphens: auto; } }

/* ===== PAGE: about ===== */
.glp-about-section { background-color: var(--bg, #F4F3F7); color: var(--text, #0D0A14); font-family: 'Noto Serif SC', serif; }
.glp-about-section .rd-eyebrow { font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.12em; color: var(--primary, #7E22CE); display: inline-block; }
.glp-about-section .text-primary-light { color: #A855F7 !important; }
.glp-about-section .rd-title { font-size: 2rem; font-weight: 600; line-height: 1.3; color: var(--dark-band, #0D0A14); }
.glp-about-section .glp-text { font-size: 1rem; line-height: 1.7; color: var(--text-light-secondary, #5C566D); }
.glp-about-section .glp-about-media-wrapper { border: 1px solid var(--border-subtle-light, #D8D3E5); }
.glp-about-section .glp-about-img { height: 420px; object-fit: cover; display: block; }
.glp-about-section .glp-about-slice { position: absolute; top: 0; left: 0; right: 0; bottom: 0; pointer-events: none; border-bottom: 4px solid var(--primary, #7E22CE); }
.glp-about-section .glp-about-plate { position: absolute; bottom: 20px; right: 20px; background: var(--dark-band, #0D0A14); border: 1px solid var(--border-subtle-dark, #251F33); border-left: 3px solid var(--primary, #7E22CE); }
.glp-about-section .glp-about-plate-number { font-size: 2.75rem; font-weight: 700; line-height: 1; color: var(--primary, #7E22CE); }
.glp-about-section .glp-about-plate-label { font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.05em; color: #FFFFFF; text-transform: uppercase; margin-top: 4px; }
.glp-about-section .glp-check-bullet { width: 14px; height: 14px; border: 2px solid var(--primary, #7E22CE); border-radius: 50%; display: inline-block; }
.glp-about-section .glp-check-text { font-size: 0.9375rem; color: var(--text, #0D0A14); font-weight: 500; }
.glp-about-section .glp-counter-row { background: var(--bg, #F4F3F7); border-top: 1px solid var(--border-subtle-light, #D8D3E5); border-bottom: 1px solid var(--border-subtle-light, #D8D3E5); }
.glp-about-section .glp-parallelogram-badge { width: 44px; height: 44px; background: var(--dark-band, #0D0A14); transform: skewX(-15deg); display: flex; align-items: center; justify-content: center; border: 1px solid var(--border-subtle-dark, #251F33); }
.glp-about-section .glp-badge-icon { width: 22px; height: 22px; color: #FFFFFF; transform: skewX(15deg); }
.glp-about-section .glp-counter-val { font-size: 2.25rem; font-weight: 700; color: var(--dark-band, #0D0A14); line-height: 1.1; margin-bottom: 4px; }
.glp-about-section .glp-counter-caption { font-size: 0.8125rem; font-weight: 600; color: var(--text-light-secondary, #5C566D); letter-spacing: 0.05em; text-transform: uppercase; }
.glp-about-section .glp-counter-divider { width: 1px; height: 48px; background-color: var(--border-subtle-light, #D8D3E5); }
.glp-about-section .glp-adv-card { background: var(--dark-band, #0D0A14); border: 1px solid var(--border-subtle-dark, #251F33); border-bottom: 3px solid var(--primary, #7E22CE); border-radius: 0; padding: 28px; transition: transform 0.2s ease; }
.glp-about-section .glp-adv-card:hover { transform: translateY(-3px); }
.glp-about-section .glp-adv-icon-box { width: 42px; height: 42px; background: var(--primary, #7E22CE); display: flex; align-items: center; justify-content: center; }
.glp-about-section .glp-adv-svg { width: 22px; height: 22px; color: var(--dark-band, #0D0A14); }
.glp-about-section .glp-adv-title { font-size: 1.2rem; font-weight: 600; color: var(--primary, #7E22CE); }
.glp-about-section .glp-adv-text { font-size: 0.875rem; color: #A59FB5; line-height: 1.6; }
.glp-about-section .glp-step-num { font-size: 3.25rem; font-weight: 700; color: var(--dark-band, #0D0A14); line-height: 1; letter-spacing: -0.03em; margin-bottom: 12px; }
.glp-about-section .glp-step-caption { font-size: 1.1rem; font-weight: 600; color: var(--dark-band, #0D0A14); }
.glp-about-section .glp-step-desc { font-size: 0.875rem; color: var(--text-light-secondary, #5C566D); line-height: 1.6; }
.glp-about-section .glp-why-split { border: 1px solid var(--border-subtle-dark, #251F33); }
.glp-about-section .glp-why-panel { background: var(--dark-band, #0D0A14); }
.glp-about-section .glp-why-lead { font-size: 0.95rem; line-height: 1.7; }
.glp-about-section .glp-circle-badge { width: 32px; height: 32px; border-radius: 50%; background: var(--primary, #7E22CE); display: flex; align-items: center; justify-content: center; }
.glp-about-section .glp-circle-svg { width: 18px; height: 18px; color: var(--dark-band, #0D0A14); }
.glp-about-section .glp-why-item-title { font-size: 1.05rem; font-weight: 600; }
.glp-about-section .glp-why-item-desc { font-size: 0.875rem; color: #A59FB5; line-height: 1.6; }
.glp-about-section .glp-why-img { height: 100%; min-height: 380px; object-fit: cover; display: block; }
.glp-about-section .rd-btn { display: inline-block; background-color: var(--primary, #7E22CE); color: #FFFFFF; font-weight: 600; font-size: 0.875rem; letter-spacing: 0.08em; text-transform: uppercase; padding: 12px 28px; border-radius: 0; text-decoration: none; border: none; transition: background-color 0.25s ease, color 0.25s ease; }
.glp-about-section .rd-btn:hover { background-color: var(--dark-band, #0D0A14); color: #FFFFFF; }
.glp-about-section .rd-btn-alt { display: inline-block; background-color: transparent; color: var(--text, #0D0A14); font-weight: 600; font-size: 0.875rem; letter-spacing: 0.08em; text-transform: uppercase; padding: 11px 26px; border: 1px solid var(--border-subtle-light, #D8D3E5); border-radius: 0; text-decoration: none; transition: all 0.25s ease; }
.glp-about-section .rd-btn-alt:hover { background-color: var(--primary, #7E22CE); color: #FFFFFF; border-color: var(--primary, #7E22CE); }
.glp-about-section .glp-why-panel .rd-btn-alt { color: #FFFFFF; border-color: #3B334D; }
.glp-about-section .glp-why-panel .rd-btn-alt:hover { background-color: var(--primary, #7E22CE); color: #FFFFFF; border-color: var(--primary, #7E22CE); }
@media (max-width: 767px) {
  .glp-about-section .glp-about-img { height: 260px; }
  .glp-about-section .glp-about-plate { position: static; margin-top: 12px; }
  .glp-about-section .glp-counter-row { flex-direction: column; gap: 24px; }
  .glp-about-section .glp-counter-divider { display: none !important; }
  .glp-about-section .glp-why-img { height: 260px; min-height: 260px; }
  .glp-about-section .rd-title { font-size: 1.5rem; }
  .glp-about-section .glp-adv-title { font-size: 1.1rem; }
  .glp-about-section .glp-step-caption { font-size: 1rem; }
  .glp-about-section .glp-why-item-title { font-size: 0.95rem; }
}

/* ===== PAGE: games ===== */
.games-archive-section { padding: 72px 0 88px; background-color: var(--page-background, #F4F3F7); }
.games-archive-section .games-archive-header { margin-bottom: 40px; }
.games-archive-section .games-archive-title-wrap { display: flex; align-items: center; gap: 20px; margin-top: 6px; margin-bottom: 12px; }
.games-archive-section .games-archive-title-wrap .rd-title { margin: 0; font-family: 'Noto Serif SC', serif; font-weight: 600; font-size: 2.125rem; color: #0D0A14; line-height: 1.25; flex-shrink: 0; }
.games-archive-section .games-archive-heading-line { flex-grow: 1; height: 1px; background-color: #D8D3E5; min-width: 40px; }
.games-archive-section .games-archive-lead { font-family: 'Noto Serif SC', serif; font-size: 0.9375rem; color: #5C566D; line-height: 1.6; margin: 0; max-width: 720px; }
.games-archive-section .games-item-card { background: #FFFFFF; border: none; border-bottom: 3px solid #7E22CE; border-radius: 0; box-shadow: 0 4px 14px rgba(13, 10, 20, 0.06); transition: transform 0.25s ease, box-shadow 0.25s ease; }
.games-archive-section .games-item-card:hover { transform: translateY(-4px); box-shadow: 0 10px 22px rgba(13, 10, 20, 0.12); }
.games-archive-section .games-card-media { display: block; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; background: #0D0A14; }
.games-archive-section .games-card-media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.35s ease; }
.games-archive-section .games-item-card:hover .games-card-media img { transform: scale(1.05); }
.games-archive-section .games-card-body { padding: 22px 20px 24px; text-align: center; }
.games-archive-section .games-card-title { font-family: 'Noto Serif SC', serif; font-size: 1.15rem; font-weight: 600; line-height: 1.35; margin-bottom: 10px; }
.games-archive-section .games-card-title-link { color: #0D0A14; text-decoration: none; transition: color 0.2s ease; }
.games-archive-section .games-card-title-link:hover { color: #7E22CE; }
.games-archive-section .games-card-desc { font-family: 'Noto Serif SC', serif; font-size: 0.875rem; color: #5C566D; line-height: 1.6; margin-bottom: 20px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.games-archive-section .games-card-actions { gap: 12px; width: 100%; }
.games-archive-section .games-action-btn { display: inline-flex; align-items: center; justify-content: center; width: 100%; max-width: 190px; height: 42px; padding: 0 20px; background-color: #7E22CE; color: #FFFFFF; font-family: 'Noto Serif SC', serif; font-size: 0.8125rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; text-decoration: none; border-radius: 0; border: none; transition: background-color 0.25s ease, color 0.25s ease; }
.games-archive-section .games-action-btn:hover { background-color: #0D0A14; color: #FFFFFF; }
.games-archive-section .games-card-text-link { font-family: 'Noto Serif SC', serif; font-size: 0.75rem; color: #5C566D; text-decoration: underline; text-underline-offset: 3px; transition: color 0.2s ease; }
.games-archive-section .games-card-text-link:hover { color: #7E22CE; }
@media (max-width: 767px) { .games-archive-section { padding: 48px 0 64px; } .games-archive-section .games-archive-title-wrap { flex-direction: column; align-items: flex-start; gap: 8px; } .games-archive-section .games-archive-title-wrap .rd-title { font-size: 1.25rem; } .games-archive-section .games-archive-heading-line { display: none; } .games-archive-section .games-card-body { padding: 18px 16px 20px; } .games-archive-section .games-action-btn { max-width: 100%; } }

/* ===== PAGE: how-to-play ===== */
.guide-content { background-color: var(--page-background); padding: 84px 0; overflow: hidden; }
.guide-content__eyebrow { font-family: var(--font-family-primary); color: var(--primary); font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; }
.guide-content__heading { font-family: var(--font-family-headings); color: var(--dark-band); font-size: 2.125rem; font-weight: 600; line-height: 1.25; }
.guide-content__subtitle { max-width: 680px; font-family: var(--font-family-body); font-size: 0.95rem; line-height: 1.6; }
.guide-content__card { background: var(--dark-band); border: 1px solid var(--border-subtle-dark); border-bottom: 3px solid var(--primary); border-radius: 0; padding: 28px; display: flex; flex-direction: column; transition: transform 0.25s ease, border-color 0.25s ease; }
.guide-content__card:hover { transform: translateY(-3px); border-color: var(--primary); }
.guide-content__card-top { display: flex; align-items: center; justify-content: space-between; }
.guide-content__icon-box { width: 44px; height: 44px; background: var(--primary); display: flex; align-items: center; justify-content: center; border-radius: 0; }
.guide-content__icon { width: 22px; height: 22px; color: var(--dark-band); stroke-width: 2px; }
.guide-content__step-badge { font-family: var(--font-family-primary); font-size: 0.75rem; font-weight: 700; color: var(--primary); letter-spacing: 0.08em; text-transform: uppercase; background: rgba(126, 34, 206, 0.12); padding: 4px 8px; border-left: 2px solid var(--primary); }
.guide-content__card-title { font-family: var(--font-family-headings); font-size: 1.25rem; font-weight: 600; color: var(--text-dark-primary); }
.guide-content__card-text { font-family: var(--font-family-body); font-size: 0.9rem; line-height: 1.6; margin-bottom: 24px; }
.guide-content__passport-row { display: flex; justify-content: space-between; align-items: center; border-top: 1px solid var(--border-subtle-dark); padding-top: 14px; margin-top: auto; }
.guide-content__passport-label { font-size: 0.75rem; text-transform: uppercase; color: var(--text-light-secondary); letter-spacing: 0.05em; }
.guide-content__passport-val { font-size: 0.8125rem; font-weight: 600; color: var(--light-tint); }
.guide-content__interactive-panel { background: var(--dark-band); border: 1px solid var(--border-subtle-dark); border-radius: 0; padding: 36px; border-bottom: 3px solid var(--primary); }
.guide-content__tab-btn { background: var(--dark-band-surface); color: var(--text-dark-secondary); border: 1px solid var(--border-subtle-dark); border-radius: 0; padding: 10px 22px; font-family: var(--font-family-primary); font-size: 0.875rem; font-weight: 600; letter-spacing: 0.04em; transition: all 0.25s ease; }
.guide-content__tab-btn:hover { color: #FFFFFF; border-color: var(--primary); }
.guide-content__tab-btn.active { background: var(--primary); color: #FFFFFF; border-color: var(--primary); }
.guide-content__tab-pane { display: none; }
.guide-content__tab-pane.active { display: block; }
.guide-content__pane-title { font-family: var(--font-family-headings); font-size: 1.65rem; font-weight: 600; color: #FFFFFF; }
.guide-content__specs-item { display: flex; align-items: center; gap: 16px; padding: 12px 14px; border: 1px solid var(--border-subtle-dark); background: var(--dark-band-surface); margin-bottom: 10px; border-radius: 0; }
.guide-content__key-cap { background: var(--primary); color: #FFFFFF; font-size: 0.8125rem; font-weight: 700; padding: 6px 12px; letter-spacing: 0.05em; min-width: 100px; text-align: center; border-radius: 0; }
.guide-content__visual-box { position: relative; border: 1px solid var(--border-subtle-dark); }
.guide-content__media-wrap { width: 100%; height: 320px; overflow: hidden; position: relative; }
.guide-content__media-img { width: 100%; height: 100%; object-fit: cover; display: block; }
.guide-content__floating-badge { position: absolute; bottom: 16px; left: 16px; background: var(--dark-band); border-left: 3px solid var(--primary); padding: 8px 16px; display: flex; flex-direction: column; box-shadow: 0 4px 12px rgba(0,0,0,0.4); }
.guide-content__floating-tag { font-family: var(--font-family-primary); font-weight: 700; font-size: 0.875rem; color: var(--primary); }
.guide-content__floating-meta { font-size: 0.75rem; color: var(--text-dark-secondary); }
.guide-content__guide-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.guide-content__subcard { background: var(--dark-band-surface); border: 1px solid var(--border-subtle-dark); padding: 16px; border-left: 2px solid var(--primary); }
.guide-content__subcard-title { font-family: var(--font-family-headings); font-size: 0.95rem; font-weight: 600; color: #FFFFFF; margin-bottom: 6px; }
.guide-content__check-item { display: flex; gap: 16px; padding: 14px; background: var(--dark-band-surface); border: 1px solid var(--border-subtle-dark); margin-bottom: 12px; }
.guide-content__check-num { font-family: var(--font-family-headings); font-size: 1.5rem; font-weight: 700; color: var(--primary); line-height: 1; min-width: 32px; }
.guide-content__process-block { padding: 40px 0; border-top: 1px solid var(--border-subtle-light); }
.guide-content__process-num { font-family: var(--font-family-headings); font-size: 3.25rem; font-weight: 700; color: var(--dark-band); line-height: 1; letter-spacing: -0.03em; display: block; }
.guide-content__process-title { font-family: var(--font-family-headings); font-size: 1.15rem; font-weight: 600; color: var(--dark-band); }
.guide-content__action-banner { background: var(--dark-band); padding: 48px 24px; border-bottom: 3px solid var(--primary); }
.guide-content__banner-inner { max-width: 640px; margin: 0 auto; }
.guide-content__banner-title { font-family: var(--font-family-headings); font-size: 1.75rem; font-weight: 600; color: #FFFFFF; }
.guide-content__banner-text { font-size: 0.95rem; line-height: 1.6; }
.guide-content__action-btn { display: inline-block; background-color: var(--primary); color: #FFFFFF; padding: 14px 34px; font-family: var(--font-family-primary); font-size: 0.875rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; border-radius: 0; text-decoration: none; border: none; transition: background-color 0.25s ease; }
.guide-content__action-btn:hover { background-color: #1a1426; color: #FFFFFF; }
@media (max-width: 767px) {
  .guide-content { padding: 48px 0; }
  .guide-content__heading { font-size: 1.45rem; }
  .guide-content__pane-title { font-size: 1.25rem; }
  .guide-content__interactive-panel { padding: 20px; }
  .guide-content__guide-grid { grid-template-columns: 1fr; }
  .guide-content__process-num { font-size: 2.5rem; }
  .guide-content__specs-item { flex-direction: column; align-items: flex-start; }
  .guide-content__key-cap { min-width: auto; width: 100%; text-align: left; }
}

/* ===== PAGE: news ===== */
.news-mosaic-block {
  background-color: var(--bg, #F4F3F7);
  color: var(--text, #0D0A14);
}

.news-mosaic-block__header-line {
  height: 2px;
  background-color: var(--border, #D8D3E5);
  position: relative;
}

.news-mosaic-block__header-line::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 48px;
  height: 2px;
  background-color: var(--primary, #7E22CE);
}

.news-mosaic-block__grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr;
  gap: 24px;
  align-items: stretch;
}

.news-mosaic-block__card {
  display: flex;
  flex-direction: column;
  background-color: var(--surface, #FFFFFF);
  border: 1px solid var(--border, #D8D3E5);
  border-bottom: 3px solid var(--primary, #7E22CE);
  box-shadow: 0 4px 14px rgba(13, 10, 20, 0.04);
  height: 100%;
}

.news-mosaic-block__media-box {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  background-color: var(--dark-band, #0D0A14);
  overflow: hidden;
}

.news-mosaic-block__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}

.news-mosaic-block__card:hover .news-mosaic-block__img {
  transform: scale(1.03);
}

.news-mosaic-block__badge {
  position: absolute;
  top: 14px;
  left: 14px;
  background-color: var(--primary, #7E22CE);
  color: var(--on-primary, #FFFFFF);
  font-size: 0.75rem;
  font-weight: 600;
  padding: 4px 10px;
  letter-spacing: 0.05em;
  z-index: 2;
}

.news-mosaic-block__content {
  padding: 24px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  text-align: left;
}

.news-mosaic-block__meta {
  font-size: 0.8125rem;
  color: var(--text-muted, #5C566D);
}

.news-mosaic-block__icon {
  color: var(--primary, #7E22CE);
}

.news-mosaic-block__meta-divider {
  color: var(--border, #D8D3E5);
}

.news-mosaic-block__title {
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.35;
  margin-bottom: 8px;
}

.news-mosaic-block__card--featured .news-mosaic-block__title {
  font-size: 1.45rem;
}

.news-mosaic-block__title-link {
  color: var(--text, #0D0A14);
  text-decoration: none;
  transition: color 0.2s ease;
}

.news-mosaic-block__title-link:hover {
  color: var(--primary, #7E22CE);
}

.news-mosaic-block__desc {
  font-size: 0.9375rem;
  line-height: 1.65;
  color: var(--text-muted, #5C566D);
  margin-bottom: 16px;
}

.news-mosaic-block__text-link {
  display: inline-block;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--text, #0D0A14);
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-color: var(--primary, #7E22CE);
  text-decoration-thickness: 2px;
  transition: color 0.2s ease, text-decoration-color 0.2s ease;
}

.news-mosaic-block__text-link:hover {
  color: var(--primary, #7E22CE);
  text-decoration-color: var(--text, #0D0A14);
}

@media (max-width: 991px) {
  .news-mosaic-block__grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

@media (max-width: 767px) {
  .news-mosaic-block__content {
    padding: 18px;
  }
  .news-mosaic-block__title {
    font-size: 1.15rem;
  }
  .news-mosaic-block__card--featured .news-mosaic-block__title {
    font-size: 1.2rem;
  }
}

/* ===== PAGE: faq ===== */
.glp-faq-section{background-color:var(--page-background,#F4F3F7);color:var(--text-light-primary,#0D0A14);font-family:'Noto Serif SC',serif;}
.glp-faq-section .glp-faq-eyebrow{color:var(--primary,#7E22CE);font-size:0.8125rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;display:block;}
.glp-faq-section .glp-faq-title{font-size:2.125rem;font-weight:600;color:var(--dark-band,#0D0A14);line-height:1.25;}
.glp-faq-section .glp-faq-intro{max-width:760px;font-size:0.95rem;color:var(--text-light-secondary,#5C566D);line-height:1.7;}
.glp-faq-section .glp-faq-search-wrap{position:relative;display:flex;align-items:center;background:#FFFFFF;border:1px solid var(--border-subtle-light,#D8D3E5);border-radius:0;box-shadow:0 4px 14px rgba(13,10,20,0.04);}
.glp-faq-section .glp-faq-search-icon{display:inline-flex;align-items:center;justify-content:center;padding:0 16px;color:var(--primary,#7E22CE);width:20px;height:20px;box-sizing:content-box;}
.glp-faq-section .glp-faq-search-icon svg{width:20px;height:20px;}
.glp-faq-section .glp-faq-search-input{border:none;background:transparent;box-shadow:none;border-radius:0;font-size:0.9375rem;color:var(--dark-band,#0D0A14);padding:14px 16px 14px 0;line-height:1.5;font-family:'Noto Serif SC',serif;}
.glp-faq-section .glp-faq-search-input:focus{outline:none;box-shadow:none;background:transparent;}
.glp-faq-section .glp-faq-search-input::placeholder{color:var(--text-light-secondary,#5C566D);opacity:0.85;}
.glp-faq-section .glp-filter-btn{font-family:'Noto Serif SC',serif;font-size:0.875rem;font-weight:600;padding:9px 20px;border-radius:0;border:1px solid #251F33;background:var(--dark-band,#0D0A14);color:#A59FB5;transition:all 0.25s ease;cursor:pointer;}
.glp-faq-section .glp-filter-btn:hover{background:var(--primary,#7E22CE);color:#FFFFFF;border-color:var(--primary,#7E22CE);}
.glp-faq-section .glp-filter-btn.active{background:var(--primary,#7E22CE);color:#FFFFFF;border-color:var(--primary,#7E22CE);}
.glp-faq-section .glp-faq-item{margin-bottom:14px;border:1px solid var(--border-subtle-light,#D8D3E5);background:#FFFFFF;border-radius:0;transition:border-color 0.25s ease;overflow:hidden;}
.glp-faq-section .glp-faq-trigger{width:100%;text-align:left;border:none;background:#FFFFFF;padding:18px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;transition:background 0.25s ease,color 0.25s ease;font-family:'Noto Serif SC',serif;}
.glp-faq-section .glp-faq-q-text{font-size:1.0625rem;font-weight:600;color:var(--dark-band,#0D0A14);line-height:1.5;display:flex;align-items:flex-start;gap:12px;overflow-wrap:anywhere;}
.glp-faq-section .glp-faq-num{color:var(--primary,#7E22CE);font-weight:700;letter-spacing:-0.02em;flex-shrink:0;}
.glp-faq-section .glp-faq-icon-box{flex-shrink:0;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;color:var(--dark-band,#0D0A14);transition:transform 0.3s ease,color 0.25s ease;}
.glp-faq-section .glp-faq-arrow{width:18px;height:18px;transition:transform 0.3s ease;}
.glp-faq-section .glp-faq-trigger[aria-expanded="true"]{background:var(--primary,#7E22CE);color:#FFFFFF;}
.glp-faq-section .glp-faq-trigger[aria-expanded="true"] .glp-faq-q-text{color:#FFFFFF;}
.glp-faq-section .glp-faq-trigger[aria-expanded="true"] .glp-faq-num{color:#FFFFFF;}
.glp-faq-section .glp-faq-trigger[aria-expanded="true"] .glp-faq-icon-box{color:#FFFFFF;}
.glp-faq-section .glp-faq-trigger[aria-expanded="true"] .glp-faq-arrow{transform:rotate(180deg);}
.glp-faq-section .glp-faq-collapse{display:none;padding:0;background:#FFFFFF;border-top:1px solid var(--border-subtle-light,#D8D3E5);}
.glp-faq-section .glp-faq-trigger[aria-expanded="true"] + .glp-faq-collapse{display:block;border-top-color:rgba(255,255,255,0.25);}
.glp-faq-section .glp-faq-body{padding:22px 24px;color:var(--text-light-secondary,#5C566D);font-size:0.95rem;line-height:1.75;background:#FFFFFF;overflow-wrap:anywhere;}
.glp-faq-section .glp-faq-body p:last-child{margin-bottom:0;}
.glp-faq-section .glp-faq-empty{color:var(--text-light-secondary,#5C566D);background:#FFFFFF;border:1px dashed var(--border-subtle-light,#D8D3E5);padding:32px;}
.glp-faq-section .glp-resource-card{background:#FFFFFF;border:none;border-bottom:3px solid var(--primary,#7E22CE);border-radius:0;box-shadow:0 4px 14px rgba(13,10,20,0.06);padding:28px 24px;display:flex;flex-direction:column;}
.glp-faq-section .glp-resource-icon-box{width:44px;height:44px;background:var(--primary,#7E22CE);display:inline-flex;align-items:center;justify-content:center;color:#FFFFFF;border-radius:0;}
.glp-faq-section .glp-resource-icon-box .glp-icon{width:22px;height:22px;}
.glp-faq-section .glp-resource-title{font-size:1.15rem;font-weight:600;color:var(--dark-band,#0D0A14);margin-bottom:12px;line-height:1.4;overflow-wrap:anywhere;}
.glp-faq-section .glp-resource-desc{font-size:0.925rem;color:var(--text-light-secondary,#5C566D);line-height:1.65;margin-bottom:24px;overflow-wrap:anywhere;}
.glp-faq-section .glp-resource-btn{font-family:'Noto Serif SC',serif;font-weight:600;font-size:0.84375rem;letter-spacing:0.06em;text-transform:uppercase;border-radius:0;border:none;background-color:var(--primary,#7E22CE);color:#FFFFFF;padding:10px 20px;text-align:center;text-decoration:none;display:inline-block;transition:background-color 0.25s ease,color 0.25s ease;}
.glp-faq-section .glp-resource-btn:hover{background-color:var(--dark-band,#0D0A14);color:#FFFFFF;}
@media (max-width: 767px){
.glp-faq-section .glp-faq-title{font-size:16px;line-height:1.3;}
.glp-faq-section .glp-resource-title{font-size:14px;}
.glp-faq-section .glp-faq-q-text{font-size:14px;}
.glp-faq-section .glp-faq-trigger{padding:14px 16px;}
.glp-faq-section .glp-faq-body{padding:16px;font-size:0.875rem;}
.glp-faq-section .glp-filter-btn{font-size:0.8125rem;padding:7px 14px;}
}

/* ===== PAGE: support ===== */
.support-block{background-color:var(--bg,#F4F3F7);color:var(--text,#0D0A14);font-family:'Noto Serif SC',serif;overflow-x:hidden}.support-block .support-block__info-card{background-color:var(--dark-band,#0D0A14);color:var(--on-dark,#FFFFFF);border:1px solid #251F33;border-bottom:3px solid var(--primary,#7E22CE);border-radius:0}.support-block .support-block__info-card .rd-eyebrow{color:var(--accent,#A855F7);font-size:0.8125rem;font-weight:600;letter-spacing:0.12em;display:inline-block}.support-block .support-block__info-card .rd-title{color:var(--on-dark,#FFFFFF);font-size:1.75rem;font-weight:600;line-height:1.3}.support-block .support-block__lead{color:var(--on-dark-muted,#A59FB5);font-size:0.9375rem;line-height:1.7}.support-block .support-block__tip-icon{width:36px;height:36px;background-color:var(--primary,#7E22CE);color:#0D0A14;display:inline-flex;align-items:center;justify-content:center;border-radius:0}.support-block .support-block__svg{width:20px;height:20px}.support-block .support-block__tip-title{color:var(--on-dark,#FFFFFF);font-size:1.05rem;font-weight:600}.support-block .support-block__tip-desc{color:var(--on-dark-muted,#A59FB5);font-size:0.875rem;line-height:1.6}.support-block .support-block__info-bottom{border-top:1px solid #251F33}.support-block .rd-btn-alt{background-color:#161220;color:var(--on-dark,#FFFFFF);border:1px solid #251F33;border-radius:0;padding:10px 20px;font-size:0.875rem;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;transition:all .25s ease;display:inline-flex;align-items:center;justify-content:center}.support-block .rd-btn-alt:hover{background-color:var(--primary,#7E22CE);color:#FFFFFF;border-color:var(--primary,#7E22CE)}.support-block .support-block__form-card{background-color:#FFFFFF;border:1px solid var(--border,#D8D3E5);border-bottom:3px solid var(--primary,#7E22CE);border-radius:0;box-shadow:0 4px 14px rgba(13,10,20,.05)}.support-block .support-block__form-header .rd-eyebrow{color:var(--primary,#7E22CE);font-size:0.8125rem;font-weight:600;letter-spacing:0.12em;display:inline-block}.support-block .support-block__form-header .rd-title{color:var(--text,#0D0A14);font-size:1.75rem;font-weight:600;line-height:1.3}.support-block .support-block__form-sub{color:var(--text-muted,#5C566D);font-size:0.9375rem;line-height:1.6}.support-block .support-block__label{font-size:0.875rem;font-weight:600;color:var(--text,#0D0A14);letter-spacing:0.02em;margin-bottom:6px}.support-block .support-block__input,.support-block .support-block__textarea{border-radius:0;border:1px solid var(--border,#D8D3E5);background-color:#FFFFFF;color:var(--text,#0D0A14);padding:12px 14px;font-size:0.9375rem;font-family:'Noto Serif SC',serif}.support-block .support-block__input:focus,.support-block .support-block__textarea:focus{border-color:var(--primary,#7E22CE);box-shadow:0 0 0 1px var(--primary,#7E22CE);background-color:#FFFFFF;color:var(--text,#0D0A14)}.support-block .support-block__input::placeholder,.support-block .support-block__textarea::placeholder{color:#8E899B;font-size:0.875rem;opacity:1}.support-block .rd-btn{background-color:var(--primary,#7E22CE);color:#FFFFFF;border:none;border-radius:0;padding:12px 32px;font-size:0.875rem;font-weight:600;text-transform:uppercase;letter-spacing:0.08em;transition:background-color .25s ease,color .25s ease;cursor:pointer}.support-block .rd-btn:hover{background-color:var(--primary-hover,#0D0A14);color:#FFFFFF}.support-block .support-block__status-hint{font-size:0.8125rem;color:var(--text-muted,#5C566D)}@media (max-width:767px){.support-block .rd-title{font-size:1.25rem}.support-block .support-block__tip-title{font-size:0.95rem}.support-block .support-block__info-card,.support-block .support-block__form-card{padding:24px 18px!important}.support-block .rd-btn{width:100%;text-align:center}.support-block .rd-btn-alt{width:100%;text-align:center}}

.cyber-comment-item {
    position: relative;
    margin-bottom: 24px;
}

.cyber-comment-card {
    background-color: #0D0A14;
    border: 1px solid #251F33;
    border-bottom: 3px solid #7E22CE;
    border-radius: 0px;
    padding: 28px 32px;
    position: relative;
}

.cyber-comment-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 18px;
}

.cyber-comment-author-box {
    display: flex;
    align-items: center;
    gap: 16px;
}

.cyber-comment-avatar-wrap {
    position: relative;
    width: 52px;
    height: 52px;
    flex-shrink: 0;
}

.cyber-comment-avatar {
    width: 52px;
    height: 52px;
    object-fit: cover;
    border-radius: 0px;
    border: 1px solid #7E22CE;
    display: block;
}

.cyber-comment-status-indicator {
    position: absolute;
    bottom: -2px;
    right: -2px;
    width: 10px;
    height: 10px;
    background-color: #7E22CE;
    border: 2px solid #0D0A14;
}

.cyber-comment-author {
    margin: 0;
    color: #FFFFFF;
    font-size: 1.125rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    line-height: 1.3;
}

.cyber-comment-badge {
    display: inline-block;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #FFFFFF;
    background-color: #7E22CE;
    padding: 2px 8px;
    transform: skewX(-15deg);
    letter-spacing: 0.05em;
}

.cyber-comment-timestamp {
    display: block;
    color: #A59FB5;
    font-size: 0.8125rem;
    margin-top: 4px;
    letter-spacing: 0.02em;
}

.cyber-comment-rating {
    display: flex;
    gap: 4px;
    color: #7E22CE;
    align-items: center;
}

.cyber-star-icon {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

.cyber-comment-body {
    margin-bottom: 20px;
}

.cyber-comment-text {
    color: #ECE8F5;
    font-size: 0.9375rem;
    line-height: 1.7;
    margin: 0;
}

.cyber-comment-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    border-top: 1px solid #251F33;
    padding-top: 16px;
}

.cyber-action-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #161220;
    border: 1px solid #251F33;
    border-radius: 0px;
    color: #A59FB5;
    padding: 8px 16px;
    font-size: 0.8125rem;
    font-weight: 600;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.cyber-action-btn:hover {
    background-color: #7E22CE;
    border-color: #7E22CE;
    color: #FFFFFF;
}

.cyber-btn-icon {
    width: 16px;
    height: 16px;
}

.cyber-like-counter {
    background: #0D0A14;
    color: #ECE8F5;
    padding: 1px 6px;
    font-size: 0.75rem;
    border: 1px solid #251F33;
}

.cyber-action-btn:hover .cyber-like-counter {
    background: #0D0A14;
    color: #A855F7;
    border-color: #0D0A14;
}

@media (max-width: 576px) {
    .cyber-comment-card {
        padding: 20px;
    }

    .cyber-comment-header {
        flex-direction: column;
        gap: 12px;
    }
}

.cyber-reply-thread {
    position: relative;
    margin-left: 48px;
    margin-top: 14px;
    margin-bottom: 16px;
    padding-left: 20px;
    border-left: 2px solid #7E22CE;
}

.cyber-reply-card {
    background-color: #161220;
    border: 1px solid #251F33;
    border-radius: 0px;
    padding: 20px 24px;
    position: relative;
}

.cyber-reply-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}

.cyber-reply-avatar-wrap {
    width: 40px;
    height: 40px;
    flex-shrink: 0;
}

.cyber-reply-avatar {
    width: 40px;
    height: 40px;
    object-fit: cover;
    border-radius: 0px;
    border: 1px solid #251F33;
    display: block;
}

.cyber-reply-author {
    margin: 0;
    color: #FFFFFF;
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    line-height: 1.3;
}

.cyber-reply-tag {
    display: inline-block;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #A855F7;
    background-color: #0D0A14;
    border: 1px solid #251F33;
    padding: 1px 6px;
    transform: skewX(-15deg);
    letter-spacing: 0.05em;
}

.cyber-reply-body {
    margin-bottom: 14px;
}

.cyber-reply-text {
    color: #A59FB5;
    font-size: 0.875rem;
    line-height: 1.6;
    margin: 0;
}

.cyber-reply-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    border-top: 1px solid #251F33;
    padding-top: 12px;
}

.cyber-reply-actions .cyber-action-btn {
    padding: 6px 12px;
    font-size: 0.75rem;
    background: #0D0A14;
}

.cyber-reply-actions .cyber-action-btn:hover {
    background-color: #7E22CE;
    border-color: #7E22CE;
    color: #FFFFFF;
}

@media (max-width: 576px) {
    .cyber-reply-thread {
        margin-left: 16px;
        padding-left: 12px;
    }

    .cyber-reply-card {
        padding: 16px;
    }
}


/* ===== PAGE TEMPLATE: games ===== */
.glp-body {
    font-family: 'Noto Serif SC', serif;
    background-color: #F4F3F7;
    color: #0D0A14;
    margin: 0;
    padding: 0;
    overflow-x: hidden
}

.glp-site-header {
    background-color: #0D0A14;
    border-bottom: 1px solid #251F33;
    position: sticky;
    top: 0;
    z-index: 100
}

.glp-site-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 0
}

.glp-site-header__brand {
    display: inline-flex;
    align-items: center;
    padding: 8px 12px;
    background: #FFFFFF;
    border: 1px solid #251F33
}

.glp-site-header__logo {
    display: block;
    height: 40px;
    width: auto;
    object-fit: contain
}

.glp-site-header__nav-list {
    list-style: none;
    display: flex;
    align-items: center;
    gap: 20px;
    margin: 0;
    padding: 0
}

.glp-site-header__nav-link {
    font-family: 'Noto Serif SC', serif;
    font-size: 0.9375rem;
    font-weight: 600;
    color: #A59FB5;
    text-decoration: none;
    transition: color 0.25s ease
}

.glp-site-header__nav-link:hover,
.glp-site-header__nav-link:focus,
.glp-site-header__nav-link--active {
    color: #FFFFFF;
    text-decoration: none
}

.glp-site-header__actions {
    display: flex;
    align-items: center;
    gap: 12px
}

.glp-site-header__cta {
    background-color: #7E22CE;
    color: #FFFFFF;
    padding: 8px 18px;
    font-size: 0.8125rem;
    font-weight: 600;
    text-transform: uppercase;
    text-decoration: none;
    letter-spacing: 0.08em
}

.glp-site-header__cta:hover {
    background-color: #0D0A14;
    color: #FFFFFF
}

.glp-site-header__toggle {
    display: none;
    background: transparent;
    border: 1px solid #251F33;
    color: #FFFFFF;
    padding: 6px;
    cursor: pointer
}

.glp-site-header__toggle-icon {
    width: 22px;
    height: 22px
}

.glp-game-stage {
    padding-top: 24px;
    padding-bottom: 36px;
    border-bottom: 3px solid #7E22CE
}

.glp-game-stage__wrapper {
    background-color: #161220;
    border: 1px solid #251F33;
    position: relative
}

.glp-game-stage__screen {
    position: relative;
    width: 100%;
    height: 560px;
    background-color: #000000;
    overflow: hidden
}

.glp-game-stage__iframe {
    width: 100%;
    height: 100%;
    border: none;
    display: block
}

.glp-game-stage__exit-btn {
    display: none;
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 999999;
    background-color: #7E22CE;
    color: #FFFFFF;
    padding: 8px 16px;
    border: none;
    font-weight: 600;
    cursor: pointer;
    align-items: center;
    gap: 8px
}

.glp-game-stage__exit-btn:hover {
    background-color: #0D0A14;
    color: #FFFFFF
}

.glp-game-stage__wrapper:fullscreen {
    width: 100% !important;
    height: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    background: #000000 !important
}

.glp-game-stage__wrapper:fullscreen .glp-game-stage__screen {
    height: 100vh !important;
    width: 100vw !important
}

.glp-game-stage__wrapper:fullscreen .glp-game-stage__bar {
    display: none !important
}

.glp-game-stage__wrapper:fullscreen .glp-game-stage__exit-btn {
    display: inline-flex !important
}

.glp-game-stage__bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
    padding: 24px;
    background-color: #161220;
    border-top: 1px solid #251F33
}

.glp-game-stage__eyebrow {
    color: #A855F7;
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    display: block;
    margin-bottom: 4px
}

.glp-game-stage__title {
    font-family: 'Noto Serif SC', serif;
    font-size: 1.75rem;
    font-weight: 700;
    color: #FFFFFF;
    margin: 0 0 10px 0;
    line-height: 1.25;
    overflow-wrap: anywhere
}

.glp-game-stage__meta-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px
}

.glp-game-stage__badge {
    background-color: #7E22CE;
    color: #FFFFFF;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 3px 8px;
    text-transform: uppercase
}

.glp-game-stage__meta-text {
    color: #A59FB5;
    font-size: 0.875rem
}

.glp-game-stage__fullscreen-btn {
    background-color: #7E22CE;
    color: #FFFFFF;
    border: none;
    padding: 12px 24px;
    font-weight: 600;
    font-size: 0.875rem;
    text-transform: uppercase;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    transition: background-color 0.25s ease
}

.glp-game-stage__fullscreen-btn:hover {
    background-color: #0D0A14;
    color: #FFFFFF
}

.glp-game-stage__control-icon {
    width: 18px;
    height: 18px
}

.glp-detail-summary {
    padding: 60px 0
}

.glp-summary-box__heading {
    font-size: 1.875rem;
    color: #0D0A14;
    margin-top: 8px;
    margin-bottom: 20px;
    overflow-wrap: anywhere
}

.glp-summary-box__text {
    font-size: 1rem;
    line-height: 1.8;
    color: #5C566D
}

.glp-summary-box__text p {
    margin-bottom: 16px;
    overflow-wrap: anywhere
}

.glp-facts-card {
    background-color: #FFFFFF;
    border: 1px solid #D8D3E5;
    border-bottom: 3px solid #7E22CE;
    padding: 32px
}

.glp-facts-card__eyebrow {
    display: block;
    margin-bottom: 6px
}

.glp-facts-card__title {
    font-size: 1.25rem;
    color: #0D0A14;
    margin-bottom: 20px;
    overflow-wrap: anywhere
}

.glp-facts-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.glp-facts-list__item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    border-bottom: 1px solid #ECE8F5;
    padding-bottom: 12px
}

.glp-facts-list__item:last-child {
    border-bottom: none;
    padding-bottom: 0
}

.glp-facts-list__num {
    font-size: 1.125rem;
    font-weight: 700;
    color: #7E22CE;
    line-height: 1.2
}

.glp-facts-list__body {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    font-size: 0.9375rem;
    color: #0D0A14;
    min-width: 0
}

.glp-facts-list__body strong {
    font-weight: 600
}

.glp-facts-list__val {
    color: #5C566D;
    overflow-wrap: anywhere
}

.glp-guide-section {
    padding: 70px 0
}

.glp-guide-section__header {
    text-align: left;
    margin-bottom: 40px
}

.glp-guide-section__heading {
    font-size: 1.875rem;
    color: #0D0A14;
    margin-top: 8px;
    margin-bottom: 12px;
    overflow-wrap: anywhere
}

.glp-guide-section__lead {
    font-size: 1rem;
    color: #5C566D;
    max-width: 760px;
    margin: 0;
    line-height: 1.7;
    overflow-wrap: anywhere
}

.glp-guide-card {
    background: #FFFFFF;
    border: 1px solid #D8D3E5;
    border-bottom: 3px solid #7E22CE;
    padding: 28px;
    height: 100%;
    display: flex;
    flex-direction: column
}

.glp-guide-card__index {
    font-size: 2.5rem;
    font-weight: 700;
    color: #7E22CE;
    line-height: 1;
    margin-bottom: 12px
}

.glp-guide-card__title {
    font-size: 1.15rem;
    font-weight: 600;
    color: #0D0A14;
    margin-bottom: 12px;
    overflow-wrap: anywhere
}

.glp-guide-card__text {
    font-size: 0.9375rem;
    line-height: 1.7;
    color: #5C566D;
    margin: 0;
    overflow-wrap: anywhere
}

.glp-features-section {
    padding: 70px 0
}

.glp-features-section__header {
    text-align: left;
    margin-bottom: 40px
}

.glp-features-section__heading {
    font-size: 1.875rem;
    color: #0D0A14;
    margin-top: 8px;
    overflow-wrap: anywhere
}

.glp-feature-item {
    background: #0D0A14;
    border: 1px solid #251F33;
    padding: 32px;
    height: 100%;
    display: flex;
    flex-direction: column;
    border-bottom: 3px solid #7E22CE
}

.glp-feature-item__icon-box {
    width: 44px;
    height: 44px;
    background-color: #7E22CE;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    flex-shrink: 0
}

.glp-feature-item__svg {
    width: 22px;
    height: 22px;
    color: #0D0A14
}

.glp-feature-item__title {
    font-size: 1.25rem;
    font-weight: 600;
    color: #7E22CE;
    margin-bottom: 12px;
    line-height: 1.3;
    overflow-wrap: anywhere
}

.glp-feature-item__desc {
    font-size: 0.9375rem;
    line-height: 1.7;
    color: #A59FB5;
    margin: 0;
    overflow-wrap: anywhere
}

.glp-tips-section {
    padding: 70px 0
}

.glp-tips-heading {
    font-size: 1.875rem;
    color: #0D0A14;
    margin-top: 8px;
    margin-bottom: 24px;
    overflow-wrap: anywhere
}

.glp-tips-card {
    background: #FFFFFF;
    border: 1px solid #D8D3E5;
    border-left: 4px solid #7E22CE;
    padding: 32px
}

.glp-tips-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 18px
}

.glp-tips-list__item {
    display: flex;
    align-items: flex-start;
    gap: 12px
}

.glp-tips-list__bullet {
    width: 8px;
    height: 8px;
    background-color: #7E22CE;
    margin-top: 8px;
    flex-shrink: 0
}

.glp-tips-list__text {
    font-size: 1rem;
    line-height: 1.7;
    color: #5C566D;
    overflow-wrap: anywhere
}

.glp-related-section {
    padding: 70px 0
}

.glp-related-section__header {
    text-align: left;
    margin-bottom: 40px
}

.glp-related-section__heading {
    font-size: 1.875rem;
    color: #0D0A14;
    margin-top: 8px;
    overflow-wrap: anywhere
}

.glp-related-card {
    background: #FFFFFF;
    border: 1px solid #D8D3E5;
    border-bottom: 3px solid #7E22CE;
    box-shadow: 0 4px 14px rgba(13, 10, 20, 0.06);
    height: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden
}

.glp-related-card__media-wrapper {
    width: 100%;
    height: 280px;
    overflow: hidden;
    border-radius: 12px 12px 0 0
}

.glp-related-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease
}

.glp-related-card:hover .glp-related-card__img {
    transform: scale(1.03)
}

.glp-related-card__body {
    padding: 28px;
    display: flex;
    flex-direction: column;
    flex-grow: 1
}

.glp-related-card__title {
    font-size: 1.25rem;
    font-weight: 600;
    color: #0D0A14;
    margin-bottom: 12px;
    overflow-wrap: anywhere
}

.glp-related-card__desc {
    font-size: 0.9375rem;
    line-height: 1.7;
    color: #5C566D;
    margin-bottom: 20px;
    overflow-wrap: anywhere
}

.glp-related-card__btn {
    margin-top: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #7E22CE;
    color: #FFFFFF;
    padding: 12px 24px;
    font-weight: 600;
    font-size: 0.875rem;
    text-transform: uppercase;
    text-decoration: none;
    transition: background-color 0.25s ease
}

.glp-related-card__btn:hover {
    background-color: #0D0A14;
    color: #FFFFFF
}

.glp-cta-strip {
    background-color: #0D0A14;
    padding: 60px 0;
    border-top: 1px solid #251F33;
    border-bottom: 3px solid #7E22CE
}

.glp-cta-strip__split {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 24px
}

.glp-cta-strip__text {
    max-width: 760px;
    min-width: 0
}

.glp-cta-strip__eyebrow {
    color: #A855F7;
    margin-bottom: 6px;
    display: block
}

.glp-cta-strip__heading {
    font-size: 1.75rem;
    color: #FFFFFF;
    margin-bottom: 10px;
    line-height: 1.3;
    overflow-wrap: anywhere
}

.glp-cta-strip__lead {
    font-size: 0.9375rem;
    color: #A59FB5;
    margin: 0;
    line-height: 1.7;
    overflow-wrap: anywhere
}

.glp-cta-strip__btn {
    background-color: #7E22CE;
    color: #FFFFFF;
    padding: 14px 28px;
    font-weight: 600;
    font-size: 0.875rem;
    text-transform: uppercase;
    text-decoration: none;
    white-space: nowrap;
    display: inline-block;
    transition: background-color 0.25s ease
}

.glp-cta-strip__btn:hover {
    background-color: #161220;
    color: #FFFFFF;
    border: 1px solid #7E22CE
}

.glp-footer {
    background-color: #0D0A14;
    color: #FFFFFF;
    position: relative;
    padding-top: 60px;
    padding-bottom: 30px;
    border-top: 3px solid #7E22CE;
    overflow: hidden
}

.glp-footer__strip {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background-color: #7E22CE
}

.glp-footer .glp-disclaimer-box {
    background-color: #161220;
    border: 1px solid #251F33;
    border-left: 4px solid #7E22CE;
    padding: 24px;
    margin-bottom: 48px;
    border-radius: 0
}

.glp-footer .glp-disclaimer-box__header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px
}

.glp-footer .glp-disclaimer-box__icon-badge {
    width: 32px;
    height: 32px;
    background-color: #7E22CE;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.glp-footer .glp-disclaimer-box__svg {
    width: 18px;
    height: 18px;
    color: #0D0A14
}

.glp-footer .glp-disclaimer-box__eyebrow {
    font-family: 'Noto Serif SC', serif;
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #A855F7
}

.glp-footer .glp-disclaimer-box__text {
    font-family: 'Noto Serif SC', serif;
    font-size: 0.875rem;
    line-height: 1.7;
    color: #A59FB5;
    margin: 0;
    overflow-wrap: anywhere
}

.glp-footer__main-grid {
    margin-bottom: 48px
}

.glp-footer .glp-footer__brand-card {
    background-color: #161220;
    border: 1px solid #251F33;
    border-bottom: 3px solid #7E22CE;
    padding: 24px;
    height: 100%;
    display: flex;
    flex-direction: column;
    border-radius: 0
}

.glp-footer .glp-footer__logo-link {
    display: inline-block;
    margin-bottom: 16px
}

.glp-footer .glp-footer__logo {
    max-width: 48px;
    height: auto;
    display: block;
    object-fit: contain
}

.glp-footer .glp-footer__brand-desc {
    font-family: 'Noto Serif SC', serif;
    font-size: 0.875rem;
    line-height: 1.7;
    color: #A59FB5;
    margin: 0;
    overflow-wrap: anywhere
}

.glp-footer .glp-footer__column-title {
    font-family: 'Noto Serif SC', serif;
    font-size: 1.125rem;
    font-weight: 600;
    color: #FFFFFF;
    margin-bottom: 20px;
    line-height: 1.3;
    letter-spacing: -0.01em
}

.glp-footer .glp-footer__nav-list {
    list-style: none;
    padding: 0;
    margin: 0
}

.glp-footer .glp-footer__nav-item {
    display: flex;
    align-items: center;
    margin-bottom: 10px
}

.glp-footer .glp-footer__marker {
    width: 0;
    height: 0;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 6px solid #7E22CE;
    margin-right: 10px;
    flex-shrink: 0
}

.glp-footer .glp-footer__link {
    font-family: 'Noto Serif SC', serif;
    font-size: 0.875rem;
    color: #A59FB5;
    text-decoration: none;
    transition: color 0.25s ease;
    overflow-wrap: anywhere
}

.glp-footer .glp-footer__link:hover,
.glp-footer .glp-footer__link:focus {
    color: #FFFFFF;
    text-decoration: underline
}

.glp-footer .glp-footer__download-wrapper {
    margin-top: 24px
}

.glp-footer .glp-footer__download-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    font-family: 'Noto Serif SC', serif;
    font-size: 0.8125rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    background-color: #7E22CE;
    color: #FFFFFF;
    border: none;
    border-radius: 0;
    padding: 12px 18px;
    text-decoration: none;
    transition: background-color 0.25s ease, color 0.25s ease
}

.glp-footer .glp-footer__download-btn:hover,
.glp-footer .glp-footer__download-btn:focus {
    background-color: #0D0A14;
    color: #FFFFFF;
    border: 1px solid #7E22CE
}

.glp-footer .glp-footer__btn-icon {
    width: 18px;
    height: 18px;
    flex-shrink: 0
}

.glp-footer .glp-footer__newsletter-desc {
    font-family: 'Noto Serif SC', serif;
    font-size: 0.875rem;
    line-height: 1.6;
    color: #A59FB5;
    margin-bottom: 16px;
    overflow-wrap: anywhere
}

.glp-footer .glp-footer__newsletter-form {
    display: flex;
    flex-direction: column;
    gap: 12px
}

.glp-footer .glp-footer__form-group {
    position: relative
}

.glp-footer .glp-footer__input {
    width: 100%;
    background-color: #161220;
    border: 1px solid #251F33;
    color: #FFFFFF;
    padding: 12px 14px;
    font-family: 'Noto Serif SC', serif;
    font-size: 0.875rem;
    border-radius: 0;
    outline: none;
    transition: border-color 0.25s ease
}

.glp-footer .glp-footer__input:focus {
    border-color: #7E22CE
}

.glp-footer .glp-footer__input::placeholder {
    color: #5C566D;
    opacity: 1
}

.glp-footer .glp-footer__consent-group {
    margin-top: 4px
}

.glp-footer .glp-footer__checkbox-label {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    cursor: pointer;
    user-select: none
}

.glp-footer .glp-footer__checkbox {
    width: 16px;
    height: 16px;
    accent-color: #7E22CE;
    margin-top: 3px;
    flex-shrink: 0;
    cursor: pointer
}

.glp-footer .glp-footer__checkbox-text {
    font-family: 'Noto Serif SC', serif;
    font-size: 0.75rem;
    line-height: 1.5;
    color: #A59FB5;
    overflow-wrap: anywhere
}

.glp-footer .glp-footer__inline-link {
    color: #A855F7;
    text-decoration: underline
}

.glp-footer .glp-footer__inline-link:hover,
.glp-footer .glp-footer__inline-link:focus {
    color: #FFFFFF
}

.glp-footer .glp-footer__submit-btn {
    width: 100%;
    background-color: #7E22CE;
    color: #FFFFFF;
    border: none;
    border-radius: 0;
    padding: 12px 20px;
    font-family: 'Noto Serif SC', serif;
    font-size: 0.8125rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    cursor: pointer;
    transition: background-color 0.25s ease, color 0.25s ease
}

.glp-footer .glp-footer__submit-btn:hover,
.glp-footer .glp-footer__submit-btn:focus {
    background-color: #0D0A14;
    color: #FFFFFF;
    border: 1px solid #7E22CE
}

.glp-footer__bottom-bar {
    border-top: 1px solid #251F33;
    padding-top: 24px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 16px
}

.glp-footer .glp-footer__copyright {
    font-family: 'Noto Serif SC', serif;
    font-size: 0.8125rem;
    color: #A59FB5
}

.glp-footer .glp-footer__policy-inline {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px
}

.glp-footer .glp-footer__policy-link {
    font-family: 'Noto Serif SC', serif;
    font-size: 0.8125rem;
    color: #A59FB5;
    text-decoration: none;
    transition: color 0.25s ease
}

.glp-footer .glp-footer__policy-link:hover,
.glp-footer .glp-footer__policy-link:focus {
    color: #FFFFFF;
    text-decoration: underline
}

.glp-footer .glp-footer__policy-divider {
    color: #5C566D;
    font-size: 0.75rem
}

@media (max-width: 991px) {
    .glp-site-header__nav {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background-color: #0D0A14;
        border-bottom: 2px solid #7E22CE;
        padding: 20px
    }

    .glp-site-header__nav.is-open {
        display: block
    }

    .glp-site-header__nav-list {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px
    }

    .glp-site-header__toggle {
        display: inline-flex
    }
}

@media (max-width: 767px) {
    .glp-game-stage__screen {
        height: 340px
    }

    .glp-game-stage__title {
        font-size: 1.125rem;
        hyphens: auto
    }

    .glp-summary-box__heading,
    .glp-guide-section__heading,
    .glp-features-section__heading,
    .glp-tips-heading,
    .glp-related-section__heading,
    .glp-cta-strip__heading {
        font-size: 1rem;
        hyphens: auto
    }

    .glp-cta-strip__split {
        flex-direction: column;
        align-items: flex-start
    }

    .glp-cta-strip__btn {
        width: 100%;
        text-align: center
    }

    .glp-footer {
        padding-top: 40px;
        padding-bottom: 24px
    }

    .glp-footer .glp-footer__main-grid {
        margin-bottom: 32px
    }

    .glp-footer .glp-footer__column-title {
        font-size: 1rem;
        margin-bottom: 14px
    }

    .glp-footer .glp-footer__brand-card {
        margin-bottom: 8px
    }

    .glp-footer__bottom-bar {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px
    }
}

/* ===== PAGE TEMPLATE: news ===== */
.glp-top-header {
    background-color: var(--dark-band, #0D0A14);
    border-bottom: 1px solid var(--border-subtle-dark, #251F33);
    padding: 16px 0;
    position: sticky;
    top: 0;
    z-index: 1000;
}

.glp-top-header__container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.glp-top-header__brand-plate {
    background-color: #FFFFFF;
    padding: 6px 14px;
    border: 1px solid var(--border-subtle-light, #D8D3E5);
    display: inline-flex;
    align-items: center;
}

.glp-top-header__brand-link {
    display: inline-block;
    line-height: 1;
}

.glp-top-header__logo {
    display: block;
    object-fit: contain;
}

.glp-top-header__nav {
    display: flex;
    align-items: center;
}

.glp-top-header__menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}

.glp-top-header__menu-link {
    font-family: 'Noto Serif SC', serif;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--on-dark, #FFFFFF);
    text-decoration: none;
    transition: color 0.25s ease;
}

.glp-top-header__menu-link:hover,
.glp-top-header__menu-link:focus,
.glp-top-header__menu-link--active {
    color: var(--accent, #A855F7);
    text-decoration: underline;
}

.glp-top-header__btn {
    padding: 10px 18px;
    font-size: 0.8125rem;
    text-decoration: none;
    display: inline-block;
}

.glp-article-hero {
    padding: 64px 0;
    background-position: center;
    background-size: cover;
    border-bottom: 3px solid var(--primary, #7E22CE);
}

.glp-article-hero__badge {
    background-color: var(--primary, #7E22CE);
    color: #FFFFFF;
    font-size: 0.75rem;
    padding: 4px 10px;
    letter-spacing: 0.08em;
}

.glp-article-hero__meta-item {
    font-family: 'Noto Serif SC', serif;
    font-size: 0.8125rem;
    color: var(--on-dark-muted, #A59FB5);
}

.glp-article-hero__divider {
    color: var(--primary, #7E22CE);
    font-size: 0.75rem;
}

.glp-article-hero__title {
    font-family: 'Noto Serif SC', serif;
    font-size: 2.25rem;
    font-weight: 700;
    color: #FFFFFF;
    line-height: 1.3;
    margin: 16px 0;
    overflow-wrap: anywhere;
}

.glp-article-hero__subtitle {
    font-family: 'Noto Serif SC', serif;
    font-size: 1.0625rem;
    color: var(--on-dark-muted, #A59FB5);
    line-height: 1.7;
    margin: 0;
    max-width: 880px;
    overflow-wrap: anywhere;
}

.glp-detail-main {
    padding: 60px 0;
    background-color: var(--page-background, #F4F3F7);
}

.glp-detail-main .glp-game-screen-card {
    background-color: var(--dark-band, #0D0A14);
    border: 1px solid var(--border-subtle-dark, #251F33);
    border-bottom: 3px solid var(--primary, #7E22CE);
    position: relative;
    margin-bottom: 24px;
}

.glp-detail-main .glp-game-screen-card__header {
    padding: 12px 16px;
    background-color: var(--dark-band-surface, #161220);
    border-bottom: 1px solid var(--border-subtle-dark, #251F33);
}

.glp-detail-main .glp-game-screen-card__dot {
    width: 10px;
    height: 10px;
    background-color: #22C55E;
    display: inline-block;
}

.glp-detail-main .glp-game-screen-card__badge-title {
    font-family: 'Noto Serif SC', serif;
    font-size: 0.8125rem;
    color: #FFFFFF;
    font-weight: 600;
}

.glp-detail-main .glp-game-control-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    font-size: 0.75rem;
    border-radius: 0;
}

.glp-detail-main .glp-btn-icon {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
}

.glp-detail-main .glp-game-screen-card__frame-wrapper {
    width: 100%;
    height: 520px;
    position: relative;
    background-color: #000000;
}

.glp-detail-main .glp-game-screen-card__iframe {
    width: 100%;
    height: 100%;
    border: none;
    display: block;
}

.glp-detail-main .glp-game-screen-card:fullscreen,
.glp-detail-main .glp-game-screen-card:-webkit-full-screen {
    width: 100vw !important;
    height: 100vh !important;
    display: flex !important;
    flex-direction: column !important;
    background-color: #000000 !important;
}

.glp-detail-main .glp-game-screen-card:fullscreen .glp-game-screen-card__frame-wrapper,
.glp-detail-main .glp-game-screen-card:-webkit-full-screen .glp-game-screen-card__frame-wrapper {
    flex-grow: 1 !important;
    height: 100% !important;
}

.glp-detail-main .glp-key-facts-strip {
    background-color: #FFFFFF;
    border: 1px solid var(--border-subtle-light, #D8D3E5);
    border-left: 4px solid var(--primary, #7E22CE);
    padding: 16px 20px;
    margin-bottom: 24px;
}

.glp-detail-main .glp-key-facts-strip__label {
    font-family: 'Noto Serif SC', serif;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--text-light-primary, #0D0A14);
}

.glp-detail-main .glp-key-facts-strip__chip {
    background-color: var(--light-tint, #ECE8F5);
    color: var(--primary, #7E22CE);
    border: 1px solid var(--border-subtle-light, #D8D3E5);
    font-size: 0.75rem;
    padding: 4px 10px;
}

.glp-detail-main .glp-inline-cta {
    background-color: var(--dark-band, #0D0A14);
    border: 1px solid var(--border-subtle-dark, #251F33);
    border-bottom: 3px solid var(--primary, #7E22CE);
    padding: 24px;
    margin-bottom: 32px;
}

.glp-detail-main .glp-inline-cta__title {
    font-family: 'Noto Serif SC', serif;
    font-size: 1.125rem;
    color: #FFFFFF;
    margin: 0 0 6px 0;
    overflow-wrap: anywhere;
}

.glp-detail-main .glp-inline-cta__text {
    font-family: 'Noto Serif SC', serif;
    font-size: 0.875rem;
    color: var(--on-dark-muted, #A59FB5);
    margin: 0;
    overflow-wrap: anywhere;
}

.glp-detail-main .glp-inline-cta__btn {
    text-decoration: none;
    padding: 10px 20px;
    font-size: 0.8125rem;
    display: inline-block;
}

.glp-detail-main .glp-toc-card {
    background-color: #FFFFFF;
    border: 1px solid var(--border-subtle-light, #D8D3E5);
    padding: 24px;
    margin-bottom: 36px;
}

.glp-detail-main .glp-toc-card__icon {
    width: 32px;
    height: 32px;
    background-color: var(--primary, #7E22CE);
    display: flex;
    align-items: center;
    justify-content: center;
}

.glp-detail-main .glp-svg-glyph {
    width: 18px;
    height: 18px;
    color: #FFFFFF;
}

.glp-detail-main .glp-toc-card__heading {
    font-family: 'Noto Serif SC', serif;
    font-size: 1.125rem;
    color: var(--text-light-primary, #0D0A14);
    margin: 0;
}

.glp-detail-main .glp-toc-card__list {
    list-style: none;
    padding: 0;
    margin: 16px 0 0 0;
}

.glp-detail-main .glp-toc-card__item {
    margin-bottom: 8px;
    position: relative;
    padding-left: 18px;
}

.glp-detail-main .glp-toc-card__item::before {
    content: "";
    position: absolute;
    left: 0;
    top: 8px;
    width: 6px;
    height: 6px;
    background-color: var(--primary, #7E22CE);
}

.glp-detail-main .glp-toc-card__link {
    font-family: 'Noto Serif SC', serif;
    font-size: 0.875rem;
    color: var(--text-light-secondary, #5C566D);
    text-decoration: none;
    transition: color 0.25s ease;
}

.glp-detail-main .glp-toc-card__link:hover {
    color: var(--primary, #7E22CE);
    text-decoration: underline;
}

.glp-detail-main .glp-article-section {
    margin-bottom: 40px;
}

.glp-detail-main .glp-article-section__header {
    margin-bottom: 18px;
}

.glp-detail-main .glp-article-section__title {
    font-family: 'Noto Serif SC', serif;
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--text-light-primary, #0D0A14);
    margin: 6px 0 8px 0;
    overflow-wrap: anywhere;
}

.glp-detail-main .glp-article-section__accent-line {
    width: 48px;
    height: 3px;
    background-color: var(--primary, #7E22CE);
}

.glp-detail-main .glp-article-content__paragraph {
    font-family: 'Noto Serif SC', serif;
    font-size: 0.9375rem;
    line-height: 1.8;
    color: var(--text-light-primary, #0D0A14);
    margin-bottom: 16px;
    overflow-wrap: anywhere;
}

.glp-detail-main .glp-article-content__media-wrap {
    width: 100%;
    margin: 24px 0;
}

.glp-detail-main .glp-article-content__full-img {
    width: 100%;
    height: 380px;
    object-fit: cover;
    display: block;
    border: 1px solid var(--border-subtle-light, #D8D3E5);
}

.glp-detail-main .glp-pull-quote {
    background-color: var(--light-tint, #ECE8F5);
    border-left: 4px solid var(--primary, #7E22CE);
    padding: 28px;
    margin: 36px 0;
    position: relative;
}

.glp-detail-main .glp-pull-quote__mark {
    font-family: 'Noto Serif SC', serif;
    font-size: 3rem;
    line-height: 1;
    color: var(--primary, #7E22CE);
    margin-bottom: -10px;
}

.glp-detail-main .glp-pull-quote__text {
    font-family: 'Noto Serif SC', serif;
    font-size: 1.125rem;
    font-style: italic;
    color: var(--text-light-primary, #0D0A14);
    line-height: 1.7;
    margin-bottom: 12px;
    overflow-wrap: anywhere;
}

.glp-detail-main .glp-pull-quote__author {
    display: block;
    font-family: 'Noto Serif SC', serif;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--primary, #7E22CE);
    text-align: right;
}

.glp-detail-main .glp-article-content__feature-list {
    list-style: none;
    padding: 0;
    margin: 16px 0;
}

.glp-detail-main .glp-article-content__feature-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 12px;
}

.glp-detail-main .glp-article-content__feature-bullet {
    width: 8px;
    height: 8px;
    background-color: var(--primary, #7E22CE);
    margin-top: 8px;
    flex-shrink: 0;
}

.glp-detail-main .glp-article-content__feature-text {
    font-family: 'Noto Serif SC', serif;
    font-size: 0.9375rem;
    line-height: 1.7;
    color: var(--text-light-primary, #0D0A14);
    overflow-wrap: anywhere;
}

.glp-detail-main .glp-share-strip {
    border-top: 1px solid var(--border-subtle-light, #D8D3E5);
    border-bottom: 1px solid var(--border-subtle-light, #D8D3E5);
    padding: 18px 0;
    margin: 40px 0;
}

.glp-detail-main .glp-share-strip__label {
    font-family: 'Noto Serif SC', serif;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--text-light-primary, #0D0A14);
}

.glp-detail-main .glp-share-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 16px;
    font-family: 'Noto Serif SC', serif;
    font-size: 0.8125rem;
    font-weight: 600;
    background-color: #FFFFFF;
    color: var(--text-light-primary, #0D0A14);
    border: 1px solid var(--border-subtle-light, #D8D3E5);
    text-decoration: none;
    transition: background-color 0.25s ease, color 0.25s ease;
}

.glp-detail-main .glp-share-btn:hover {
    background-color: var(--primary, #7E22CE);
    color: #FFFFFF;
    border-color: var(--primary, #7E22CE);
}

.glp-detail-main .glp-info-sidebar-card {
    background-color: #FFFFFF;
    border: 1px solid var(--border-subtle-light, #D8D3E5);
    border-bottom: 3px solid var(--primary, #7E22CE);
    padding: 24px;
}

.glp-detail-main .glp-info-sidebar-card__title {
    font-family: 'Noto Serif SC', serif;
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--text-light-primary, #0D0A14);
    margin: 0 0 16px 0;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--border-subtle-light, #D8D3E5);
}

.glp-detail-main .glp-passport-row {
    padding: 10px 0;
    border-bottom: 1px solid #F0EEF5;
}

.glp-detail-main .glp-passport-row:last-child {
    border-bottom: none;
}

.glp-detail-main .glp-passport-row__label {
    font-family: 'Noto Serif SC', serif;
    font-size: 0.8125rem;
    color: var(--text-light-secondary, #5C566D);
}

.glp-detail-main .glp-passport-row__value {
    font-family: 'Noto Serif SC', serif;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--text-light-primary, #0D0A14);
}

.glp-detail-main .glp-passport-row__value--highlight {
    color: var(--primary, #7E22CE);
}

.glp-detail-main .glp-sidebar-similar-card {
    background-color: #FFFFFF;
    border: 1px solid var(--border-subtle-light, #D8D3E5);
    padding: 24px;
}

.glp-detail-main .glp-sidebar-similar-card__title {
    font-family: 'Noto Serif SC', serif;
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--text-light-primary, #0D0A14);
    margin: 0 0 16px 0;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--border-subtle-light, #D8D3E5);
}

.glp-detail-main .glp-mini-article-item {
    border-bottom: 1px solid #F0EEF5;
    padding-bottom: 12px;
}

.glp-detail-main .glp-mini-article-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.glp-detail-main .glp-mini-article-item__media {
    width: 64px;
    height: 64px;
    flex-shrink: 0;
}

.glp-detail-main .glp-mini-article-item__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.glp-detail-main .glp-mini-article-item__category {
    font-family: 'Noto Serif SC', serif;
    font-size: 0.6875rem;
    color: var(--primary, #7E22CE);
    text-transform: uppercase;
    font-weight: 600;
    display: block;
    margin-bottom: 4px;
}

.glp-detail-main .glp-mini-article-item__title {
    font-family: 'Noto Serif SC', serif;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.4;
    margin: 0;
}

.glp-detail-main .glp-mini-article-item__link {
    color: var(--text-light-primary, #0D0A14);
    text-decoration: none;
    transition: color 0.25s ease;
}

.glp-detail-main .glp-mini-article-item__link:hover {
    color: var(--primary, #7E22CE);
    text-decoration: underline;
}

.glp-detail-main .glp-related-section__title {
    font-family: 'Noto Serif SC', serif;
    font-size: 1.75rem;
    color: var(--text-light-primary, #0D0A14);
    margin: 6px 0 10px 0;
}

.glp-detail-main .glp-related-section__accent-line {
    width: 44px;
    height: 3px;
    background-color: var(--primary, #7E22CE);
}

.glp-detail-main .glp-related-card {
    background-color: #FFFFFF;
    border: 1px solid var(--border-subtle-light, #D8D3E5);
    border-bottom: 3px solid var(--primary, #7E22CE);
    transition: transform 0.25s ease;
}

.glp-detail-main .glp-related-card:hover {
    transform: translateY(-4px);
}

.glp-detail-main .glp-related-card__media {
    position: relative;
    height: 190px;
    width: 100%;
}

.glp-detail-main .glp-related-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    clip-path: polygon(0 0, 100% 0, 100% 84%, 0 100%);
}

.glp-detail-main .glp-related-card__circle-icon {
    position: absolute;
    right: 18px;
    bottom: 8px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background-color: var(--primary, #7E22CE);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
}

.glp-detail-main .glp-card-glyph {
    width: 18px;
    height: 18px;
    color: #FFFFFF;
}

.glp-detail-main .glp-related-card__body {
    padding: 24px;
}

.glp-detail-main .glp-related-card__badge {
    background-color: var(--light-tint, #ECE8F5);
    color: var(--primary, #7E22CE);
    font-size: 0.75rem;
    padding: 2px 8px;
    align-self: flex-start;
}

.glp-detail-main .glp-related-card__title {
    font-family: 'Noto Serif SC', serif;
    font-size: 1.0625rem;
    font-weight: 600;
    color: var(--text-light-primary, #0D0A14);
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.glp-detail-main .glp-related-card__desc {
    font-family: 'Noto Serif SC', serif;
    font-size: 0.875rem;
    color: var(--text-light-secondary, #5C566D);
    line-height: 1.6;
    overflow-wrap: anywhere;
}

.glp-detail-main .glp-related-card__btn {
    text-decoration: none;
    padding: 8px 18px;
    font-size: 0.75rem;
    display: inline-block;
}

@media (max-width: 991px) {
    .glp-top-header__menu {
        gap: 12px;
    }

    .glp-detail-main .glp-game-screen-card__frame-wrapper {
        height: 420px;
    }
}

@media (max-width: 767px) {
    .glp-top-header__container {
        flex-direction: column;
        align-items: flex-start;
    }

    .glp-article-hero {
        padding: 40px 0;
    }

    .glp-article-hero__title {
        font-size: 1.5rem;
    }

    .glp-detail-main {
        padding: 36px 0;
    }

    .glp-detail-main .glp-game-screen-card__frame-wrapper {
        height: 300px;
    }

    .glp-detail-main .glp-article-content__full-img {
        height: 220px;
    }

    .glp-detail-main .glp-share-strip {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* 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%;
  }
}
