/* WEsteam/Yutu shared dark product skin. */
:root {
    --wu-bg: #07100f;
    --wu-bg-soft: #0b1718;
    --wu-surface: rgba(12, 24, 25, 0.88);
    --wu-surface-2: rgba(15, 31, 34, 0.94);
    --wu-border: rgba(255, 255, 255, 0.12);
    --wu-border-strong: rgba(80, 235, 170, 0.32);
    --wu-text: #f4fff8;
    --wu-muted: rgba(226, 245, 236, 0.68);
    --wu-dim: rgba(226, 245, 236, 0.48);
    --wu-primary: #2ee88a;
    --wu-primary-2: #6ee7f2;
    --wu-warning: #e6b557;
    --wu-danger: #ff6b6b;
    --wu-shadow: 0 18px 50px rgba(0, 0, 0, 0.34);
    --wu-radius: 8px;
}

body.westeam-unified-page,
body.westeam-guide-page,
body.steam-game-request-page,
body.yutu-steamtools-template {
    background:
        linear-gradient(rgba(255, 255, 255, 0.032) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.026) 1px, transparent 1px),
        linear-gradient(135deg, #06100f 0%, #091719 45%, #111827 100%) !important;
    background-size: 40px 40px, 40px 40px, auto !important;
    color: var(--wu-text) !important;
    font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", sans-serif !important;
}

body.westeam-unified-page *,
body.westeam-guide-page *,
body.steam-game-request-page *,
body.yutu-steamtools-template * {
    box-sizing: border-box;
}

body.westeam-unified-page a,
body.westeam-guide-page a,
body.steam-game-request-page a,
body.yutu-steamtools-template a {
    transition: color 180ms ease, border-color 180ms ease, background 180ms ease, transform 180ms ease, opacity 180ms ease;
}

body.westeam-unified-page .text-muted,
body.westeam-guide-page .text-muted,
body.steam-game-request-page .text-muted {
    color: var(--wu-muted) !important;
}

body.westeam-unified-page .card,
body.westeam-guide-page .card {
    border-radius: var(--wu-radius) !important;
}

body.westeam-unified-page .btn,
body.westeam-guide-page .btn,
body.steam-game-request-page button,
body.steam-game-request-page .steam-submit-btn,
body.steam-game-request-page .steam-upgrade-btn,
body.steam-game-request-page .steam-profile-btn,
body.steam-game-request-page .steam-page-btn,
body.steam-game-request-page .steam-page-number,
body.steam-game-request-page .steam-store-link-btn {
    min-height: 42px;
    border-radius: var(--wu-radius) !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
}

body.westeam-unified-page .btn-primary,
body.westeam-guide-page .download-btn,
body.westeam-guide-page .download-btn-primary,
body.westeam-guide-page .cta-button.primary,
body.steam-game-request-page .steam-submit-btn,
body.steam-game-request-page .steam-upgrade-btn,
body.steam-game-request-page .steam-page-number.active,
body.steam-game-request-page .steam-store-link-btn {
    border: 1px solid rgba(46, 232, 138, 0.58) !important;
    background: linear-gradient(135deg, var(--wu-primary), var(--wu-primary-2)) !important;
    color: #04110d !important;
    box-shadow: 0 14px 34px rgba(46, 232, 138, 0.18) !important;
}

body.westeam-unified-page .btn-outline-primary,
body.westeam-unified-page .btn-outline-secondary,
body.westeam-guide-page .download-btn-secondary,
body.westeam-guide-page .cta-button.secondary,
body.steam-game-request-page .steam-profile-btn,
body.steam-game-request-page .steam-edit-btn,
body.steam-game-request-page .steam-delete-btn,
body.steam-game-request-page .steam-reject-btn,
body.steam-game-request-page .steam-page-btn,
body.steam-game-request-page .steam-page-number,
body.steam-game-request-page .steam-empty-btn {
    border: 1px solid var(--wu-border) !important;
    background: rgba(255, 255, 255, 0.06) !important;
    color: var(--wu-text) !important;
    box-shadow: none !important;
}

body.westeam-unified-page .btn:hover,
body.westeam-guide-page .download-btn:hover,
body.westeam-guide-page .download-btn-primary:hover,
body.westeam-guide-page .download-btn-secondary:hover,
body.westeam-guide-page .cta-button:hover,
body.steam-game-request-page button:hover,
body.steam-game-request-page a[class*="btn"]:hover {
    transform: translateY(-1px);
}

/* WEsteam Lua intro */
body.westeam-lua-intro-page .wslp-navbar {
    background: rgba(5, 13, 13, 0.9) !important;
    border-bottom: 1px solid var(--wu-border) !important;
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.24) !important;
}

body.westeam-lua-intro-page .wslp-navbar__container,
body.westeam-lua-intro-page .container {
    max-width: 1180px !important;
}

body.westeam-lua-intro-page .wslp-navbar__logo,
body.westeam-lua-intro-page .wslp-navbar__switch-btn,
body.westeam-lua-intro-page .wslp-navbar__btn--login,
body.westeam-lua-intro-page .wslp-navbar__user {
    color: var(--wu-text) !important;
    -webkit-text-fill-color: currentColor !important;
    background: transparent !important;
}

body.westeam-lua-intro-page .wslp-navbar__switch,
body.westeam-lua-intro-page .wslp-navbar__switch-btn--active {
    border: 1px solid var(--wu-border) !important;
    background: rgba(255, 255, 255, 0.07) !important;
    box-shadow: none !important;
}

body.westeam-lua-intro-page .wslp-navbar__btn--register,
body.westeam-lua-intro-page .wslp-navbar__avatar {
    background: linear-gradient(135deg, var(--wu-primary), var(--wu-primary-2)) !important;
    color: #04110d !important;
}

body.westeam-lua-intro-page .wslp-page {
    min-height: 100vh !important;
    background:
        linear-gradient(rgba(255, 255, 255, 0.032) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.026) 1px, transparent 1px),
        linear-gradient(135deg, #06100f 0%, #08181a 52%, #111827 100%) !important;
    background-size: 40px 40px, 40px 40px, auto !important;
    color: var(--wu-text) !important;
    overflow: visible !important;
}

body.westeam-lua-intro-page .wslp-page::before,
body.westeam-lua-intro-page .wslp-page::after,
body.westeam-lua-intro-page .wslp-snow,
body.westeam-lua-intro-page .wslp-lantern {
    display: none !important;
}

body.westeam-lua-intro-page .wslp-hero {
    padding-top: clamp(64px, 8vw, 112px) !important;
}

body.westeam-lua-intro-page .display-5,
body.westeam-lua-intro-page h1,
body.westeam-lua-intro-page h2,
body.westeam-lua-intro-page .fw-bold,
body.westeam-lua-intro-page .fw-semibold {
    color: var(--wu-text) !important;
}

body.westeam-lua-intro-page .lead {
    color: var(--wu-muted) !important;
    max-width: 680px;
}

body.westeam-lua-intro-page .wslp-badge,
body.westeam-lua-intro-page .wslp-season-chip,
body.westeam-lua-intro-page .wslp-status-pill,
body.westeam-lua-intro-page .wslp-pricing-badge {
    border: 1px solid var(--wu-border-strong) !important;
    background: rgba(46, 232, 138, 0.1) !important;
    color: var(--wu-primary) !important;
    border-radius: 999px !important;
}

body.westeam-lua-intro-page .wslp-card,
body.westeam-lua-intro-page .wslp-feature-card,
body.westeam-lua-intro-page .wslp-pricing-card,
body.westeam-lua-intro-page .wslp-faq,
body.westeam-lua-intro-page .card {
    border: 1px solid var(--wu-border) !important;
    border-radius: var(--wu-radius) !important;
    background: var(--wu-surface) !important;
    box-shadow: var(--wu-shadow) !important;
    color: var(--wu-text) !important;
}

body.westeam-lua-intro-page .wslp-feature-icon,
body.westeam-lua-intro-page .step-number {
    border: 1px solid var(--wu-border-strong) !important;
    border-radius: var(--wu-radius) !important;
    background: rgba(46, 232, 138, 0.12) !important;
    color: var(--wu-primary) !important;
}

body.westeam-lua-intro-page .list-group,
body.westeam-lua-intro-page .list-group-item {
    background: transparent !important;
    color: var(--wu-text) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
}

body.westeam-lua-intro-page .wslp-section--alt {
    background: rgba(255, 255, 255, 0.025) !important;
}

/* Steam guide */
body.westeam-guide-page .site-content,
body.westeam-guide-page #content {
    background: transparent !important;
}

body.westeam-guide-page .steam-guide-container {
    width: min(1180px, calc(100% - 32px)) !important;
    max-width: 1180px !important;
    padding: 28px 0 56px !important;
    color: var(--wu-text) !important;
}

body.westeam-guide-page .steam-guide-header,
body.westeam-guide-page .download-section,
body.westeam-guide-page .download-cta,
body.westeam-guide-page .auto-update-section,
body.westeam-guide-page .tips-section,
body.westeam-guide-page .vip-notice,
body.westeam-guide-page .pc-warning,
body.westeam-guide-page .step-card,
body.westeam-guide-page .faq-item,
body.westeam-guide-page .download-card {
    border: 1px solid var(--wu-border) !important;
    border-radius: var(--wu-radius) !important;
    background: var(--wu-surface) !important;
    box-shadow: var(--wu-shadow) !important;
    color: var(--wu-text) !important;
}

body.westeam-guide-page .steam-guide-header {
    margin-bottom: 18px !important;
    padding: clamp(28px, 6vw, 64px) !important;
    text-align: left !important;
    background:
        linear-gradient(120deg, rgba(46, 232, 138, 0.16), transparent 42%),
        linear-gradient(135deg, rgba(9, 25, 24, 0.98), rgba(13, 29, 36, 0.96)) !important;
}

body.westeam-guide-page .steam-guide-header h1,
body.westeam-guide-page .steps-title,
body.westeam-guide-page .faq-title,
body.westeam-guide-page .download-title,
body.westeam-guide-page .step-title,
body.westeam-guide-page .faq-question,
body.westeam-guide-page .download-card h3,
body.westeam-guide-page .tips-title {
    color: var(--wu-text) !important;
}

body.westeam-guide-page .steam-guide-header p,
body.westeam-guide-page .step-description,
body.westeam-guide-page .faq-answer,
body.westeam-guide-page .tips-content,
body.westeam-guide-page .download-card p,
body.westeam-guide-page .pc-warning,
body.westeam-guide-page .vip-notice {
    color: var(--wu-muted) !important;
}

body.westeam-guide-page .download-cta,
body.westeam-guide-page .auto-update-section,
body.westeam-guide-page .tips-section {
    margin: 18px 0 !important;
    padding: 22px !important;
}

body.westeam-guide-page .auto-update-badge,
body.westeam-guide-page .badge-newbie,
body.westeam-guide-page .step-chip {
    border: 1px solid var(--wu-border-strong) !important;
    border-radius: 999px !important;
    background: rgba(46, 232, 138, 0.1) !important;
    color: var(--wu-primary) !important;
}

body.westeam-guide-page .pc-warning .icon,
body.westeam-guide-page .auto-update-badge {
    font-size: 0 !important;
}

body.westeam-guide-page .pc-warning .icon::before,
body.westeam-guide-page .auto-update-badge::before {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    margin-right: 8px;
    border-radius: 50%;
    background: var(--wu-primary);
    box-shadow: 0 0 0 4px rgba(46, 232, 138, 0.12);
}

body.westeam-guide-page .step-card {
    border-left: 1px solid var(--wu-border-strong) !important;
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

body.westeam-guide-page .step-number {
    width: 40px !important;
    height: 40px !important;
    line-height: 40px !important;
    border-radius: var(--wu-radius) !important;
    background: rgba(46, 232, 138, 0.14) !important;
    color: var(--wu-primary) !important;
}

body.westeam-guide-page .step-content {
    display: block !important;
    min-width: 0;
}

body.westeam-guide-page .step-image.step-image--placeholder {
    border: 1px solid var(--wu-border) !important;
    border-radius: var(--wu-radius) !important;
    background:
        linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px),
        linear-gradient(135deg, rgba(16, 39, 39, 0.98), rgba(14, 30, 44, 0.96)) !important;
    background-size: 28px 28px, 28px 28px, auto !important;
}

body.westeam-guide-page .download-grid,
body.westeam-guide-page .cta-actions {
    gap: 12px !important;
}

body.westeam-guide-page .download-card {
    padding: 20px !important;
}

/* Game request */
body.steam-game-request-page {
    min-height: 100vh;
}

body.steam-game-request-page .steam-home-button {
    border: 1px solid var(--wu-border) !important;
    border-radius: var(--wu-radius) !important;
    background: rgba(9, 20, 22, 0.88) !important;
    color: var(--wu-text) !important;
    box-shadow: var(--wu-shadow) !important;
}

body.steam-game-request-page .steam-request-container {
    min-height: 100vh !important;
    padding: 28px 0 56px !important;
    background:
        linear-gradient(rgba(255, 255, 255, 0.032) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.026) 1px, transparent 1px),
        linear-gradient(135deg, #06100f 0%, #08181a 52%, #111827 100%) !important;
    background-size: 40px 40px, 40px 40px, auto !important;
    color: var(--wu-text) !important;
}

body.steam-game-request-page .steam-request-container::before,
body.steam-game-request-page .steam-request-container::after {
    display: none !important;
}

body.steam-game-request-page .steam-request-wrapper {
    width: min(1180px, calc(100% - 32px)) !important;
    max-width: 1180px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

body.steam-game-request-page .steam-page-header {
    border: 1px solid var(--wu-border) !important;
    border-radius: var(--wu-radius) !important;
    background:
        linear-gradient(120deg, rgba(46, 232, 138, 0.16), transparent 42%),
        var(--wu-surface) !important;
    box-shadow: var(--wu-shadow) !important;
    text-align: left !important;
}

body.steam-game-request-page .steam-page-title,
body.steam-game-request-page .steam-form-title,
body.steam-game-request-page .steam-sidebar-title,
body.steam-game-request-page .steam-community-title,
body.steam-game-request-page .steam-guide-title,
body.steam-game-request-page .steam-badge-title,
body.steam-game-request-page .steam-request-name,
body.steam-game-request-page .steam-game-name,
body.steam-game-request-page label {
    color: var(--wu-text) !important;
}

body.steam-game-request-page .steam-page-subtitle,
body.steam-game-request-page .steam-status-desc,
body.steam-game-request-page .steam-form-help,
body.steam-game-request-page .steam-badge-subtitle,
body.steam-game-request-page .steam-empty-desc,
body.steam-game-request-page .steam-community-subtitle,
body.steam-game-request-page .steam-request-time,
body.steam-game-request-page .steam-community-time,
body.steam-game-request-page .steam-game-platform {
    color: var(--wu-muted) !important;
}

body.steam-game-request-page .steam-status-guide,
body.steam-game-request-page .steam-request-form,
body.steam-game-request-page .steam-user-requests,
body.steam-game-request-page .steam-community-section,
body.steam-game-request-page .steam-community-item,
body.steam-game-request-page .steam-request-item,
body.steam-game-request-page .steam-vip-notice,
body.steam-game-request-page .steam-member-badge,
body.steam-game-request-page .steam-member-privilege-notice,
body.steam-game-request-page .steam-empty-state,
body.steam-game-request-page .steam-stat-card-modern {
    border: 1px solid var(--wu-border) !important;
    border-radius: var(--wu-radius) !important;
    background: var(--wu-surface) !important;
    box-shadow: var(--wu-shadow) !important;
    color: var(--wu-text) !important;
}

body.steam-game-request-page .steam-main-content {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    gap: 18px !important;
}

body.steam-game-request-page .steam-right-content {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(340px, 0.72fr);
    gap: 18px !important;
    align-items: start !important;
}

body.steam-game-request-page .steam-form-input,
body.steam-game-request-page .steam-form-select,
body.steam-game-request-page .steam-form-textarea,
body.steam-game-request-page .steam-filter-select,
body.steam-game-request-page input,
body.steam-game-request-page select,
body.steam-game-request-page textarea {
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    border-radius: var(--wu-radius) !important;
    background: rgba(3, 8, 10, 0.62) !important;
    color: var(--wu-text) !important;
    box-shadow: none !important;
}

body.steam-game-request-page .steam-form-input:focus,
body.steam-game-request-page .steam-form-select:focus,
body.steam-game-request-page .steam-form-textarea:focus,
body.steam-game-request-page .steam-filter-select:focus {
    border-color: var(--wu-primary) !important;
    outline: 2px solid rgba(46, 232, 138, 0.16) !important;
}

body.steam-game-request-page .steam-status-badge,
body.steam-game-request-page .steam-request-status,
body.steam-game-request-page .steam-community-status {
    border: 1px solid var(--wu-border) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.07) !important;
    color: var(--wu-text) !important;
}

body.steam-game-request-page .status-approved,
body.steam-game-request-page .status-processing {
    border-color: rgba(46, 232, 138, 0.34) !important;
    color: var(--wu-primary) !important;
}

body.steam-game-request-page .status-rejected,
body.steam-game-request-page .status-user_rejected {
    border-color: rgba(255, 107, 107, 0.34) !important;
    color: var(--wu-danger) !important;
}

body.steam-game-request-page .status-pending {
    border-color: rgba(230, 181, 87, 0.38) !important;
    color: var(--wu-warning) !important;
}

body.steam-game-request-page .steam-message.success {
    border: 1px solid rgba(46, 232, 138, 0.34) !important;
    background: rgba(46, 232, 138, 0.1) !important;
    color: var(--wu-primary) !important;
}

body.steam-game-request-page .steam-message.error {
    border: 1px solid rgba(255, 107, 107, 0.34) !important;
    background: rgba(255, 107, 107, 0.1) !important;
    color: #ffd1d1 !important;
}

body.steam-game-request-page .steam-game-icon,
body.steam-game-request-page .steam-stat-icon,
body.steam-game-request-page .steam-badge-icon,
body.steam-game-request-page .steam-empty-icon,
body.steam-game-request-page .steam-vip-icon {
    border-radius: var(--wu-radius) !important;
    background: rgba(46, 232, 138, 0.12) !important;
    color: var(--wu-primary) !important;
}

/* Yutu landing alignment */
body.yutu-steamtools-template .yst-page {
    --yst-bg: #07100f;
    --yst-panel: var(--wu-surface);
    --yst-panel-solid: #0b1718;
    --yst-border: var(--wu-border);
    --yst-text: var(--wu-text);
    --yst-muted: var(--wu-muted);
    --yst-primary: var(--wu-primary);
    --yst-primary-strong: #19be72;
    --yst-gold: var(--wu-warning);
    --yst-cyan: var(--wu-primary-2);
    background:
        linear-gradient(rgba(255, 255, 255, 0.032) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.026) 1px, transparent 1px),
        linear-gradient(135deg, #06100f 0%, #08181a 52%, #111827 100%) !important;
    background-size: 40px 40px, 40px 40px, auto !important;
}

body.yutu-steamtools-template .yst-nav,
body.yutu-steamtools-template .yst-warning,
body.yutu-steamtools-template .yst-command,
body.yutu-steamtools-template .yst-update-panel,
body.yutu-steamtools-template .yst-usage-card,
body.yutu-steamtools-template .yst-final-cta,
body.yutu-steamtools-template .yst-ui-shot,
body.yutu-steamtools-template .yst-breakdown__list {
    border-color: var(--wu-border) !important;
    border-radius: var(--wu-radius) !important;
    background-color: var(--wu-surface) !important;
    box-shadow: var(--wu-shadow) !important;
}

body.yutu-steamtools-template .yst-nav {
    background: rgba(5, 13, 13, 0.9) !important;
}

body.yutu-steamtools-template .yst-hero {
    min-height: 78vh !important;
}

body.yutu-steamtools-template .yst-brand__mark,
body.yutu-steamtools-template .yst-nav__cta,
body.yutu-steamtools-template .yst-btn--primary,
body.yutu-steamtools-template .yst-copy {
    background: linear-gradient(135deg, var(--wu-primary), var(--wu-primary-2)) !important;
    color: #04110d !important;
}

body.yutu-steamtools-template .yst-btn--ghost,
body.yutu-steamtools-template .yst-btn--client {
    border-color: var(--wu-border) !important;
    background: rgba(255, 255, 255, 0.06) !important;
    color: var(--wu-text) !important;
}

@media (max-width: 960px) {
    body.steam-game-request-page .steam-right-content {
        grid-template-columns: 1fr !important;
    }

    body.westeam-guide-page .step-card {
        grid-template-columns: 1fr !important;
    }

    body.westeam-guide-page .step-number {
        margin-bottom: 4px !important;
    }
}

@media (max-width: 640px) {
    body.westeam-lua-intro-page .wslp-navbar__center,
    body.westeam-lua-intro-page .wslp-navbar__user span,
    body.yutu-steamtools-template .yst-nav__links {
        display: none !important;
    }

    body.westeam-lua-intro-page .wslp-navbar__container,
    body.yutu-steamtools-template .yst-nav {
        gap: 10px !important;
    }

    body.westeam-guide-page .steam-guide-container,
    body.steam-game-request-page .steam-request-wrapper {
        width: min(100% - 20px, 1180px) !important;
    }

    body.westeam-guide-page .steam-guide-header,
    body.steam-game-request-page .steam-page-header {
        padding: 22px !important;
    }

    body.steam-game-request-page .steam-home-button-container {
        top: 10px !important;
        left: 10px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.westeam-unified-page *,
    body.westeam-guide-page *,
    body.steam-game-request-page *,
    body.yutu-steamtools-template * {
        animation: none !important;
        transition: none !important;
        scroll-behavior: auto !important;
    }
}
