/* WeSteam-Lua / R2 私有库 - 单页 UI（更贴近 steamlua 风格，且更精致） */


:root {
    --sm-bg: #070b14;
    --sm-panel: rgba(12, 18, 33, 0.78);
    --sm-panel-2: rgba(10, 14, 28, 0.86);
    --sm-border: rgba(255, 255, 255, 0.08);
    --sm-text: rgba(245, 250, 255, 0.92);
    --sm-muted: rgba(245, 250, 255, 0.62);
    --sm-accent: #3da7ff;
    --sm-accent-2: #63eac9;
    --sm-danger: #ff6b6b;
    --sm-shadow: 0 30px 80px rgba(0, 0, 0, 0.55);
}

.steam-manifest-page--cny {
    --sm-bg: #07040e;
    --sm-panel: rgba(14, 10, 20, 0.82);
    --sm-panel-2: rgba(10, 7, 14, 0.90);
    --sm-border: rgba(255, 231, 164, 0.12);
    --sm-accent: #f59e0b;
    --sm-accent-2: #ef4444;
}

@keyframes sm-cny-firework {
    0% {
        transform: translate3d(0, 0, 0) scale(0.2);
        opacity: 0;
    }
    18% {
        opacity: 0.9;
    }
    55% {
        opacity: 0.18;
    }
    100% {
        transform: translate3d(0, 0, 0) scale(1.08);
        opacity: 0;
    }
}

@keyframes sm-cny-shimmer {
    0% {
        background-position: 0% 0%;
        filter: brightness(1);
    }
    50% {
        background-position: 100% 100%;
        filter: brightness(1.03);
    }
    100% {
        background-position: 0% 0%;
        filter: brightness(1);
    }
}

.steam-manifest-page--cny2 {
    --sm-bg: #05010a;
    --sm-panel: rgba(18, 8, 14, 0.86);
    --sm-panel-2: rgba(10, 4, 10, 0.92);
    --sm-border: rgba(255, 231, 164, 0.18);
    --sm-accent: #fbbf24;
    --sm-accent-2: #ef4444;
}

@keyframes sm-cny-sway {
    0% {
        transform: rotate(-2.2deg) translateY(0);
    }
    50% {
        transform: rotate(2.2deg) translateY(1px);
    }
    100% {
        transform: rotate(-2.2deg) translateY(0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .steam-manifest-page--cny .steam-manifest-shell::before,
    .steam-manifest-page--cny .steam-manifest-shell::after {
        animation: none !important;
    }
    .steam-manifest-page--cny2::before,
    .steam-manifest-page--cny2::after {
        animation: none !important;
    }
}

/* 标签页 */
.sm-tabs {
    display: flex;
    gap: 4px;
    padding: 16px 16px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.sm-tab {
    padding: 10px 16px;
    border-radius: 12px 12px 0 0;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-bottom: none;
    color: rgba(245, 250, 255, 0.65);
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    position: relative;
}

.sm-tab:hover {
    background: rgba(255, 255, 255, 0.06);
    color: rgba(245, 250, 255, 0.85);
}

.sm-tab--active {
    background: rgba(61, 167, 255, 0.12);
    border-color: rgba(61, 167, 255, 0.25);
    color: var(--sm-accent);
}

.sm-tab--active::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    right: 0;
    height: 2px;
    background: var(--sm-accent);
}

.sm-tab-content {
    display: none;
    padding: 16px;
}

.sm-tab-content--active {
    display: block;
}

.sm-tab-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
}

.sm-tab-title {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
}

.sm-tab-count {
    font-size: 13px;
    color: rgba(245, 250, 255, 0.55);
}

/* 用户状态面板 */
.steam-manifest-user-status {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 14px;
    margin-bottom: 20px;
    padding: 16px;
    border-radius: 22px;
    background: linear-gradient(180deg, rgba(12, 18, 33, 0.78), rgba(10, 14, 28, 0.72));
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 28px 90px rgba(0, 0, 0, 0.55);
    position: relative;
    overflow: hidden;
    backdrop-filter: blur(10px);
}

.steam-manifest-user-status::before {
    content: "";
    position: absolute;
    inset: -2px;
    background:
        radial-gradient(520px 260px at 12% 10%, rgba(61, 167, 255, 0.22), transparent 62%),
        radial-gradient(520px 260px at 78% 16%, rgba(99, 234, 201, 0.16), transparent 65%),
        radial-gradient(520px 260px at 55% 92%, rgba(140, 92, 255, 0.14), transparent 65%);
    pointer-events: none;
    opacity: 0.95;
}

.steam-manifest-user-status::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0)),
        radial-gradient(900px 420px at 15% 0%, rgba(255, 255, 255, 0.06), transparent 55%);
    mix-blend-mode: screen;
    opacity: 0.6;
    pointer-events: none;
}

.sm-user-status__loading {
    padding: 20px;
    text-align: center;
    color: var(--sm-muted);
    grid-column: 1 / -1;
    position: relative;
    z-index: 1;
}

.sm-user-status__error {
    padding: 16px;
    text-align: center;
    color: var(--sm-danger);
    grid-column: 1 / -1;
    background: rgba(255, 107, 107, 0.1);
    border: 1px solid rgba(255, 107, 107, 0.2);
    border-radius: 12px;
    position: relative;
    z-index: 1;
}

.sm-user-status__error-detail {
    display: block;
    margin-top: 8px;
    color: rgba(255, 255, 255, 0.5);
    font-size: 12px;
}

.sm-user-status__item {
    display: grid;
    grid-template-columns: 44px 1fr auto;
    align-items: center;
    gap: 14px;
    padding: 16px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.10);
    box-shadow: 0 18px 60px rgba(0, 0, 0, 0.36);
    position: relative;
    overflow: hidden;
    transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease;
    z-index: 1;
    min-height: 92px;
    backdrop-filter: blur(8px);
}

.sm-user-status__item::before {
    content: "";
    position: absolute;
    inset: -1px;
    background:
        radial-gradient(240px 160px at 62% 32%, rgba(61, 167, 255, 0.18), transparent 70%),
        radial-gradient(260px 180px at 0% 100%, rgba(255, 255, 255, 0.06), transparent 55%);
    pointer-events: none;
}

.sm-user-status__item:hover {
    transform: translateY(-2px);
    border-color: rgba(61, 167, 255, 0.28);
    background: rgba(255, 255, 255, 0.04);
}

.sm-user-status__item--trial::before {
    background:
        radial-gradient(240px 160px at 62% 32%, rgba(99, 234, 201, 0.22), transparent 70%),
        radial-gradient(260px 180px at 0% 100%, rgba(255, 255, 255, 0.06), transparent 55%);
}

.sm-user-status__item--owned::before {
    background:
        radial-gradient(240px 160px at 62% 32%, rgba(140, 92, 255, 0.24), transparent 70%),
        radial-gradient(260px 180px at 0% 100%, rgba(255, 255, 255, 0.06), transparent 55%);
}

.sm-user-status__item--admin::before {
    background:
        radial-gradient(240px 160px at 62% 32%, rgba(255, 193, 7, 0.26), transparent 70%),
        radial-gradient(260px 180px at 0% 100%, rgba(255, 255, 255, 0.06), transparent 55%);
}

.sm-user-status__item--identity {
    grid-column: 1 / -1;
    grid-template-columns: 1fr;
    background: linear-gradient(90deg, rgba(99, 234, 201, 0.14), rgba(61, 167, 255, 0.10), rgba(12, 18, 33, 0.55));
    border-color: rgba(99, 234, 201, 0.22);
    justify-items: center;
    padding: 12px 14px;
    min-height: auto;
    animation: sm-fade-in 0.4s ease;
}

.sm-user-status__item--identity .sm-user-status__value {
    font-size: 14px;
    color: #63eac9;
    display: flex;
    align-items: center;
    gap: 8px;
    text-shadow: 0 0 10px rgba(99, 234, 201, 0.3);
}

.sm-user-status__crown {
    font-size: 16px;
}

.sm-user-status__icon {
    width: 44px;
    height: 44px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    font-size: 22px;
    flex-shrink: 0;
    position: relative;
    z-index: 1;
    background: linear-gradient(135deg, rgba(61, 167, 255, 0.22), rgba(99, 234, 201, 0.10));
    border: 1px solid rgba(255, 255, 255, 0.10);
    box-shadow: 0 12px 26px rgba(0, 0, 0, 0.32);
}

.sm-user-status__content {
    flex: 1;
    position: relative;
    z-index: 1;
}

.sm-user-status__label {
    font-size: 12px;
    letter-spacing: 0.2px;
    color: var(--sm-muted);
    margin-bottom: 4px;
}

.sm-user-status__value {
    font-size: 22px;
    font-weight: 650;
    color: var(--sm-text);
    letter-spacing: 0.2px;
    font-variant-numeric: tabular-nums;
}

.sm-user-status__sub {
    margin-top: 4px;
    font-size: 12px;
    color: var(--sm-muted);
}

.sm-warn {
    color: #ffce00;
}

.sm-user-status__action {
    padding: 8px 16px;
    font-size: 13px;
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(61, 167, 255, 0.95) 0%, rgba(99, 234, 201, 0.95) 100%);
    color: rgba(6, 17, 39, 0.92);
    text-decoration: none;
    font-weight: 700;
    transition: all 0.25s ease;
    position: relative;
    z-index: 1;
    box-shadow: 0 10px 24px rgba(61, 167, 255, 0.18);
}

.sm-user-status__action:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(61, 167, 255, 0.45);
}

.sm-user-status__note {
    grid-column: 1 / -1;
    padding: 12px 14px;
    background: rgba(255, 255, 255, 0.035);
    border: 1px solid rgba(255, 255, 255, 0.10);
    border-radius: 16px;
    font-size: 13px;
    color: rgba(245, 250, 255, 0.85);
    line-height: 1.6;
    margin-top: 4px;
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.sm-user-status__note::before {
    content: "💡";
    flex: 0 0 auto;
    filter: drop-shadow(0 6px 18px rgba(0, 0, 0, 0.35));
    opacity: 0.95;
    margin-top: 1px;
}

.sm-user-status__progress {
    margin-top: 8px;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    color: var(--sm-muted);
}

.sm-user-status__progress-track {
    position: relative;
    flex: 1;
    height: 6px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    overflow: hidden;
}

.sm-user-status__progress-fill {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, #63eac9 0%, #3da7ff 100%);
    transition: width 0.25s ease-out;
    transform-origin: left center;
}

@media (max-width: 980px) {
    .steam-manifest-user-status {
        grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    }
}

@media (max-width: 560px) {
    .steam-manifest-user-status {
        grid-template-columns: 1fr;
        padding: 14px;
    }
    .sm-user-status__item {
        grid-template-columns: 44px 1fr;
        grid-auto-flow: row;
    }
    .sm-user-status__action {
        grid-column: 1 / -1;
        justify-self: start;
    }
    .sm-user-status__pass-actions {
        grid-template-columns: 1fr;
    }
}

.sm-user-status__progress-text {
    min-width: 40px;
    text-align: right;
    color: var(--sm-text);
    font-variant-numeric: tabular-nums;
}

.sm-user-status__item--pass::before {
    background:
        radial-gradient(240px 160px at 62% 32%, rgba(255, 193, 7, 0.22), transparent 70%),
        radial-gradient(260px 180px at 0% 100%, rgba(255, 255, 255, 0.06), transparent 55%);
}

.sm-user-status__item--pass-upsell {
    border-color: rgba(255, 193, 7, 0.35);
    background: rgba(255, 193, 7, 0.06);
}

.sm-user-status__pass-actions {
    margin-top: 10px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 10px;
}

.sm-pass-plan {
    width: 100%;
    padding: 10px 12px;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: rgba(255, 255, 255, 0.06);
    color: rgba(245, 250, 255, 0.92);
    text-align: left;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    transition: transform 0.15s ease, border-color 0.15s ease, background 0.15s ease;
}

.sm-pass-plan:hover {
    transform: translateY(-1px);
    border-color: rgba(61, 167, 255, 0.30);
    background: rgba(255, 255, 255, 0.08);
}

.sm-pass-plan__name {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 800;
    font-size: 13px;
    letter-spacing: 0.2px;
}

.sm-pass-plan__label {
    display: inline-flex;
    align-items: center;
}

.sm-pass-plan__tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 1px 7px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: 0.2px;
    color: rgba(255, 255, 255, 0.92);
    background: rgba(255, 107, 107, 0.18);
    border: 1px solid rgba(255, 107, 107, 0.28);
    line-height: 1.6;
}

.sm-pass-plan__tag--limited {
    color: rgba(255, 238, 200, 0.95);
    background: rgba(255, 193, 7, 0.16);
    border-color: rgba(255, 193, 7, 0.32);
    box-shadow: 0 10px 26px rgba(255, 193, 7, 0.10);
    animation: sm-limited-pulse 1.8s ease-in-out infinite;
}

@keyframes sm-limited-pulse {
    0% { box-shadow: 0 10px 26px rgba(255, 193, 7, 0.08); }
    50% { box-shadow: 0 12px 30px rgba(255, 193, 7, 0.16); }
    100% { box-shadow: 0 10px 26px rgba(255, 193, 7, 0.08); }
}

.sm-pass-plan__price {
    font-weight: 850;
    font-size: 13px;
    color: rgba(245, 250, 255, 0.92);
    font-variant-numeric: tabular-nums;
}

.sm-pass-plan__meta {
    grid-column: 1 / -1;
    font-size: 12px;
    color: rgba(245, 250, 255, 0.66);
    line-height: 1.55;
}

.sm-pass-plan--lifetime {
    border-color: rgba(61, 167, 255, 0.26);
    background: linear-gradient(135deg, rgba(61, 167, 255, 0.18), rgba(99, 234, 201, 0.10));
}

.sm-pass-plan--lifetime:hover {
    border-color: rgba(61, 167, 255, 0.40);
    background: linear-gradient(135deg, rgba(61, 167, 255, 0.22), rgba(99, 234, 201, 0.12));
}

.sm-pay-modal {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: grid;
    place-items: center;
}

.sm-pay-modal[hidden] {
    display: none;
}

.sm-pay-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.72);
    backdrop-filter: blur(4px);
}

.sm-pay-modal__panel {
    position: relative;
    width: min(720px, calc(100vw - 24px));
    max-height: min(80vh, 740px);
    overflow: auto;
    border-radius: 18px;
    background: rgba(12, 18, 33, 0.96);
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: 0 28px 90px rgba(0, 0, 0, 0.58);
    padding: 18px 18px 16px;
}

.sm-pay-modal__close {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 36px;
    height: 36px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.06);
    color: rgba(255, 255, 255, 0.88);
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
}

.sm-pay-modal__close:hover {
    background: rgba(255, 255, 255, 0.10);
}

.sm-pay-modal__title {
    font-size: 18px;
    font-weight: 750;
    color: rgba(255, 255, 255, 0.94);
    padding-right: 46px;
}

.sm-pay-modal__body {
    margin-top: 12px;
}

.sm-pay-modal__hint {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.72);
    margin: 10px 0;
}

.sm-pay-modal__quote {
    padding: 12px 14px;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.05);
    color: rgba(255, 255, 255, 0.86);
    font-size: 13px;
    line-height: 1.7;
}

.sm-pay-modal__quote + .sm-pay-modal__quote {
    margin-top: 12px;
}

.sm-pay-modal__quote--loyalty {
    border-color: rgba(99, 234, 201, 0.24);
    background: linear-gradient(135deg, rgba(99, 234, 201, 0.10), rgba(61, 167, 255, 0.06));
}

.sm-pay-modal__quote--loyalty .sm-pay-modal__quote-title {
    color: rgba(99, 234, 201, 0.95);
}

.sm-pay-modal__quote-title {
    font-weight: 800;
    letter-spacing: 0.2px;
    margin-bottom: 4px;
    color: rgba(255, 255, 255, 0.92);
}

.sm-pay-modal__quote-line strong {
    font-weight: 850;
    font-variant-numeric: tabular-nums;
    color: rgba(255, 255, 255, 0.94);
}

.sm-pay-modal__input {
    width: 100%;
    max-width: 520px;
    padding: 10px 12px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: rgba(255, 255, 255, 0.06);
    color: rgba(245, 250, 255, 0.92);
    outline: none;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.sm-pay-modal__input::placeholder {
    color: rgba(245, 250, 255, 0.48);
}

.sm-pay-modal__input:focus {
    border-color: rgba(61, 167, 255, 0.45);
    box-shadow: 0 0 0 3px rgba(61, 167, 255, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.sm-pay-modal__tip {
    margin-top: 14px;
    padding: 12px 14px;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.05);
    color: rgba(255, 255, 255, 0.82);
    font-size: 13px;
    line-height: 1.75;
    letter-spacing: 0.2px;
    text-rendering: optimizeLegibility;
}

.sm-pay-modal__tip--limited {
    border-color: rgba(255, 193, 7, 0.26);
    background: linear-gradient(135deg, rgba(255, 193, 7, 0.10), rgba(255, 255, 255, 0.04));
}

.sm-pay-modal__tip-line + .sm-pay-modal__tip-line {
    margin-top: 4px;
}

.sm-pay-modal__tip strong {
    font-weight: 800;
    color: rgba(255, 255, 255, 0.94);
    font-variant-numeric: tabular-nums;
}

.sm-pay-modal__tips {
    margin-top: 14px;
    padding: 12px 14px;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.04);
    color: rgba(255, 255, 255, 0.82);
}

.sm-pay-modal__tips-title {
    font-size: 12px;
    font-weight: 850;
    letter-spacing: 0.3px;
    color: rgba(255, 255, 255, 0.90);
    margin-bottom: 8px;
}

.sm-pay-modal__tips-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 6px;
}

.sm-pay-modal__tips-item {
    position: relative;
    padding-left: 14px;
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.82);
}

.sm-pay-modal__tips-item::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.72em;
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.40);
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.06);
}

.sm-pay-modal__tips-item--limited::before {
    background: rgba(255, 193, 7, 0.90);
    box-shadow: 0 0 0 2px rgba(255, 193, 7, 0.16);
}

.sm-pay-modal__tips-item--notice::before {
    background: rgba(61, 167, 255, 0.92);
    box-shadow: 0 0 0 2px rgba(61, 167, 255, 0.14);
}

.sm-pay-modal__tips-item--bonus::before {
    background: rgba(99, 234, 201, 0.92);
    box-shadow: 0 0 0 2px rgba(99, 234, 201, 0.14);
}

.sm-pay-modal__loyalty-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
}

.sm-pay-modal__loyalty-price {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.80);
    white-space: nowrap;
}

.sm-pay-modal__loyalty-price strong {
    font-weight: 900;
    color: rgba(255, 255, 255, 0.96);
}

.sm-pay-modal__loyalty-copy {
    margin-top: 6px;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.86);
    line-height: 1.7;
}

.sm-pay-modal__loyalty-scope {
    margin-top: 4px;
    font-size: 12px;
    color: rgba(245, 250, 255, 0.62);
    line-height: 1.6;
}

.sm-pay-modal__loyalty-rarity {
    margin-top: 8px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.sm-pay-modal__loyalty-actions {
    margin-top: 10px;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.sm-pay-modal__loyalty-pending {
    margin-top: 8px;
    font-size: 12px;
    line-height: 1.6;
}

.sm-text-warning {
    color: rgba(255, 193, 7, 0.92);
    font-weight: 650;
}

.sm-pay-modal__loading {
    padding: 12px 0;
    color: rgba(255, 255, 255, 0.75);
}

.sm-pay-modal__error {
    padding: 12px;
    border-radius: 14px;
    border: 1px solid rgba(255, 107, 107, 0.24);
    background: rgba(255, 107, 107, 0.10);
    color: rgba(255, 255, 255, 0.88);
}

.sm-pay-modal__paylist .pay-box {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 8px 0;
}

.sm-pay-modal__paylist .pay-item {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.05);
    cursor: pointer;
    user-select: none;
}

.sm-pay-modal__paylist .pay-item:hover {
    border-color: rgba(61, 167, 255, 0.35);
    background: rgba(255, 255, 255, 0.07);
}

.sm-pay-modal__paylist .pay-tag {
    display: none;
}

.sm-pay-modal__result {
    margin-top: 12px;
}

.sm-trending__badge--resource-error {
    background: rgba(255, 107, 107, 0.16);
    border-color: rgba(255, 107, 107, 0.34);
    color: rgba(255, 255, 255, 0.92);
}

.steam-manifest-page {
    min-height: 100vh;
    padding: 56px 18px 80px;
    color: var(--sm-text);
    font-family: "Segoe UI", "Microsoft YaHei", system-ui, -apple-system, sans-serif;
    background:
        radial-gradient(1200px 800px at 15% 10%, rgba(61, 167, 255, 0.22), rgba(7, 11, 20, 0) 55%),
        radial-gradient(900px 600px at 90% 25%, rgba(99, 234, 201, 0.18), rgba(7, 11, 20, 0) 55%),
        radial-gradient(700px 450px at 60% 90%, rgba(140, 92, 255, 0.14), rgba(7, 11, 20, 0) 55%),
        linear-gradient(180deg, #050713, var(--sm-bg));
}

.steam-manifest-page--cny {
    background:
        radial-gradient(980px 700px at 14% 0%, rgba(239, 68, 68, 0.22), rgba(7, 4, 14, 0) 58%),
        radial-gradient(980px 700px at 90% 10%, rgba(245, 158, 11, 0.18), rgba(7, 4, 14, 0) 60%),
        radial-gradient(780px 520px at 65% 92%, rgba(253, 230, 138, 0.10), rgba(7, 4, 14, 0) 58%),
        repeating-linear-gradient(
            135deg,
            rgba(253, 230, 138, 0.045) 0px,
            rgba(253, 230, 138, 0.045) 1px,
            transparent 1px,
            transparent 16px
        ),
        linear-gradient(180deg, #05020a, var(--sm-bg));
}

.steam-manifest-page--cny2 {
    position: relative;
}

.steam-manifest-page--cny2::before,
.steam-manifest-page--cny2::after {
    content: "";
    position: absolute;
    width: 520px;
    height: 520px;
    border-radius: 999px;
    pointer-events: none;
    z-index: 0;
    mix-blend-mode: screen;
    background:
        radial-gradient(circle at 50% 50%, rgba(255,255,255,0.55) 0 2px, transparent 3px),
        conic-gradient(from 0deg,
            rgba(245, 158, 11, 0.0),
            rgba(245, 158, 11, 0.50),
            rgba(239, 68, 68, 0.0),
            rgba(253, 230, 138, 0.45),
            rgba(245, 158, 11, 0.0)
        );
    filter: blur(0.2px);
    opacity: 0;
    animation: sm-cny-firework 5.6s ease-out infinite;
}

.steam-manifest-page--cny2::before {
    top: 76px;
    left: -180px;
    animation-delay: -1.2s;
}

.steam-manifest-page--cny2::after {
    top: 220px;
    right: -200px;
    width: 580px;
    height: 580px;
    animation-duration: 6.4s;
    animation-delay: -3.1s;
}

.steam-manifest-page--cny .steam-manifest-shell > * {
    position: relative;
    z-index: 1;
}

.steam-manifest-page--cny .steam-manifest-shell::before,
.steam-manifest-page--cny .steam-manifest-shell::after {
    content: "";
    position: absolute;
    top: -22px;
    width: 60px;
    height: 72px;
    border-radius: 18px 18px 24px 24px;
    background:
        radial-gradient(42px 42px at 30% 22%, rgba(255, 255, 255, 0.48), transparent 62%),
        repeating-linear-gradient(
            90deg,
            rgba(255, 231, 164, 0.22) 0px,
            rgba(255, 231, 164, 0.22) 2px,
            rgba(185, 28, 28, 0.0) 2px,
            rgba(185, 28, 28, 0.0) 12px
        ),
        linear-gradient(180deg, #ef4444, #991b1b);
    border: 1px solid rgba(245, 158, 11, 0.28);
    box-shadow:
        0 18px 52px rgba(0, 0, 0, 0.55),
        0 16px 44px rgba(185, 28, 28, 0.18);
    opacity: 0.92;
    pointer-events: none;
    z-index: 0;
    transform-origin: 50% 0%;
    animation: sm-cny-sway 3.8s ease-in-out infinite;
}

.steam-manifest-page--cny .steam-manifest-shell::before {
    left: -18px;
}

.steam-manifest-page--cny .steam-manifest-shell::after {
    right: -18px;
    animation-duration: 4.2s;
    animation-delay: -0.6s;
}

.steam-manifest-page--cny .steam-manifest-top,
.steam-manifest-page--cny2 .steam-manifest-top {
    position: relative;
    overflow: visible;
}

.steam-manifest-page--cny .steam-manifest-top::before,
.steam-manifest-page--cny .steam-manifest-top::after,
.steam-manifest-page--cny2 .steam-manifest-top::before,
.steam-manifest-page--cny2 .steam-manifest-top::after {
    position: absolute;
    top: calc(50% - 18px);
    transform: translateY(-50%);
    writing-mode: vertical-rl;
    font-size: 16px;
    font-weight: 800;
    color: rgba(255, 231, 164, 0.96);
    background: linear-gradient(180deg, #ef4444, #991b1b);
    padding: 16px 10px;
    border-radius: 8px;
    box-shadow:
        0 18px 44px rgba(0, 0, 0, 0.45),
        0 0 0 2px rgba(245, 158, 11, 0.35) inset;
    letter-spacing: 6px;
    z-index: 2;
    pointer-events: none;
}

.steam-manifest-page--cny .steam-manifest-top::before,
.steam-manifest-page--cny2 .steam-manifest-top::before {
    content: "龙腾盛世千家乐";
    left: 0;
    transform: translate(calc(-100% - 14px), -50%);
    text-align: right;
    padding-left: 16px;
    padding-right: 6px;
}

.steam-manifest-page--cny .steam-manifest-top::after,
.steam-manifest-page--cny2 .steam-manifest-top::after {
    content: "凤舞新春万户春";
    right: 0;
    transform: translate(calc(100% + 14px), -50%);
    text-align: left;
    padding-left: 6px;
    padding-right: 16px;
}

.steam-manifest-page--cny2 .steam-manifest-top::before,
.steam-manifest-page--cny2 .steam-manifest-top::after {
    background: linear-gradient(180deg, #ef4444, #7f1d1d);
    border: 1px solid rgba(245, 158, 11, 0.4);
}

.steam-manifest-page--cny .sm-cny-banner,
.steam-manifest-page--cny2 .sm-cny-banner {
    position: absolute;
    left: 50%;
    top: -36px;
    transform: translateX(-50%);
    padding: 10px 22px;
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(239, 68, 68, 0.95), rgba(153, 27, 27, 0.95));
    border: 1px solid rgba(245, 158, 11, 0.40);
    color: rgba(255, 231, 164, 0.98);
    font-size: 14px;
    font-weight: 900;
    letter-spacing: 6px;
    line-height: 1;
    z-index: 3;
    pointer-events: none;
    box-shadow:
        0 18px 44px rgba(0, 0, 0, 0.45),
        0 0 0 2px rgba(245, 158, 11, 0.22) inset;
    text-shadow: 0 10px 24px rgba(239, 68, 68, 0.15);
}

.steam-manifest-page--cny .sm-cny-banner::before,
.steam-manifest-page--cny .sm-cny-banner::after,
.steam-manifest-page--cny2 .sm-cny-banner::before,
.steam-manifest-page--cny2 .sm-cny-banner::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 12px;
    height: 12px;
    transform: translateY(-50%) rotate(45deg);
    border-radius: 3px;
    background: rgba(255, 231, 164, 0.92);
    box-shadow:
        0 10px 22px rgba(0, 0, 0, 0.30),
        0 0 0 2px rgba(239, 68, 68, 0.35) inset;
    opacity: 0.95;
}

.steam-manifest-page--cny .sm-cny-banner::before,
.steam-manifest-page--cny2 .sm-cny-banner::before {
    left: -8px;
}

.steam-manifest-page--cny .sm-cny-banner::after,
.steam-manifest-page--cny2 .sm-cny-banner::after {
    right: -8px;
}

@media (max-width: 980px) {
    .steam-manifest-page--cny .steam-manifest-top::before,
    .steam-manifest-page--cny .steam-manifest-top::after,
    .steam-manifest-page--cny2 .steam-manifest-top::before,
    .steam-manifest-page--cny2 .steam-manifest-top::after {
        content: none;
    }

    .steam-manifest-page--cny .sm-cny-banner,
    .steam-manifest-page--cny2 .sm-cny-banner {
        display: none;
    }
}

.steam-manifest-page--cny2 .steam-manifest-shell::before,
.steam-manifest-page--cny2 .steam-manifest-shell::after {
    width: 72px;
    height: 88px;
    border-radius: 18px 18px 26px 26px;
    border-color: rgba(245, 158, 11, 0.32);
    background:
        radial-gradient(42px 42px at 30% 22%, rgba(255, 255, 255, 0.52), transparent 62%),
        radial-gradient(140px 90px at 40% 88%, rgba(253, 230, 138, 0.12), transparent 60%),
        repeating-linear-gradient(
            90deg,
            rgba(255, 231, 164, 0.24) 0px,
            rgba(255, 231, 164, 0.24) 2px,
            rgba(185, 28, 28, 0.0) 2px,
            rgba(185, 28, 28, 0.0) 12px
        ),
        linear-gradient(180deg, #ef4444, #7f1d1d);
    box-shadow:
        0 18px 52px rgba(0, 0, 0, 0.55),
        0 20px 56px rgba(245, 158, 11, 0.10);
}

.steam-manifest-page--cny2 .steam-manifest-shell::before,
.steam-manifest-page--cny2 .steam-manifest-shell::after {
    animation: sm-cny-sway 3.2s ease-in-out infinite;
}

.steam-manifest-page--cny2 .steam-manifest-shell::after {
    animation-duration: 3.6s;
}

.steam-manifest-page--cny .steam-manifest-brand::before {
    background:
        radial-gradient(420px 240px at 18% 20%, rgba(239, 68, 68, 0.22), transparent 65%),
        radial-gradient(420px 240px at 72% 10%, rgba(245, 158, 11, 0.16), transparent 65%);
}

.steam-manifest-page--cny .steam-manifest-brand::after {
    background:
        linear-gradient(135deg, rgba(245, 158, 11, 0.10), rgba(239, 68, 68, 0.10)),
        radial-gradient(640px 320px at 15% 0%, rgba(255, 255, 255, 0.08), transparent 60%);
}

.steam-manifest-page--cny .steam-manifest-logo {
    color: rgba(90, 9, 9, 0.92);
    background: linear-gradient(135deg, rgba(253, 230, 138, 0.95), rgba(245, 158, 11, 0.92));
    box-shadow:
        0 18px 44px rgba(245, 158, 11, 0.16),
        inset 0 1px 0 rgba(255, 255, 255, 0.40);
}

.steam-manifest-page--cny .steam-manifest-eyebrow {
    color: rgba(253, 230, 138, 0.78);
}

.steam-manifest-page--cny .steam-manifest-title {
    text-shadow: 0 12px 28px rgba(239, 68, 68, 0.12);
}

.steam-manifest-page--cny .sm-pill__value {
    color: rgba(253, 230, 138, 0.92);
}

.steam-manifest-page--cny .sm-pill--cny {
    border-color: rgba(245, 158, 11, 0.26);
    background: rgba(153, 27, 27, 0.22);
    color: rgba(255, 231, 164, 0.92);
}

.steam-manifest-page--cny .sm-pill--cny .sm-pill__dot {
    background: rgba(245, 158, 11, 0.95);
    box-shadow: 0 0 0 4px rgba(245, 158, 11, 0.14);
}

.steam-manifest-page--cny #steam-manifest-appid:focus {
    border-color: rgba(245, 158, 11, 0.65);
    box-shadow: 0 0 0 4px rgba(245, 158, 11, 0.18);
}

.steam-manifest-page--cny2 .steam-manifest-card-panel {
    position: relative;
}

.steam-manifest-page--cny2 .steam-manifest-card-panel::before {
    content: "福";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -54%) rotate(-12deg);
    font-size: clamp(220px, 22vw, 360px);
    font-weight: 900;
    letter-spacing: 0.05em;
    color: rgba(255, 231, 164, 0.06);
    text-shadow: 0 40px 120px rgba(245, 158, 11, 0.08);
    pointer-events: none;
    z-index: 0;
    filter: blur(0.15px);
}

.steam-manifest-page--cny2 .steam-manifest-card-panel::after {
    content: "";
    position: absolute;
    inset: -1px;
    border-radius: 22px;
    pointer-events: none;
    z-index: 0;
    background:
        linear-gradient(135deg, rgba(245, 158, 11, 0.0), rgba(245, 158, 11, 0.22), rgba(239, 68, 68, 0.0)),
        linear-gradient(45deg, rgba(239, 68, 68, 0.0), rgba(253, 230, 138, 0.18), rgba(239, 68, 68, 0.0));
    opacity: 0.7;
    mix-blend-mode: screen;
    animation: sm-cny-shimmer 6.8s ease-in-out infinite;
    background-size: 220% 220%;
}

.steam-manifest-page--cny2 .steam-manifest-card-panel > * {
    position: relative;
    z-index: 1;
}

.steam-manifest-page--cny2 #steam-manifest-appid:focus {
    border-color: rgba(253, 230, 138, 0.78);
    box-shadow: 0 0 0 4px rgba(253, 230, 138, 0.16);
}

.steam-manifest-shell {
    max-width: 1100px;
    margin: 0 auto;
    position: relative;
}

.sm-page-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin: 0 0 14px;
    flex-wrap: wrap;
    position: sticky;
    top: 14px;
    z-index: 50;
    padding: 2px 0;
}

.sm-page-action {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.10);
    background: rgba(255, 255, 255, 0.04);
    color: rgba(245, 250, 255, 0.90);
    text-decoration: none;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.2px;
    transition: transform 0.12s ease, filter 0.12s ease, border-color 0.12s ease;
    backdrop-filter: blur(10px);
}

.sm-page-action__icon {
    width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: rgba(0, 0, 0, 0.20);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: rgba(245, 250, 255, 0.78);
    font-size: 12px;
    flex: 0 0 auto;
}

button.sm-page-action {
    cursor: pointer;
}

.sm-page-action__badge {
    min-width: 18px;
    height: 18px;
    padding: 0 6px;
    border-radius: 999px;
    background: rgba(255, 77, 77, 0.88);
    color: rgba(6, 17, 39, 0.92);
    font-size: 11px;
    font-weight: 900;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.sm-page-action--primary {
    border: none;
    background: linear-gradient(135deg, var(--sm-accent), var(--sm-accent-2));
    color: #061127;
    box-shadow: 0 10px 24px rgba(61, 167, 255, 0.18);
}

.sm-page-action--primary .sm-page-action__icon {
    background: rgba(6, 17, 39, 0.20);
    border-color: rgba(255, 255, 255, 0.12);
    color: rgba(6, 17, 39, 0.90);
}

.sm-page-action:hover {
    border-color: rgba(61, 167, 255, 0.22);
    filter: brightness(1.05);
}

.sm-page-action:active {
    transform: translateY(1px);
}

@media (max-width: 720px) {
    .sm-page-actions {
        justify-content: center;
    }
}

.steam-manifest-top {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 18px;
    align-items: stretch;
    margin-bottom: 18px;
}

.steam-manifest-top--single {
    grid-template-columns: 1fr;
    justify-items: center;
}

.steam-manifest-top--single .steam-manifest-brand {
    width: min(920px, 100%);
}

.steam-manifest-brand {
    padding: 22px 22px 18px;
    border-radius: 22px;
    background: linear-gradient(180deg, rgba(12, 18, 33, 0.82), rgba(10, 14, 28, 0.72));
    border: 1px solid var(--sm-border);
    box-shadow: var(--sm-shadow);
    position: relative;
    overflow: hidden;
}

.steam-manifest-brand::before {
    content: "";
    position: absolute;
    inset: -2px;
    background:
        radial-gradient(400px 220px at 20% 25%, rgba(61, 167, 255, 0.22), transparent 65%),
        radial-gradient(380px 220px at 70% 20%, rgba(99, 234, 201, 0.14), transparent 65%);
    pointer-events: none;
}

.steam-manifest-brand::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(135deg, rgba(61, 167, 255, 0.10), rgba(140, 92, 255, 0.06)),
        radial-gradient(600px 300px at 15% 0%, rgba(255, 255, 255, 0.08), transparent 60%);
    mix-blend-mode: screen;
    opacity: 0.55;
    pointer-events: none;
}

.steam-manifest-brand__top {
    position: relative;
    display: flex;
    align-items: center;
    gap: 14px;
}

.steam-manifest-logo {
    width: 52px;
    height: 52px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    font-weight: 900;
    letter-spacing: 0.2px;
    color: rgba(6, 17, 39, 0.92);
    background: linear-gradient(135deg, rgba(61, 167, 255, 0.95), rgba(99, 234, 201, 0.88));
    box-shadow:
        0 16px 32px rgba(61, 167, 255, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.35);
    border: 1px solid rgba(255, 255, 255, 0.18);
    flex: 0 0 auto;
}

.steam-manifest-brand__copy {
    min-width: 0;
}

.steam-manifest-eyebrow {
    position: relative;
    margin: 0 0 6px;
    font-size: 12px;
    letter-spacing: 1.7px;
    text-transform: uppercase;
    color: rgba(125, 212, 255, 0.85);
}

.steam-manifest-title {
    position: relative;
    margin: 0;
    font-size: 34px;
    line-height: 1.1;
    letter-spacing: 0.2px;
}

.steam-manifest-subtitle {
    position: relative;
    margin: 8px 0 0;
    color: var(--sm-muted);
    font-size: 14px;
    line-height: 1.7;
}

.steam-manifest-brand__meta {
    position: relative;
    margin-top: 14px;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.sm-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.10);
    background: rgba(0, 0, 0, 0.18);
    color: rgba(245, 250, 255, 0.78);
    font-size: 12px;
    backdrop-filter: blur(10px);
}

.sm-pill__dot {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: rgba(99, 234, 201, 0.95);
    box-shadow: 0 0 0 4px rgba(99, 234, 201, 0.12);
}

.sm-pill--r3 .sm-pill__dot {
    background: rgba(61, 167, 255, 0.95);
    box-shadow: 0 0 0 4px rgba(61, 167, 255, 0.12);
}

.sm-pill__value {
    color: rgba(170, 225, 255, 0.95);
    font-weight: 900;
    margin: 0 2px;
}

.steam-manifest-cta {
    border-radius: 22px;
    padding: 22px 22px 18px;
    background: rgba(10, 14, 28, 0.86);
    border: 1px solid rgba(255, 255, 255, 0.09);
    box-shadow: var(--sm-shadow);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.steam-manifest-cta h2 {
    margin: 0 0 8px;
    font-size: 18px;
}

.steam-manifest-cta p {
    margin: 0 0 14px;
    color: var(--sm-muted);
    line-height: 1.7;
    font-size: 13px;
}

.steam-manifest-card-panel {
    border-radius: 22px;
    background: var(--sm-panel);
    border: 1px solid var(--sm-border);
    box-shadow: var(--sm-shadow);
    overflow: hidden;
}

.steam-manifest-form {
    padding: 22px;
    background: rgba(7, 10, 20, 0.45);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.steam-manifest-label {
    display: block;
    margin: 0 0 10px;
    font-size: 13px;
    color: rgba(245, 250, 255, 0.8);
}

.steam-manifest-input-row {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 12px;
}

.steam-manifest-input-wrap {
    position: relative;
}

#steam-manifest-appid {
    width: 100%;
    border-radius: 14px;
    padding: 14px 14px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: rgba(5, 8, 18, 0.78);
    color: #fff;
    outline: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

#steam-manifest-appid::placeholder {
    color: rgba(245, 250, 255, 0.42);
}

#steam-manifest-appid:focus {
    border-color: rgba(61, 167, 255, 0.6);
    box-shadow: 0 0 0 4px rgba(61, 167, 255, 0.16);
}

#steam-manifest-appid:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

.steam-manifest-hint {
    margin: 10px 0 0;
    color: rgba(245, 250, 255, 0.55);
    font-size: 12px;
    line-height: 1.6;
}

.steam-manifest-btn {
    border-radius: 14px;
    padding: 12px 18px;
    border: none;
    background: linear-gradient(135deg, var(--sm-accent), var(--sm-accent-2));
    color: #061127;
    cursor: pointer;
    font-weight: 700;
    letter-spacing: 0.2px;
    transition: transform 0.12s ease, filter 0.12s ease;
    white-space: nowrap;
}

.steam-manifest-btn:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

.steam-manifest-btn:hover {
    filter: brightness(1.05);
}

.steam-manifest-btn:active {
    transform: translateY(1px);
}

/* 搜索建议下拉面板 */
.steam-manifest-suggestions {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    margin-top: 6px;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(8, 12, 26, 0.98);
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(12px);
    z-index: 100;
    max-height: 320px;
    overflow-y: auto;
}

.sm-suggestion-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
    cursor: pointer;
    transition: all 0.15s ease;
}

.sm-suggestion-item:last-child {
    border-bottom: none;
}

.sm-suggestion-item:hover,
.sm-suggestion-item--active {
    background: rgba(61, 167, 255, 0.12);
}

.sm-suggestion__icon {
    width: 48px;
    height: 48px;
    flex-shrink: 0;
    border-radius: 10px;
    overflow: hidden;
    background: rgba(0, 0, 0, 0.3);
}

.sm-suggestion__icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sm-suggestion__content {
    flex: 1;
    min-width: 0;
}

.sm-suggestion__name {
    font-size: 14px;
    font-weight: 600;
    color: rgba(245, 250, 255, 0.92);
    margin-bottom: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sm-suggestion__appid {
    font-size: 12px;
    color: rgba(245, 250, 255, 0.55);
}

/* 热门游戏 */
.steam-manifest-trending {
    padding: 18px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

/* 快速访问 */

.sm-feedback-form {
    margin-top: 18px;
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(12, 18, 33, 0.86), rgba(10, 14, 28, 0.78));
    border: 1px solid rgba(255, 255, 255, 0.09);
    padding: 18px;
    box-shadow: 0 18px 60px rgba(0, 0, 0, 0.35);
}

.sm-feedback-form__title {
    margin: 0 0 6px;
    font-size: 18px;
    font-weight: 800;
    letter-spacing: 0.2px;
}

.sm-feedback-form__desc {
    margin: 0 0 14px;
    color: var(--sm-muted);
    font-size: 13px;
    line-height: 1.6;
}

.sm-feedback-form__field {
    margin-bottom: 12px;
}

.sm-feedback-form__label {
    display: block;
    margin: 0 0 6px;
    font-size: 12px;
    color: rgba(245, 250, 255, 0.78);
}

.sm-feedback-form__select,
.sm-feedback-form__textarea,
.sm-feedback-form__file {
    width: 100%;
    border-radius: 12px;
    padding: 12px 12px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: rgba(5, 8, 18, 0.72);
    color: rgba(245, 250, 255, 0.92);
    outline: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.sm-feedback-form__file {
    padding: 10px 10px;
    cursor: pointer;
}

.sm-feedback-form__file::-webkit-file-upload-button {
    border: none;
    background: linear-gradient(135deg, var(--sm-accent), var(--sm-accent-2));
    color: #061127;
    padding: 8px 12px;
    border-radius: 10px;
    font-weight: 800;
    margin-right: 10px;
    cursor: pointer;
}

.sm-feedback-form__file::file-selector-button {
    border: none;
    background: linear-gradient(135deg, var(--sm-accent), var(--sm-accent-2));
    color: #061127;
    padding: 8px 12px;
    border-radius: 10px;
    font-weight: 800;
    margin-right: 10px;
    cursor: pointer;
}

.sm-feedback-form__file::-webkit-file-upload-button:hover,
.sm-feedback-form__file::file-selector-button:hover {
    filter: brightness(1.05);
}

.sm-feedback-form__select:focus,
.sm-feedback-form__textarea:focus,
.sm-feedback-form__file:focus {
    border-color: rgba(61, 167, 255, 0.55);
    box-shadow: 0 0 0 4px rgba(61, 167, 255, 0.14);
}

.sm-feedback-form__textarea {
    min-height: 120px;
    resize: vertical;
    line-height: 1.6;
}

.sm-feedback-form__hint {
    margin: 8px 0 0;
    font-size: 12px;
    color: rgba(245, 250, 255, 0.52);
}

.sm-feedback-form__actions {
    display: flex;
    gap: 10px;
    justify-content: flex-end;
    padding-top: 6px;
}

.sm-feedback-upload {
    margin-top: 10px;
    padding: 12px;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(5, 8, 18, 0.55);
}

.sm-feedback-upload__meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 12px;
    color: rgba(245, 250, 255, 0.62);
    margin-bottom: 10px;
}

.sm-feedback-upload__clear {
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.06);
    color: rgba(245, 250, 255, 0.82);
    padding: 6px 10px;
    border-radius: 10px;
    cursor: pointer;
    font-size: 12px;
}

.sm-feedback-upload__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(92px, 1fr));
    gap: 10px;
}

.sm-feedback-upload__grid--empty {
    grid-template-columns: 1fr;
}

.sm-feedback-upload__empty {
    font-size: 12px;
    color: rgba(245, 250, 255, 0.55);
    padding: 8px 2px;
}

.sm-feedback-upload__item {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.10);
    background: rgba(0, 0, 0, 0.22);
    aspect-ratio: 1 / 1;
}

.sm-feedback-upload__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.sm-feedback-upload__remove {
    position: absolute;
    left: 6px;
    bottom: 6px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: rgba(0, 0, 0, 0.45);
    color: rgba(245, 250, 255, 0.90);
    padding: 6px 8px;
    border-radius: 10px;
    cursor: pointer;
    font-size: 12px;
}

.sm-feedback-card--highlight {
    box-shadow: 0 0 0 2px rgba(61, 167, 255, 0.32), 0 18px 60px rgba(61, 167, 255, 0.12);
    border-color: rgba(61, 167, 255, 0.22);
}

.sm-feedback-history {
    display: grid;
    gap: 12px;
}

.sm-empty--inline {
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(8, 12, 26, 0.55);
    padding: 18px 14px;
}

.sm-feedback-history__top {
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 8px;
}

.sm-feedback-history__filters {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
    min-width: 0;
    flex: 1;
}

.sm-feedback-filter__search {
    width: min(380px, 100%);
    border-radius: 12px;
    padding: 10px 12px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: rgba(5, 8, 18, 0.72);
    color: rgba(245, 250, 255, 0.92);
    outline: none;
}

.sm-feedback-filter__search:focus {
    border-color: rgba(61, 167, 255, 0.55);
    box-shadow: 0 0 0 4px rgba(61, 167, 255, 0.14);
}

.sm-feedback-filter__select {
    border-radius: 12px;
    padding: 10px 10px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: rgba(5, 8, 18, 0.72);
    color: rgba(245, 250, 255, 0.92);
    outline: none;
}

.sm-feedback-filter__select:focus {
    border-color: rgba(61, 167, 255, 0.55);
    box-shadow: 0 0 0 4px rgba(61, 167, 255, 0.14);
}

.sm-feedback-history__stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin: 10px 0 6px;
}

.sm-feedback-stat {
    border-radius: 14px;
    background: rgba(8, 12, 26, 0.55);
    border: 1px solid rgba(255, 255, 255, 0.08);
    padding: 10px 12px;
    display: flex;
    justify-content: space-between;
    align-items: baseline;
}

.sm-feedback-stat--total {
    border-color: rgba(61, 167, 255, 0.18);
    background: rgba(61, 167, 255, 0.08);
}

.sm-feedback-stat__label {
    font-size: 12px;
    color: rgba(245, 250, 255, 0.58);
}

.sm-feedback-stat__value {
    font-size: 16px;
    font-weight: 800;
    color: rgba(245, 250, 255, 0.92);
}

@media (max-width: 720px) {
    .sm-feedback-history__stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .sm-feedback-filter__search {
        width: 100%;
    }
}

.sm-feedback-history__hint {
    font-size: 12px;
    color: rgba(245, 250, 255, 0.55);
}

.sm-feedback-history__pager {
    display: flex;
    gap: 10px;
    align-items: center;
}

.sm-feedback-history__page {
    font-size: 12px;
    color: rgba(245, 250, 255, 0.62);
}

.sm-feedback-list {
    display: grid;
    gap: 10px;
}

.sm-feedback-card {
    border-radius: 16px;
    background: rgba(8, 12, 26, 0.62);
    border: 1px solid rgba(255, 255, 255, 0.08);
    overflow: hidden;
}

.sm-feedback-card__summary {
    list-style: none;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 10px 12px;
    padding: 14px 14px;
    cursor: pointer;
    align-items: center;
}

.sm-feedback-card__summary::-webkit-details-marker {
    display: none;
}

.sm-feedback-card__title {
    font-size: 14px;
    font-weight: 700;
    color: rgba(245, 250, 255, 0.92);
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sm-feedback-card__badges {
    display: inline-flex;
    gap: 6px;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
}

.sm-feedback-card__time {
    grid-column: 1 / -1;
    font-size: 12px;
    color: rgba(245, 250, 255, 0.48);
}

.sm-feedback-card[open] .sm-feedback-card__summary {
    background: rgba(61, 167, 255, 0.08);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.sm-feedback-card__body {
    padding: 14px;
    display: grid;
    gap: 12px;
}

.sm-feedback-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 12px;
    line-height: 1;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.06);
    color: rgba(245, 250, 255, 0.82);
    white-space: nowrap;
}

.sm-feedback-badge--type {
    border-color: rgba(61, 167, 255, 0.25);
    background: rgba(61, 167, 255, 0.10);
    color: rgba(170, 225, 255, 0.95);
}

.sm-feedback-badge--ok {
    border-color: rgba(99, 234, 201, 0.25);
    background: rgba(99, 234, 201, 0.10);
    color: rgba(180, 255, 238, 0.95);
}

.sm-feedback-badge--info {
    border-color: rgba(140, 92, 255, 0.25);
    background: rgba(140, 92, 255, 0.10);
    color: rgba(210, 190, 255, 0.95);
}

.sm-feedback-badge--warn {
    border-color: rgba(255, 193, 7, 0.25);
    background: rgba(255, 193, 7, 0.10);
    color: rgba(255, 235, 170, 0.95);
}

.sm-feedback-block__title {
    font-size: 12px;
    color: rgba(245, 250, 255, 0.60);
    margin-bottom: 6px;
}

.sm-feedback-block__content {
    padding: 12px 12px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(5, 8, 18, 0.62);
    color: rgba(245, 250, 255, 0.88);
    white-space: pre-wrap;
    line-height: 1.65;
}

.sm-feedback-block__content--thread {
    padding: 0;
    border: none;
    background: transparent;
    white-space: normal;
}

.sm-feedback-reply {
    padding: 12px 12px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(99, 234, 201, 0.06);
}

.sm-feedback-reply--empty {
    background: rgba(255, 255, 255, 0.04);
    color: rgba(245, 250, 255, 0.55);
}

.sm-feedback-reply__title {
    font-size: 12px;
    color: rgba(245, 250, 255, 0.70);
    margin-bottom: 6px;
    font-weight: 700;
}

.sm-feedback-reply__content {
    color: rgba(245, 250, 255, 0.88);
    white-space: pre-wrap;
    line-height: 1.65;
}

.sm-feedback-reply__meta {
    margin-top: 8px;
    font-size: 12px;
    color: rgba(245, 250, 255, 0.52);
}

.sm-feedback-attachments {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
    gap: 10px;
}

.sm-feedback-attachments--empty {
    color: rgba(245, 250, 255, 0.55);
    font-size: 12px;
}

.sm-feedback-thumb {
    display: block;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.10);
    background: rgba(0, 0, 0, 0.22);
    aspect-ratio: 1 / 1;
}

.sm-feedback-thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.sm-feedback-followup {
    padding: 12px 12px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(61, 167, 255, 0.05);
    display: grid;
    gap: 8px;
}

.sm-feedback-followup__title {
    font-size: 12px;
    font-weight: 800;
    color: rgba(245, 250, 255, 0.78);
}

.sm-feedback-followup__hint {
    font-size: 12px;
    color: rgba(245, 250, 255, 0.55);
    line-height: 1.5;
}

.sm-feedback-followup__textarea {
    width: 100%;
    border-radius: 12px;
    padding: 10px 10px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: rgba(5, 8, 18, 0.62);
    color: rgba(245, 250, 255, 0.92);
    outline: none;
    resize: vertical;
    line-height: 1.6;
}

.sm-feedback-followup__textarea:focus {
    border-color: rgba(61, 167, 255, 0.55);
    box-shadow: 0 0 0 4px rgba(61, 167, 255, 0.14);
}

.sm-feedback-followup__actions {
    display: flex;
    justify-content: flex-end;
}

.sm-feedback-thread {
    display: grid;
    gap: 8px;
}

.sm-feedback-msg {
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(5, 8, 18, 0.46);
    padding: 10px 12px;
}

.sm-feedback-msg--initial {
    background: rgba(8, 12, 26, 0.56);
}

.sm-feedback-msg--followup {
    background: rgba(61, 167, 255, 0.06);
    border-color: rgba(61, 167, 255, 0.14);
}

.sm-feedback-msg__meta {
    font-size: 12px;
    color: rgba(245, 250, 255, 0.55);
    margin-bottom: 6px;
    letter-spacing: 0.2px;
}

.sm-feedback-msg__text {
    white-space: pre-wrap;
    word-break: break-word;
    color: rgba(245, 250, 255, 0.90);
    line-height: 1.75;
    font-size: 13px;
}

.sm-modal-open {
    overflow: hidden;
}

.sm-img-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;
}

.sm-img-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.72);
    backdrop-filter: blur(10px);
}

.sm-img-modal__panel {
    position: absolute;
    inset: 32px;
    border-radius: 18px;
    background: rgba(8, 12, 26, 0.86);
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: 0 30px 90px rgba(0, 0, 0, 0.65);
    display: grid;
    grid-template-rows: 1fr auto;
    overflow: hidden;
}

.sm-img-modal__stage {
    position: relative;
    display: grid;
    place-items: center;
    padding: 16px;
}

.sm-img-modal__img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.10);
    background: rgba(0, 0, 0, 0.25);
}

.sm-img-modal__meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    border-top: 1px solid rgba(255, 255, 255, 0.10);
    color: rgba(245, 250, 255, 0.70);
    font-size: 12px;
}

.sm-img-modal__link {
    color: rgba(170, 225, 255, 0.95);
    text-decoration: none;
}

.sm-img-modal__link:hover {
    text-decoration: underline;
}

.sm-img-modal__count {
    color: rgba(245, 250, 255, 0.62);
}

.sm-img-modal__close {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 2;
    width: 36px;
    height: 36px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(0, 0, 0, 0.22);
    color: rgba(245, 250, 255, 0.88);
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
}

.sm-img-modal__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    width: 44px;
    height: 64px;
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(0, 0, 0, 0.22);
    color: rgba(245, 250, 255, 0.88);
    font-size: 30px;
    cursor: pointer;
}

.sm-img-modal__nav--prev {
    left: 12px;
}

.sm-img-modal__nav--next {
    right: 12px;
}

@media (max-width: 720px) {
    .sm-img-modal__panel {
        inset: 14px;
    }
    .sm-img-modal__nav {
        width: 40px;
        height: 56px;
    }
}

.sm-quick-access {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 14px;
    padding: 14px 18px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    background: rgba(7, 10, 20, 0.25);
}

.sm-quick-access__section {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.sm-quick-access__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.sm-quick-access__title {
    margin: 0;
    font-size: 14px;
    font-weight: 700;
    color: rgba(245, 250, 255, 0.85);
}

.sm-quick-access__view-all {
    padding: 4px 10px;
    border-radius: 8px;
    border: 1px solid rgba(61, 167, 255, 0.2);
    background: rgba(61, 167, 255, 0.1);
    color: var(--sm-accent);
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

.sm-quick-access__view-all:hover {
    background: rgba(61, 167, 255, 0.2);
    border-color: rgba(61, 167, 255, 0.4);
}

.sm-quick-access__list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 8px;
}

.sm-empty__mini {
    grid-column: 1 / -1;
    padding: 12px;
    border-radius: 10px;
    background: rgba(8, 12, 26, 0.35);
    border: 1px solid rgba(255, 255, 255, 0.06);
    color: var(--sm-muted);
    font-size: 12px;
    text-align: center;
}

/* 游戏分类筛选 */
.sm-filters {
    padding: 14px 18px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    background: rgba(7, 10, 20, 0.35);
}

.sm-filters__label {
    font-size: 12px;
    color: rgba(245, 250, 255, 0.55);
    margin-bottom: 10px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.sm-filters__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.sm-filter-tag {
    padding: 8px 14px;
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.04);
    color: rgba(245, 250, 255, 0.75);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

.sm-filter-tag:hover {
    border-color: rgba(61, 167, 255, 0.3);
    background: rgba(61, 167, 255, 0.12);
    color: var(--sm-accent);
    transform: translateY(-1px);
}

.sm-filter-tag--active {
    border-color: rgba(61, 167, 255, 0.5);
    background: rgba(61, 167, 255, 0.2);
    color: var(--sm-accent);
}

.sm-filter-tag--active:hover {
    background: rgba(61, 167, 255, 0.28);
}

.sm-filter-tag__label {
    display: inline-block;
}

.sm-filter-tag__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    padding: 0 6px;
    margin-left: 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    background: rgba(6, 17, 39, 0.85);
    color: rgba(245, 250, 255, 0.78);
    border: 1px solid rgba(255, 255, 255, 0.12);
}

.sm-filter-tag--active .sm-filter-tag__count {
    background: rgba(10, 80, 160, 0.95);
    border-color: rgba(120, 200, 255, 0.45);
}

.sm-filter-tag--disabled {
    opacity: 0.35;
    cursor: not-allowed;
}

.sm-filter-tag--disabled:hover {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.12);
    color: rgba(245, 250, 255, 0.75);
    transform: none;
}

/* 热门游戏 */
.steam-manifest-trending {
    padding: 18px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.sm-trending-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 14px;
}

.sm-trending-title {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
}

.sm-trending-count {
    font-size: 13px;
    color: rgba(245, 250, 255, 0.55);
}

.sm-trending-notice {
    margin-top: 4px;
    margin-bottom: 12px;
    font-size: 12px;
    font-weight: 400;
    color: rgba(255, 255, 255, 0.4);
}

.sm-trending-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 12px;
}

.sm-trending-list--site {
    display: block;
}

.steam-manifest-trending--steam {
    margin-top: 10px;
}

.steam-manifest-trending--steam .sm-trending-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    column-gap: 14px;
    row-gap: 8px;
    align-items: center;
}

.steam-manifest-trending--steam .sm-trending-title {
    grid-column: 1;
    grid-row: 1;
    font-size: 18px;
    font-weight: 800;
    letter-spacing: 0.2px;
    line-height: 1.2;
}

.steam-manifest-trending--steam .sm-trending-notice {
    grid-column: 1;
    grid-row: 2;
    margin: 0;
    padding: 10px 12px;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.10);
    background:
        radial-gradient(620px 220px at 15% 0%, rgba(61, 167, 255, 0.14), transparent 60%),
        radial-gradient(520px 220px at 78% 20%, rgba(99, 234, 201, 0.10), transparent 62%),
        rgba(255, 255, 255, 0.04);
    color: rgba(245, 250, 255, 0.72);
    line-height: 1.45;
    max-width: 78ch;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    box-shadow: 0 14px 40px rgba(0, 0, 0, 0.22);
    backdrop-filter: blur(10px);
}

.steam-manifest-trending--steam .sm-trending-notice__icon {
    width: 26px;
    height: 26px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(61, 167, 255, 0.14);
    border: 1px solid rgba(61, 167, 255, 0.22);
    color: rgba(210, 245, 255, 0.92);
    flex: 0 0 auto;
}

.steam-manifest-trending--steam .sm-trending-notice__body {
    min-width: 0;
    display: grid;
    gap: 2px;
}

.steam-manifest-trending--steam .sm-trending-notice__title {
    font-weight: 800;
    letter-spacing: 0.2px;
    color: rgba(245, 250, 255, 0.86);
}

.steam-manifest-trending--steam .sm-trending-notice__text {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    color: rgba(245, 250, 255, 0.70);
}

.steam-manifest-trending--steam .sm-trending-notice__pill {
    display: inline-flex;
    align-items: center;
    height: 20px;
    padding: 0 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.2px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(6, 17, 39, 0.25);
    color: rgba(245, 250, 255, 0.86);
}

.steam-manifest-trending--steam .sm-trending-notice__muted {
    color: rgba(245, 250, 255, 0.55);
}

.steam-manifest-trending--steam .sm-trending-notice__cta {
    margin-left: 6px;
}

.steam-manifest-trending--steam .sm-trending__hint {
    margin-top: 8px;
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
}

.steam-manifest-trending--steam .sm-trending__hint-text {
    font-size: 12px;
    color: rgba(245, 250, 255, 0.62);
}

.steam-manifest-trending--steam .sm-steam-mode {
    grid-column: 2;
    grid-row: 1 / span 2;
    justify-self: end;
    align-self: center;
    display: inline-flex;
    gap: 10px;
    align-items: center;
}

.steam-manifest-trending--steam .sm-steam-mode__group {
    display: inline-flex;
    gap: 4px;
    padding: 4px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.10);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.18);
    backdrop-filter: blur(10px);
}

.steam-manifest-trending--steam .sm-steam-mode .sm-btn {
    border: 1px solid transparent;
    background: transparent;
    color: rgba(245, 250, 255, 0.78);
    padding: 7px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.2px;
    line-height: 1;
    white-space: nowrap;
    transition: transform 0.12s ease, filter 0.12s ease, background 0.12s ease, border-color 0.12s ease;
}

.steam-manifest-trending--steam .sm-steam-mode__group[data-group="cc"] .sm-btn {
    padding: 7px 10px;
    min-width: 44px;
    justify-content: center;
}

.steam-manifest-trending--steam .sm-steam-mode .sm-btn:hover {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(61, 167, 255, 0.25);
}

.steam-manifest-trending--steam .sm-steam-mode .sm-btn.is-active {
    border: none;
    background: linear-gradient(135deg, var(--sm-accent), var(--sm-accent-2));
    color: #061127;
    box-shadow: 0 8px 22px rgba(61, 167, 255, 0.20);
}

@media (max-width: 680px) {
    .steam-manifest-trending--steam .sm-trending-header {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto auto auto;
    }

    .steam-manifest-trending--steam .sm-steam-mode {
        grid-column: 1;
        grid-row: 3;
        justify-self: start;
        flex-wrap: wrap;
        gap: 8px;
    }
}

.steam-manifest-trending--steam .sm-trending-list {
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 14px;
}

.sm-steam-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 20px;
    padding-top: 10px;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.sm-steam-pagination .sm-pagination-text {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.5);
    font-variant-numeric: tabular-nums;
    min-width: 56px;
    text-align: center;
}

.sm-steam-pagination .sm-btn--sm {
    padding: 6px 12px;
    font-size: 12px;
}

.sm-steam-pagination .sm-btn.is-disabled,
.sm-steam-pagination .sm-btn:disabled {
    opacity: 0.3;
    cursor: not-allowed;
    filter: none;
}

.sm-steam-trending__state {
    text-align: center;
    padding: 20px;
    color: rgba(255, 255, 255, 0.35);
}

.sm-steam-trending__state--muted {
    color: rgba(255, 255, 255, 0.3);
}

.sm-steam-trending__retry-hint {
    margin-top: 8px;
    color: rgba(255, 255, 255, 0.45);
    font-size: 12px;
}

.sm-steam-trending__state-actions {
    margin-top: 10px;
}

.steam-manifest-trending--steam .sm-trending-item {
    border-radius: 18px;
    padding: 0;
    overflow: hidden;
    background: linear-gradient(180deg, rgba(10, 14, 28, 0.8), rgba(8, 12, 26, 0.7));
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.35);
}

.steam-manifest-trending--steam .sm-trending-item:hover {
    border-color: rgba(61, 167, 255, 0.4);
    background: linear-gradient(180deg, rgba(16, 22, 40, 0.95), rgba(8, 12, 26, 0.9));
}

.sm-trending-skeleton {
    grid-column: 1 / -1;
    padding: 18px;
    border-radius: 14px;
    background: rgba(8, 12, 26, 0.45);
    color: var(--sm-muted);
    text-align: center;
}

.sm-trending-list--site .sm-trending-skeleton {
    grid-column: auto;
}

.sm-trending-item {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 12px;
    border-radius: 14px;
    background: rgba(8, 12, 26, 0.45);
    border: 1px solid rgba(255, 255, 255, 0.08);
    cursor: pointer;
    transition: all 0.2s ease;
    animation: sm-item-fade-in 0.3s ease backwards;
}

.sm-trending-item:hover {
    border-color: rgba(61, 167, 255, 0.3);
    background: rgba(8, 12, 26, 0.6);
    transform: translateY(-2px);
}

.sm-trending__cover {
    position: relative;
    width: 100%;
    aspect-ratio: 16/9;
    border-radius: 12px;
    overflow: hidden;
    background: rgba(0, 0, 0, 0.3);
}

.sm-trending__cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.sm-trending-item:hover .sm-trending__cover img {
    transform: scale(1.05);
}

.sm-trending__badge {
    position: absolute;
    top: 8px;
    right: 8px;
    padding: 4px 8px;
    border-radius: 6px;
    background: rgba(99, 234, 201, 0.9);
    color: #061127;
    font-size: 10px;
    font-weight: 700;
    backdrop-filter: blur(4px);
}

.sm-trending__badge--free {
    background: #63eac9;
    color: #061127;
}

.sm-trending__badge--discount {
    background: #8c5cff;
    color: #ffffff;
}

.sm-trending__badge--resource {
    left: 8px;
    right: auto;
    top: 8px;
    z-index: 2;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.28);
}

.sm-trending__badge--resource-ok {
    background: linear-gradient(135deg, rgba(99, 234, 201, 0.96), rgba(23, 201, 150, 0.96));
    color: #061127;
    border: 1px solid rgba(255, 255, 255, 0.18);
}

.sm-trending__badge--resource-sync {
    background: linear-gradient(135deg, rgba(61, 167, 255, 0.96), rgba(33, 114, 255, 0.96));
    color: #061127;
    border: 1px solid rgba(255, 255, 255, 0.18);
}

.sm-trending__badge--resource-miss {
    background: linear-gradient(135deg, rgba(255, 71, 87, 0.96), rgba(255, 33, 85, 0.96));
    color: rgba(255, 255, 255, 0.98);
    border: 1px solid rgba(255, 255, 255, 0.22);
    text-shadow: 0 1px 0 rgba(0, 0, 0, 0.18);
    box-shadow: 0 10px 22px rgba(255, 33, 85, 0.18), 0 8px 18px rgba(0, 0, 0, 0.28);
}

.sm-trending__badge--resource-pending {
    background: rgba(255, 255, 255, 0.16);
    color: rgba(255, 255, 255, 0.9);
    border: 1px dashed rgba(255, 255, 255, 0.26);
    text-shadow: 0 1px 0 rgba(0, 0, 0, 0.18);
}

.sm-trending__badge--resource-lock {
    background: linear-gradient(135deg, rgba(255, 193, 7, 0.95), rgba(255, 146, 0, 0.95));
    color: rgba(6, 17, 39, 0.95);
    border: 1px solid rgba(255, 255, 255, 0.18);
}

.sm-trending__price {
    color: rgba(245, 250, 255, 0.7);
}

.sm-trending__actions {
    position: absolute;
    bottom: 8px;
    right: 8px;
    display: flex;
    gap: 6px;
    align-items: center;
    z-index: 2;
}

.sm-trending__action-btn {
    height: 26px;
    padding: 0 10px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: rgba(6, 17, 39, 0.58);
    color: rgba(245, 250, 255, 0.92);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.2px;
    cursor: pointer;
    transition: filter 0.12s ease, transform 0.12s ease, border-color 0.12s ease, background 0.12s ease;
    backdrop-filter: blur(10px);
    user-select: none;
}

.sm-trending__action-btn:hover {
    filter: brightness(1.05);
    border-color: rgba(61, 167, 255, 0.32);
    background: rgba(61, 167, 255, 0.12);
}

.sm-trending__action-btn:active {
    transform: translateY(1px);
}

.sm-trending__action-btn.is-favorited {
    border-color: rgba(99, 234, 201, 0.35);
    background: rgba(99, 234, 201, 0.14);
    color: rgba(210, 255, 246, 0.96);
}

.sm-trending__action-btn.is-favorited:hover {
    border-color: rgba(99, 234, 201, 0.46);
    background: rgba(99, 234, 201, 0.18);
}

.sm-rank-card__actions {
    position: absolute;
    right: 10px;
    bottom: 10px;
    display: flex;
    gap: 6px;
    align-items: center;
    z-index: 2;
}

.sm-rank-row__actions {
    display: flex;
    align-items: center;
    gap: 6px;
}

.sm-btn.is-favorited {
    border-color: rgba(99, 234, 201, 0.35);
    background: rgba(99, 234, 201, 0.12);
    color: rgba(210, 255, 246, 0.96);
}

.sm-btn.is-favorited:hover {
    filter: brightness(1.05);
}

.sm-trending__info {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.sm-trending__name {
    font-size: 13px;
    font-weight: 600;
    color: rgba(245, 250, 255, 0.92);
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.sm-trending__meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 11px;
    color: rgba(245, 250, 255, 0.55);
}

.sm-trending__appid {
    background: rgba(255, 255, 255, 0.08);
    padding: 3px 7px;
    border-radius: 4px;
    font-family: ui-monospace, monospace;
}

.sm-trending__score {
    color: var(--sm-accent);
    font-weight: 600;
}

.sm-rank-grid {
    display: grid;
    gap: 14px;
}

.sm-rank-top {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.sm-rank-list {
    display: grid;
    gap: 10px;
}

.sm-trending-list--site .sm-trending-item {
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(10, 14, 28, 0.58), rgba(8, 12, 26, 0.42));
    border: 1px solid rgba(255, 255, 255, 0.09);
    box-shadow: 0 12px 34px rgba(0, 0, 0, 0.22);
}

.sm-trending-list--site .sm-trending-item:hover {
    border-color: rgba(61, 167, 255, 0.28);
    filter: brightness(1.03);
}

.sm-rank-card {
    padding: 0;
    overflow: hidden;
    gap: 0;
}

.sm-rank-card__cover {
    position: relative;
    width: 100%;
    aspect-ratio: 16/10;
    overflow: hidden;
    background: rgba(0, 0, 0, 0.26);
}

.sm-rank-card__cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.02);
    transition: transform 0.28s ease;
}

.sm-trending-list--site .sm-rank-card:hover .sm-rank-card__cover img {
    transform: scale(1.06);
}

.sm-rank-card__overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(5, 7, 19, 0.18), rgba(5, 7, 19, 0.78) 90%),
        radial-gradient(600px 200px at 10% 0%, rgba(61, 167, 255, 0.24), transparent 55%);
    pointer-events: none;
}

.sm-rank-card__rank {
    position: absolute;
    left: 12px;
    top: 12px;
    display: inline-flex;
    flex-direction: column;
    gap: 2px;
    padding: 8px 10px;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: rgba(0, 0, 0, 0.28);
    backdrop-filter: blur(10px);
}

.sm-rank-card__rank-no {
    font-size: 12px;
    font-weight: 900;
    color: rgba(245, 250, 255, 0.92);
    letter-spacing: 0.2px;
}

.sm-rank-card__rank-label {
    font-size: 11px;
    color: rgba(245, 250, 255, 0.62);
}

.sm-rank-card--top-1 .sm-rank-card__rank {
    border-color: rgba(255, 193, 7, 0.32);
    background: rgba(255, 193, 7, 0.10);
}

.sm-rank-card--top-2 .sm-rank-card__rank {
    border-color: rgba(61, 167, 255, 0.30);
    background: rgba(61, 167, 255, 0.10);
}

.sm-rank-card--top-3 .sm-rank-card__rank {
    border-color: rgba(140, 92, 255, 0.30);
    background: rgba(140, 92, 255, 0.10);
}

.sm-rank-card__body {
    padding: 12px 12px 12px;
    display: grid;
    gap: 10px;
}

.sm-rank-card__name {
    font-size: 14px;
    font-weight: 900;
    color: rgba(245, 250, 255, 0.94);
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.sm-rank-card__stats {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.sm-rank-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 8px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.10);
    background: rgba(255, 255, 255, 0.04);
    color: rgba(245, 250, 255, 0.78);
    font-size: 12px;
    font-weight: 700;
}

.sm-rank-chip--dl {
    border-color: rgba(99, 234, 201, 0.20);
    background: rgba(99, 234, 201, 0.10);
    color: rgba(210, 255, 246, 0.92);
}

.sm-rank-chip--muted {
    color: rgba(245, 250, 255, 0.62);
}

.sm-rank-card__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.sm-rank-meta {
    font-size: 11px;
    color: rgba(245, 250, 255, 0.58);
    font-family: ui-monospace, monospace;
}

.sm-rank-link {
    font-size: 12px;
    font-weight: 800;
    color: rgba(170, 225, 255, 0.95);
    text-decoration: none;
    padding: 6px 10px;
    border-radius: 999px;
    border: 1px solid rgba(61, 167, 255, 0.18);
    background: rgba(61, 167, 255, 0.08);
    white-space: nowrap;
}

.sm-rank-link:hover {
    filter: brightness(1.06);
}

.sm-rank-link--icon {
    padding: 6px 10px;
}

.sm-rank-row {
    display: grid;
    grid-template-columns: 48px 88px 1fr auto;
    gap: 12px;
    align-items: center;
    padding: 10px 12px;
}

.sm-rank-row__rank {
    font-variant-numeric: tabular-nums;
    font-size: 12px;
    font-weight: 900;
    color: rgba(245, 250, 255, 0.72);
}

.sm-rank-row__thumb {
    width: 88px;
    aspect-ratio: 16/9;
    border-radius: 12px;
    overflow: hidden;
    background: rgba(0, 0, 0, 0.24);
    border: 1px solid rgba(255, 255, 255, 0.06);
}

.sm-rank-row__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sm-rank-row__main {
    min-width: 0;
    display: grid;
    gap: 4px;
}

.sm-rank-row__name {
    font-size: 13px;
    font-weight: 800;
    color: rgba(245, 250, 255, 0.92);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sm-rank-row__sub {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
}

.sm-rank-sep {
    color: rgba(245, 250, 255, 0.28);
}

.sm-rank-skeleton {
    display: grid;
    gap: 14px;
}

.sm-rank-skeleton__top {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.sm-rank-skeleton__list {
    display: grid;
    gap: 10px;
}

.sm-rank-skeleton-card,
.sm-rank-skeleton-row {
    border-radius: 18px;
    border: 1px solid rgba(255, 255, 255, 0.09);
    background: rgba(8, 12, 26, 0.45);
    overflow: hidden;
    position: relative;
}

.sm-rank-skeleton-card::before,
.sm-rank-skeleton-row::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(255,255,255,0.02), rgba(255,255,255,0.08), rgba(255,255,255,0.02));
    transform: translateX(-60%);
    animation: sm-shimmer 1.2s ease-in-out infinite;
    pointer-events: none;
    opacity: 0.55;
}

.sm-rank-skeleton-card {
    padding: 12px;
    display: grid;
    gap: 10px;
}

.sm-rank-skeleton-card__cover {
    width: 100%;
    aspect-ratio: 16/10;
    border-radius: 14px;
    background: rgba(0, 0, 0, 0.22);
    border: 1px solid rgba(255, 255, 255, 0.06);
}

.sm-rank-skeleton-card__line {
    height: 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.06);
    width: 58%;
}

.sm-rank-skeleton-card__line--wide {
    width: 78%;
}

.sm-rank-skeleton-row {
    padding: 10px 12px;
    display: grid;
    grid-template-columns: 48px 88px 1fr 40px;
    gap: 12px;
    align-items: center;
}

.sm-rank-skeleton-row__rank {
    height: 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.06);
    width: 34px;
}

.sm-rank-skeleton-row__thumb {
    width: 88px;
    aspect-ratio: 16/9;
    border-radius: 12px;
    background: rgba(0, 0, 0, 0.22);
    border: 1px solid rgba(255, 255, 255, 0.06);
}

.sm-rank-skeleton-row__meta {
    height: 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.06);
    width: 32px;
    justify-self: end;
}

@keyframes sm-shimmer {
    0% { transform: translateX(-60%); }
    100% { transform: translateX(60%); }
}

@media (max-width: 980px) {
    .sm-rank-top {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .sm-rank-skeleton__top {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .sm-rank-top {
        grid-template-columns: 1fr;
    }
    .sm-rank-skeleton__top {
        grid-template-columns: 1fr;
    }
    .sm-rank-row {
        grid-template-columns: 44px 86px 1fr auto;
    }
}

.steam-manifest-result {
    padding: 18px;
}

.sm-empty,
.sm-loading,
.sm-error {
    border-radius: 18px;
    padding: 18px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(8, 12, 26, 0.55);
    animation: sm-fade-in 0.3s ease;
}

.sm-game {
    animation: sm-fade-in 0.4s ease;
}

@keyframes sm-fade-in {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.sm-empty__title {
    font-size: 16px;
    font-weight: 700;
}

.sm-empty__desc {
    margin-top: 6px;
    color: var(--sm-muted);
    font-size: 13px;
    line-height: 1.6;
}

.sm-error {
    border-color: rgba(255, 107, 107, 0.35);
    color: rgba(255, 230, 230, 0.92);
    display: flex;
    flex-direction: column;
    gap: 14px;
    align-items: center;
    text-align: center;
}

.sm-error__icon {
    font-size: 48px;
    margin-bottom: 4px;
}

.sm-error__text {
    font-size: 16px;
    font-weight: 600;
    line-height: 1.6;
    margin-bottom: 4px;
}

.sm-error__detail {
    font-size: 13px;
    color: rgba(255, 230, 230, 0.75);
    line-height: 1.6;
    max-width: 400px;
}

.sm-error__recharge {
    margin-top: 4px;
    font-size: 14px;
    padding: 10px 20px;
    border-radius: 10px;
    background: linear-gradient(135deg, #3da7ff 0%, #2b8cd9 100%);
    color: white;
    text-decoration: none;
    font-weight: 500;
    box-shadow: 0 4px 12px rgba(61, 167, 255, 0.35);
    transition: all 0.25s ease;
}

.sm-error__recharge:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(61, 167, 255, 0.45);
}

.sm-loading {
    position: relative;
    overflow: hidden;
}

/* Toasts */
.sm-toast-wrap {
    position: fixed;
    right: 18px;
    top: 18px;
    z-index: 99999;
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-width: min(420px, calc(100vw - 36px));
}

.sm-toast {
    padding: 12px 14px;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(10, 14, 28, 0.88);
    color: rgba(245, 250, 255, 0.92);
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.4);
    backdrop-filter: blur(8px);
    transform: translateY(-6px);
    opacity: 0;
    animation: sm-toast-in 180ms ease forwards;
    font-size: 13px;
    line-height: 1.5;
}

.sm-toast--success {
    border-color: rgba(99, 234, 201, 0.28);
}

.sm-toast--error {
    border-color: rgba(255, 107, 107, 0.35);
}

.sm-toast--info {
    border-color: rgba(61, 167, 255, 0.28);
}

.sm-toast.is-leaving {
    animation: sm-toast-out 200ms ease forwards;
}

.sm-toast__content {
    margin-bottom: 6px;
    line-height: 1.4;
}

.sm-toast__hint {
    font-size: 12px;
    opacity: 0.8;
}

.sm-toast__progress {
    height: 4px;
    border-radius: 2px;
    background: rgba(255, 255, 255, 0.1);
    overflow: hidden;
}

.sm-toast__progress-bar {
    height: 100%;
    background: linear-gradient(90deg, #3da7ff, #63eac9);
    border-radius: 2px;
    transition: width 0.3s ease;
}

@keyframes sm-toast-in {
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

@keyframes sm-toast-out {
    to {
        transform: translateY(-6px);
        opacity: 0;
    }
}


.sm-loading__bar {
    height: 6px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    overflow: hidden;
    position: relative;
}

.sm-loading__bar::after {
    content: "";
    position: absolute;
    inset: 0;
    width: 40%;
    background: linear-gradient(90deg, rgba(61, 167, 255, 0.1), rgba(61, 167, 255, 0.9), rgba(99, 234, 201, 0.9));
    border-radius: 999px;
    animation: sm-slide 1.1s infinite ease-in-out;
}

.sm-loading__text {
    margin-top: 10px;
    color: var(--sm-muted);
    font-size: 13px;
}

@keyframes sm-slide {
    0% {
        transform: translateX(-40%);
    }
    100% {
        transform: translateX(260%);
    }
}

.sm-game {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(8, 12, 26, 0.55);
    overflow: hidden;
}

.sm-game--feedback-open .sm-game__media {
    max-height: 260px;
}

.sm-game--feedback-open .sm-game__body {
    padding-top: 10px;
}

.sm-game--feedback-open .sm-extra,
.sm-game--feedback-open .sm-dlc-list {
    display: none;
}

/* Skeleton */
.sm-game--skeleton .sm-game__media,
.sm-game--skeleton .sm-game__body {
    position: relative;
}

.sm-skeleton {
    border-radius: 14px;
    background: linear-gradient(
        90deg,
        rgba(255, 255, 255, 0.06) 0%,
        rgba(255, 255, 255, 0.12) 50%,
        rgba(255, 255, 255, 0.06) 100%
    );
    background-size: 200% 100%;
    animation: sm-shimmer 1.5s ease-in-out infinite;
}

.sm-skeleton--cover {
    width: 100%;
    height: 100%;
    min-height: 220px;
    border-radius: 0;
}

.sm-skeleton--title {
    height: 22px;
    width: min(70%, 420px);
}

.sm-skeleton--badge {
    height: 26px;
    width: 110px;
    border-radius: 999px;
}

.sm-skeleton--p {
    margin-top: 10px;
    height: 14px;
    width: 95%;
    opacity: 0.9;
}

.sm-skeleton--kv {
    height: 38px;
    width: 100%;
}

@keyframes sm-shimmer {
    0% {
        background-position: 0% 0;
    }
    100% {
        background-position: 240% 0;
    }
}


.sm-game__media {
    background: rgba(0, 0, 0, 0.15);
    position: relative;
    overflow: hidden;
    height: clamp(180px, 26vw, 260px);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
    align-self: start;
}

.sm-game__media::before {
    content: '';
    position: absolute;
    inset: -28px;
    background-image: inherit;
    background-size: cover;
    background-position: center;
    filter: blur(18px) saturate(1.12);
    transform: scale(1.08);
    opacity: 0.6;
}

.sm-game__media::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(8, 12, 26, 0.15) 0%, rgba(8, 12, 26, 0.68) 100%);
}

.sm-game--skeleton .sm-game__media::before,
.sm-game--skeleton .sm-game__media::after {
    display: none;
}

.sm-game__cover {
    width: min(860px, 100%);
    height: 100%;
    object-fit: contain;
    display: block;
    filter: saturate(1.05) contrast(1.02);
    position: relative;
    z-index: 1;
    border-radius: 14px;
    box-shadow: 0 18px 55px rgba(0, 0, 0, 0.35);
}

.sm-game__body {
    padding: 18px 18px 16px;
    width: 100%;
    max-width: 980px;
    margin: 0 auto;
}

.sm-game__back-wrap {
    margin-bottom: 14px;
}

.sm-game__title {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.sm-game__title h2 {
    margin: 0;
    font-size: 22px;
    line-height: 1.25;
}

.sm-game__badge {
    margin-top: 2px;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 12px;
    color: rgba(245, 250, 255, 0.75);
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.08);
    white-space: nowrap;
    cursor: pointer;
    user-select: none;
    transition: filter 0.12s ease, transform 0.12s ease;
}

.sm-game__badge:hover {
    filter: brightness(1.06);
}

.sm-game__badge:active {
    transform: translateY(1px);
}

.sm-game__badge--denuvo {
    color: #2b0000;
    background: linear-gradient(135deg, rgba(255, 64, 64, 0.95), rgba(255, 190, 64, 0.95));
    border: 1px solid rgba(255, 120, 64, 0.85);
    box-shadow: 0 10px 22px rgba(255, 72, 72, 0.22);
    font-weight: 900;
    letter-spacing: 0.2px;
}

.sm-game__badge--denuvo:hover {
    filter: brightness(1.03) saturate(1.08);
}

.sm-game__badge--denuvo:active {
    transform: translateY(1px) scale(0.99);
}


.sm-game__desc {
    margin: 10px 0 0;
    color: rgba(245, 250, 255, 0.75);
    line-height: 1.7;
    font-size: 13px;
}

.sm-game__meta {
    margin-top: 14px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.sm-meta {
    padding: 10px 12px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.06);
}

.sm-meta__k {
    font-size: 12px;
    color: rgba(245, 250, 255, 0.58);
}

.sm-meta__v {
    margin-top: 4px;
    font-size: 13px;
    color: rgba(245, 250, 255, 0.92);
    line-height: 1.5;
    word-break: break-word;
}

.sm-game__actions {
    margin-top: 14px;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.sm-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.05);
    color: rgba(245, 250, 255, 0.92);
    text-decoration: none;
    font-weight: 700;
    letter-spacing: 0.2px;
    transition: transform 0.12s ease, filter 0.12s ease;
}

.sm-btn:hover {
    filter: brightness(1.05);
}

.sm-btn:active {
    transform: translateY(1px);
}

.sm-btn--sm {
    padding: 8px 12px;
    border-radius: 12px;
    font-size: 12px;
}

.sm-btn__icon {
    width: 16px;
    height: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

.sm-btn__icon svg {
    width: 16px;
    height: 16px;
    display: block;
}

.sm-btn--primary {
    border: none;
    background: linear-gradient(135deg, var(--sm-accent), var(--sm-accent-2));
    color: #061127;
}

.sm-btn--ghost {
    background: rgba(255, 255, 255, 0.04);
}

.sm-btn.is-following {
    border-color: rgba(61, 167, 255, 0.28);
    background: rgba(61, 167, 255, 0.10);
}

.sm-btn.is-following:hover {
    border-color: rgba(255, 77, 109, 0.28);
    background: rgba(255, 77, 109, 0.10);
}

.sm-btn--feedback {
    border: none;
    background: linear-gradient(135deg, #ff4d6d, #ffb703);
    color: #061127;
    box-shadow: 0 8px 22px rgba(255, 77, 109, 0.20);
}

.sm-btn--feedback:hover {
    filter: brightness(1.05);
}

.sm-btn--request {
    border: none;
    background: linear-gradient(135deg, #ff7a18, #ffce00);
    color: #061127;
    box-shadow: 0 6px 18px rgba(255, 122, 24, 0.25);
}

.sm-btn--back {
    border: none;
    background: linear-gradient(135deg, var(--sm-accent), var(--sm-accent-2));
    color: #061127;
    box-shadow: 0 6px 18px rgba(61, 167, 255, 0.25);
}

.sm-game__note {
    margin-top: 12px;
    color: rgba(245, 250, 255, 0.55);
    font-size: 12px;
    line-height: 1.6;
    padding: 10px 12px;
    border-radius: 14px;
    border: 1px dashed rgba(255, 255, 255, 0.14);
    background: rgba(0, 0, 0, 0.15);
}

.sm-lock-note {
    display: grid;
    gap: 6px;
    padding: 12px 12px;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.10);
    background: linear-gradient(180deg, rgba(10, 14, 28, 0.62), rgba(8, 12, 26, 0.42));
}

.sm-lock-note--warning {
    border-color: rgba(255, 183, 3, 0.22);
    background: linear-gradient(180deg, rgba(255, 183, 3, 0.10), rgba(8, 12, 26, 0.42));
}

.sm-lock-note--danger {
    border-color: rgba(255, 77, 109, 0.22);
    background: linear-gradient(180deg, rgba(255, 77, 109, 0.12), rgba(8, 12, 26, 0.42));
}

.sm-lock-note__title {
    font-size: 13px;
    font-weight: 800;
    color: rgba(245, 250, 255, 0.92);
}

.sm-lock-note__desc {
    font-size: 13px;
    color: rgba(245, 250, 255, 0.78);
    line-height: 1.6;
}

.sm-lock-note__meta {
    font-size: 12px;
    color: rgba(245, 250, 255, 0.62);
    line-height: 1.6;
}

.sm-swal-text {
    text-align: left;
    font-size: 13px;
    color: rgba(15, 23, 42, 0.86);
    line-height: 1.6;
}

.sm-swal-compare {
    margin-top: 12px;
    padding: 12px 12px;
    border-radius: 14px;
    border: 1px solid rgba(15, 23, 42, 0.14);
    background: rgba(15, 23, 42, 0.04);
    text-align: left;
}

.sm-swal-compare__title {
    font-size: 13px;
    font-weight: 900;
    color: rgba(15, 23, 42, 0.92);
    margin-bottom: 10px;
}

.sm-swal-compare__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.sm-swal-compare__col {
    border-radius: 12px;
    border: 1px solid rgba(15, 23, 42, 0.10);
    background: rgba(255, 255, 255, 0.78);
    padding: 10px 10px;
    display: grid;
    gap: 6px;
}

.sm-swal-compare__col--year {
    border-color: rgba(20, 184, 166, 0.22);
    box-shadow: 0 0 0 3px rgba(20, 184, 166, 0.06);
}

.sm-swal-compare__col--lifetime {
    border-color: rgba(245, 158, 11, 0.25);
    box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.07);
}

.sm-swal-compare__head {
    font-size: 12px;
    font-weight: 900;
    color: rgba(15, 23, 42, 0.82);
}

.sm-swal-compare__line {
    font-size: 12px;
    color: rgba(15, 23, 42, 0.74);
    line-height: 1.5;
}

.sm-swal-compare__tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 18px;
    padding: 0 8px;
    border-radius: 999px;
    border: 1px solid rgba(245, 158, 11, 0.32);
    background: rgba(245, 158, 11, 0.10);
    color: rgba(154, 52, 18, 0.92);
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

.sm-swal-compare__cta {
    margin-top: 10px;
    display: flex;
    justify-content: flex-end;
}

.swal2-popup .sm-btn {
    font-weight: 850;
}

.sm-extra {
    margin-top: 12px;
    padding: 14px 14px;
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: linear-gradient(180deg, rgba(10, 14, 28, 0.62), rgba(8, 12, 26, 0.42));
    display: grid;
    gap: 10px;
}

.sm-extra__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.sm-extra__title {
    font-size: 13px;
    font-weight: 800;
    color: rgba(245, 250, 255, 0.90);
}

.sm-extra__badge {
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 12px;
    border: 1px solid rgba(61, 167, 255, 0.22);
    background: rgba(61, 167, 255, 0.10);
    color: rgba(170, 225, 255, 0.95);
    white-space: nowrap;
}

.sm-extra__desc {
    font-size: 12px;
    color: rgba(245, 250, 255, 0.58);
    line-height: 1.6;
}

.sm-extra__section {
    padding-top: 10px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    display: grid;
    gap: 10px;
}

.sm-extra__section-title {
    font-size: 12px;
    font-weight: 800;
    color: rgba(245, 250, 255, 0.72);
    letter-spacing: 0.2px;
}

.sm-extra__steps {
    margin: 0;
    padding-left: 18px;
    color: rgba(245, 250, 255, 0.86);
    line-height: 1.7;
    font-size: 13px;
}

.sm-extra__links {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 10px;
}

.sm-extra-link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 12px;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.10);
    background: rgba(255, 255, 255, 0.04);
    color: rgba(245, 250, 255, 0.92);
    text-decoration: none;
    transition: transform 0.12s ease, filter 0.12s ease, border-color 0.12s ease;
    min-height: 54px;
}

.sm-extra-link:hover {
    border-color: rgba(61, 167, 255, 0.22);
    filter: brightness(1.05);
}

.sm-extra-link:active {
    transform: translateY(1px);
}

.sm-extra-link__icon {
    width: 36px;
    height: 36px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.10);
    background: rgba(0, 0, 0, 0.22);
    flex: 0 0 auto;
    position: relative;
}

.sm-extra-link__icon::after {
    content: "⬇";
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    font-size: 14px;
    color: rgba(245, 250, 255, 0.72);
}

.sm-extra-link[data-provider="baidu"] .sm-extra-link__icon {
    background: rgba(61, 167, 255, 0.14);
    border-color: rgba(61, 167, 255, 0.18);
}

.sm-extra-link[data-provider="quark"] .sm-extra-link__icon {
    background: rgba(140, 92, 255, 0.14);
    border-color: rgba(140, 92, 255, 0.18);
}

.sm-extra-link[data-provider="aliyun"] .sm-extra-link__icon {
    background: rgba(99, 234, 201, 0.14);
    border-color: rgba(99, 234, 201, 0.18);
}

.sm-extra-link[data-provider="xunlei"] .sm-extra-link__icon {
    background: rgba(255, 193, 7, 0.14);
    border-color: rgba(255, 193, 7, 0.18);
}

.sm-extra-link__text {
    display: grid;
    gap: 2px;
    min-width: 0;
    flex: 1;
}

.sm-extra-link__label {
    font-size: 13px;
    font-weight: 800;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sm-extra-link__hint {
    font-size: 12px;
    color: rgba(245, 250, 255, 0.58);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sm-extra-link__arrow {
    color: rgba(245, 250, 255, 0.48);
    flex: 0 0 auto;
}

.sm-extra__locked {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding-top: 6px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.sm-extra__locked-text {
    font-size: 12px;
    color: rgba(245, 250, 255, 0.62);
}

.sm-extra-details {
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(0, 0, 0, 0.12);
    overflow: hidden;
}

.sm-extra-details__summary {
    list-style: none;
    cursor: pointer;
    padding: 12px 12px;
    font-size: 12px;
    color: rgba(245, 250, 255, 0.78);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.sm-extra-details__summary::-webkit-details-marker {
    display: none;
}

.sm-extra-details__summary::after {
    content: "▾";
    opacity: 0.75;
    transition: transform 0.18s ease;
}

.sm-extra-details[open] .sm-extra-details__summary::after {
    transform: rotate(180deg);
}

.sm-extra-details__body {
    padding: 0 12px 12px;
}

.sm-drm-warning {
    margin: 0 0 10px;
    padding: 12px 12px;
    border-radius: 14px;
    border: 1px solid rgba(255, 80, 80, 0.6);
    background: linear-gradient(135deg, rgba(255, 64, 64, 0.16), rgba(255, 190, 64, 0.12));
    color: rgba(255, 236, 236, 0.92);
    box-shadow: 0 10px 26px rgba(255, 72, 72, 0.16);
}

.sm-drm-warning strong {
    display: inline-block;
    font-weight: 900;
    color: rgba(255, 242, 242, 0.98);
    letter-spacing: 0.2px;
    margin-bottom: 4px;
}

.sm-drm-warning__info {
    font-size: 12px;
    opacity: 0.8;
    display: block;
    margin-top: 4px;
}

.sm-drm-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    margin-right: 6px;
    font-size: 16px;
    border-radius: 8px;
    background: rgba(255, 64, 64, 0.18);
    border: 1px solid rgba(255, 120, 64, 0.35);
    vertical-align: -4px;
}

.steam-manifest-footer {
    margin-top: 14px;
}

/* Admin panel */
.sm-admin {
    margin: 16px 18px 18px;
    border-radius: 18px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(7, 10, 20, 0.35);
    overflow: hidden;
}

.sm-admin > summary {
    cursor: pointer;
    list-style: none;
    padding: 14px 16px;
    font-weight: 800;
    color: rgba(245, 250, 255, 0.9);
    user-select: none;
    display: flex;
    align-items: center;
    gap: 10px;
}

.sm-admin__badge {
    padding: 2px 8px;
    background: rgba(61, 167, 255, 0.15);
    color: var(--sm-accent);
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
}

.sm-admin > summary::-webkit-details-marker {
    display: none;
}

.sm-admin > summary::after {
    content: "▾";
    margin-left: auto;
    opacity: 0.7;
    transition: transform 0.18s ease;
}

.sm-admin[open] > summary::after {
    transform: rotate(180deg);
}

.sm-admin__body {
    padding: 0 16px 16px;
}

.sm-admin__actions {
    margin-top: 10px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.sm-spacer {
    flex: 1;
}


.sm-admin__tip {
    margin: 10px 0 0;
    color: rgba(245, 250, 255, 0.5);
    font-size: 12px;
}

/* 下载历史/收藏列表 */
.sm-favorites-controls,
.sm-list-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 10px 0 12px;
    padding: 12px 14px;
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(8, 12, 26, 0.45);
}

.sm-favorites-controls__left,
.sm-favorites-controls__right,
.sm-list-controls__left,
.sm-list-controls__right {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.sm-favorites-controls__left,
.sm-list-controls__left {
    flex: 1;
    min-width: 0;
}

.sm-favorites-input,
.sm-favorites-select,
.sm-list-input,
.sm-list-select {
    height: 36px;
    padding: 8px 12px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.04);
    color: rgba(245, 250, 255, 0.92);
    font-size: 13px;
    outline: none;
}

.sm-favorites-input,
.sm-list-input {
    flex: 1;
    min-width: 180px;
}

.sm-favorites-input::placeholder,
.sm-list-input::placeholder {
    color: rgba(245, 250, 255, 0.45);
}

.sm-favorites-select,
.sm-list-select {
    cursor: pointer;
}

.sm-favorites-select option,
.sm-list-select option {
    color: #111;
    background: #fff;
}

.sm-favorites-selected {
    padding: 0 10px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.10);
    background: rgba(255, 255, 255, 0.04);
    color: rgba(245, 250, 255, 0.78);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.2px;
}

.sm-btn--danger:hover {
    background: rgba(255, 107, 107, 0.12);
    border-color: rgba(255, 107, 107, 0.3);
    color: var(--sm-danger);
}

.sm-item-select {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.sm-item-checkbox {
    width: 16px;
    height: 16px;
    accent-color: var(--sm-accent);
    cursor: pointer;
}

.sm-favorites-item.is-selected {
    border-color: rgba(99, 234, 201, 0.26);
    background: rgba(8, 14, 26, 0.72);
}

.sm-history-list,
.sm-favorites-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 12px;
    max-height: 500px;
    overflow-y: auto;
}

#sm-purchased-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 12px;
}

.sm-history-list .sm-empty,
.sm-history-list .sm-loading,
.sm-history-list .sm-error,
.sm-favorites-list .sm-empty,
.sm-favorites-list .sm-loading,
.sm-favorites-list .sm-error,
#sm-purchased-list .sm-empty,
#sm-purchased-list .sm-loading,
#sm-purchased-list .sm-error {
    grid-column: 1 / -1;
}

.sm-card-mini {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px;
    border-radius: 14px;
    background: rgba(8, 12, 26, 0.45);
    border: 1px solid rgba(255, 255, 255, 0.08);
    transition: all 0.2s ease;
    animation: sm-item-fade-in 0.3s ease backwards;
}

.sm-card-mini:hover {
    border-color: rgba(61, 167, 255, 0.25);
    background: rgba(8, 12, 26, 0.6);
}

.sm-card-mini__cover {
    width: 92px;
    aspect-ratio: 16 / 9;
    border-radius: 10px;
    background: rgba(0, 0, 0, 0.25);
    background-size: cover;
    background-position: center;
    flex-shrink: 0;
}

.sm-card-mini__info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.sm-card-mini__title {
    font-size: 14px;
    font-weight: 600;
    color: rgba(245, 250, 255, 0.92);
    line-height: 1.4;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sm-card-mini__meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    font-size: 12px;
    color: rgba(245, 250, 255, 0.55);
}

.sm-card-mini__sep {
    opacity: 0.35;
    margin: 0 2px;
}

.sm-card-mini__actions {
    margin-left: auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.sm-card-mini__actions .sm-item-btn {
    flex: 0 0 auto;
    padding: 6px 10px;
}

@media (max-width: 640px) {
    #sm-purchased-list {
        grid-template-columns: 1fr;
    }

    .sm-card-mini {
        flex-direction: column;
        align-items: stretch;
    }

    .sm-card-mini__cover {
        width: 100%;
    }

    .sm-card-mini__actions {
        justify-content: flex-start;
        margin-left: 0;
    }
}

.sm-history-item,
.sm-favorites-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 14px;
    border-radius: 14px;
    background: rgba(8, 12, 26, 0.45);
    border: 1px solid rgba(255, 255, 255, 0.08);
    transition: all 0.2s ease;
    animation: sm-item-fade-in 0.3s ease backwards;
}

@keyframes sm-item-fade-in {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.sm-history-item:hover,
.sm-favorites-item:hover {
    border-color: rgba(61, 167, 255, 0.25);
    background: rgba(8, 12, 26, 0.6);
}

.sm-item-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 8px;
}

.sm-item-title {
    flex: 1;
    font-size: 14px;
    font-weight: 600;
    color: rgba(245, 250, 255, 0.92);
    line-height: 1.4;
    word-break: break-word;
}

.sm-item-badge {
    padding: 4px 8px;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}

.sm-item-badge--free {
    background: rgba(99, 234, 201, 0.15);
    color: #63eac9;
}

.sm-item-badge--paid {
    background: rgba(255, 193, 7, 0.15);
    color: #ffc107;
}

.sm-item-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 12px;
    color: rgba(245, 250, 255, 0.55);
}

.sm-item-appid {
    background: rgba(255, 255, 255, 0.08);
    padding: 3px 7px;
    border-radius: 4px;
    font-family: ui-monospace, monospace;
    font-size: 11px;
}

.sm-quick-access-item {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 10px;
    border-radius: 12px;
    background: rgba(8, 12, 26, 0.45);
    border: 1px solid rgba(255, 255, 255, 0.08);
    cursor: pointer;
    transition: all 0.2s ease;
    animation: sm-quick-fade-in 0.3s ease backwards;
}

.sm-quick-access-item:hover {
    border-color: rgba(61, 167, 255, 0.3);
    background: rgba(8, 12, 26, 0.6);
    transform: translateY(-2px);
}

.sm-quick-access__cover {
    width: 100%;
    aspect-ratio: 3/2;
    border-radius: 8px;
    overflow: hidden;
    background: rgba(0, 0, 0, 0.3);
}

.sm-quick-access__cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sm-quick-access__name {
    font-size: 12px;
    font-weight: 600;
    color: rgba(245, 250, 255, 0.92);
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.sm-quick-access__actions {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.sm-quick-access__actions .sm-item-btn {
    flex: 0 0 auto;
    padding: 6px 8px;
    border-radius: 9px;
    font-size: 11px;
}

@keyframes sm-quick-fade-in {
    from {
        opacity: 0;
        transform: translateY(6px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.sm-item-date {
    opacity: 0.7;
}

.sm-item-cost {
    font-weight: 600;
}

.sm-item-cost--free {
    color: #63eac9;
}

.sm-item-cost--paid {
    color: #ffc107;
}

/* 分页 */
.sm-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 24px;
    padding: 16px;
}

.sm-pagination__info {
    font-size: 13px;
    color: var(--sm-muted);
    font-weight: 500;
    padding: 0 8px;
}

.sm-pagination .sm-btn.is-disabled,
.sm-pagination .sm-btn:disabled {
    opacity: 0.3;
    cursor: not-allowed;
    filter: none;
}


.sm-item-actions {
    display: flex;
    gap: 8px;
    margin-top: 4px;
}

.sm-item-btn {
    flex: 1;
    padding: 8px 12px;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.04);
    color: rgba(245, 250, 255, 0.92);
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s ease;
}

.sm-item-btn:hover {
    background: rgba(61, 167, 255, 0.12);
    border-color: rgba(61, 167, 255, 0.3);
    color: var(--sm-accent);
}

.sm-item-btn.is-favorited {
    border-color: rgba(99, 234, 201, 0.35);
    background: rgba(99, 234, 201, 0.12);
    color: rgba(210, 255, 246, 0.96);
}

.sm-item-btn.is-favorited:hover {
    border-color: rgba(99, 234, 201, 0.46);
    background: rgba(99, 234, 201, 0.18);
    color: rgba(210, 255, 246, 0.96);
}

.sm-item-btn--danger:hover {
    background: rgba(255, 107, 107, 0.12);
    border-color: rgba(255, 107, 107, 0.3);
    color: var(--sm-danger);
}

.sm-favorites-remove {
    color: rgba(255, 107, 107, 0.8);
}

.steam-manifest-footnote {
    padding: 14px 18px;
    border-radius: 18px;
    background: rgba(10, 14, 28, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: rgba(245, 250, 255, 0.62);
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.35);
}

/* 下载统计页面 */
.sm-stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 14px;
    padding: 18px;
}

.sm-stats-card {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 18px;
    border-radius: 16px;
    background: rgba(8, 12, 26, 0.55);
    border: 1px solid rgba(255, 255, 255, 0.1);
    transition: all 0.2s ease;
}

.sm-stats-card:hover {
    border-color: rgba(61, 167, 255, 0.3);
    transform: translateY(-2px);
}

.sm-stats-card__icon {
    font-size: 36px;
}

.sm-stats-card__content {
    flex: 1;
}

.sm-stats-card__label {
    font-size: 12px;
    color: rgba(245, 250, 255, 0.55);
    margin-bottom: 4px;
}

.sm-stats-card__value {
    font-size: 28px;
    font-weight: 700;
    color: var(--sm-accent);
}

.sm-stats-chart,
.sm-stats-genres {
    padding: 18px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.sm-stats-chart__header {
    margin-bottom: 14px;
}

.sm-stats-chart__title {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
}

.sm-stats-chart__container {
    padding: 14px;
    border-radius: 14px;
    background: rgba(7, 10, 20, 0.45);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

#sm-stats-canvas {
    width: 100%;
    height: 200px;
    display: block;
}

.sm-stats-genres__list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 12px;
}

.sm-genre-bar {
    padding: 12px 14px;
    border-radius: 12px;
    background: rgba(8, 12, 26, 0.45);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.sm-genre-bar__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}

.sm-genre-bar__name {
    font-size: 14px;
    font-weight: 600;
    color: rgba(245, 250, 255, 0.92);
}

.sm-genre-bar__count {
    font-size: 12px;
    color: var(--sm-muted);
}

.sm-genre-bar__track {
    height: 8px;
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.1);
    overflow: hidden;
}

.sm-genre-bar__fill {
    height: 100%;
    background: linear-gradient(90deg, var(--sm-accent), var(--sm-accent-2));
    border-radius: 4px;
    transition: width 0.5s ease;
}

@media (max-width: 980px) {
    .steam-manifest-top {
        grid-template-columns: 1fr;
    }
    .sm-game {
        grid-template-columns: 1fr;
    }
    .sm-game__media {
        max-height: 240px;
    }
}

@media (max-width: 560px) {
    .steam-manifest-page {
        padding: 38px 14px 60px;
    }
    .steam-manifest-input-row {
        grid-template-columns: 1fr;
    }
    .steam-manifest-btn {
        width: 100%;
    }
    .sm-game__meta {
        grid-template-columns: 1fr;
    }
}

/* DLC 列表 */
.sm-dlc-list {
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.sm-dlc-list--empty {
    text-align: center;
    padding: 15px 0;
    color: rgba(255, 255, 255, 0.3);
    font-size: 13px;
}

.sm-dlc-list__title {
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 12px;
    color: rgba(245, 250, 255, 0.85);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.sm-dlc-list__count {
    font-size: 12px;
    color: rgba(245, 250, 255, 0.55);
    font-weight: normal;
}

.sm-dlc-items {
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-height: 300px;
    overflow-y: auto;
    padding-right: 4px;
    scrollbar-gutter: stable;
    scrollbar-width: thin;
    scrollbar-color: rgba(61, 167, 255, 0.55) rgba(0, 0, 0, 0.22);
}

.sm-dlc-item {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 10px 12px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.05);
    font-size: 13px;
    transition: background 0.2s ease;
}

.sm-dlc-item:hover {
    background: rgba(255, 255, 255, 0.06);
}

.sm-dlc-item__name {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    color: rgba(245, 250, 255, 0.85);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
    flex: 1;
    cursor: pointer;
}

.sm-dlc-item__title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.35;
    word-break: break-word;
}

.sm-dlc-item.is-expanded .sm-dlc-item__title {
    display: block;
    overflow: visible;
    -webkit-line-clamp: unset;
}

.sm-dlc-item__appid {
    color: rgba(245, 250, 255, 0.4);
    font-size: 11px;
    font-family: monospace;
    flex-shrink: 0;
}

.sm-dlc-status {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 600;
    padding: 4px 8px;
    border-radius: 6px;
    margin-left: 12px;
    flex-shrink: 0;
}

.sm-dlc-status--included {
    background: rgba(99, 234, 201, 0.15);
    color: #63eac9;
}

.sm-dlc-status--missing {
    background: rgba(255, 107, 107, 0.15);
    color: #ff6b6b;
}

.sm-dlc-status__icon {
    font-size: 14px;
}

/* Scrollbar for DLC list */
.sm-dlc-items::-webkit-scrollbar {
    width: 10px;
}
.sm-dlc-items::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.22);
    border-radius: 999px;
}
.sm-dlc-items::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, rgba(61, 167, 255, 0.72), rgba(140, 92, 255, 0.62));
    border-radius: 999px;
    border: 2px solid rgba(0, 0, 0, 0.22);
}
.sm-dlc-items::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(180deg, rgba(61, 167, 255, 0.86), rgba(140, 92, 255, 0.75));
}
.sm-dlc-items::-webkit-scrollbar-button {
    display: none;
}

/* Locked state */
.steam-manifest-locked {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 60px 20px;
    border-radius: 22px;
    background: rgba(12, 18, 33, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: var(--sm-shadow);
    margin-top: 20px;
}

.steam-manifest-locked__icon {
    font-size: 48px;
    margin-bottom: 20px;
    filter: drop-shadow(0 0 20px rgba(255, 193, 7, 0.2));
}

.steam-manifest-locked h3 {
    margin: 0 0 12px;
    font-size: 24px;
    font-weight: 700;
    color: #fff;
}

.steam-manifest-locked p {
    margin: 0 0 24px;
    font-size: 15px;
    color: var(--sm-muted);
    max-width: 420px;
    line-height: 1.6;
}

.sm-community-top {
    margin-top: 6px;
}

.sm-community-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

@media (max-width: 980px) {
    .sm-community-cards {
        grid-template-columns: 1fr;
    }
}

.sm-community-card {
    border-radius: 18px;
    border: 1px solid rgba(255, 255, 255, 0.10);
    background: rgba(8, 12, 26, 0.55);
    box-shadow: var(--sm-shadow);
    padding: 14px 14px 12px;
    position: relative;
    overflow: hidden;
}

.sm-community-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(260px 180px at 20% 10%, rgba(61, 167, 255, 0.18), transparent 60%);
    pointer-events: none;
}

.sm-community-card__header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    position: relative;
}

.sm-community-card__title {
    font-size: 14px;
    font-weight: 850;
    color: rgba(245, 250, 255, 0.92);
    letter-spacing: 0.2px;
}

.sm-community-card__meta {
    font-size: 12px;
    color: rgba(245, 250, 255, 0.60);
    white-space: nowrap;
}

.sm-community-card__body {
    margin-top: 10px;
    position: relative;
    display: grid;
    gap: 10px;
}

.sm-community-skeleton {
    color: rgba(245, 250, 255, 0.58);
    font-size: 13px;
    padding: 10px 12px;
    border-radius: 14px;
    border: 1px dashed rgba(255, 255, 255, 0.12);
}

.sm-community-hot-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.10);
    background: rgba(12, 18, 33, 0.55);
}

.sm-community-hot-item--btn {
    width: 100%;
    text-align: left;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
}

.sm-community-hot-item--btn:hover {
    border-color: rgba(61, 167, 255, 0.22);
    box-shadow: 0 0 0 3px rgba(61, 167, 255, 0.10);
    transform: translateY(-1px);
}

.sm-community-hot-item--btn:active {
    transform: translateY(0);
}

.sm-community-hot-item__enter {
    height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.10);
    background: rgba(255, 255, 255, 0.06);
    color: rgba(245, 250, 255, 0.82);
    font-size: 12px;
    font-weight: 900;
    display: inline-flex;
    align-items: center;
}

.sm-community-hot-item__left {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.sm-community-hot-item__title {
    font-size: 13px;
    font-weight: 800;
    color: rgba(245, 250, 255, 0.92);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sm-community-hot-item__meta {
    font-size: 12px;
    color: rgba(245, 250, 255, 0.55);
}

.sm-community-feed {
    margin-top: 14px;
    border-radius: 18px;
    border: 1px solid rgba(255, 255, 255, 0.10);
    background: rgba(8, 12, 26, 0.48);
    box-shadow: var(--sm-shadow);
    padding: 14px;
}

.sm-community-feed__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.sm-community-feed__title {
    margin: 0;
    font-size: 14px;
    font-weight: 900;
    letter-spacing: 0.2px;
    color: rgba(245, 250, 255, 0.92);
}

.sm-community-feed__list {
    display: grid;
    gap: 10px;
}

.sm-community-feed__footer {
    margin-top: 12px;
    display: flex;
    justify-content: center;
}

.sm-feed-item {
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.10);
    background: rgba(12, 18, 33, 0.55);
    padding: 12px 12px 10px;
    display: grid;
    gap: 8px;
}

.sm-feed-item__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    color: rgba(245, 250, 255, 0.60);
    font-size: 12px;
}

.sm-feed-item__content {
    color: rgba(245, 250, 255, 0.90);
    font-size: 14px;
    line-height: 1.65;
}

.sm-feed-item__actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.sm-room-modal {
    position: fixed;
    inset: 0;
    z-index: 10001;
    display: grid;
    place-items: center;
}

.sm-room-modal[hidden] {
    display: none;
}

.sm-notify-modal {
    position: fixed;
    inset: 0;
    z-index: 10001;
    display: grid;
    place-items: center;
}

.sm-notify-modal[hidden] {
    display: none;
}

.sm-room-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.72);
    backdrop-filter: blur(4px);
}

.sm-room-modal__panel {
    position: relative;
    width: min(860px, calc(100vw - 22px));
    max-height: min(82vh, 760px);
    overflow: auto;
    border-radius: 18px;
    background: rgba(12, 18, 33, 0.96);
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: 0 28px 90px rgba(0, 0, 0, 0.58);
    padding: 16px;
}

.sm-room-modal .sm-room-modal__panel {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.sm-notify-modal .sm-room-modal__panel {
    overflow: auto;
}

.sm-room-modal__close {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 36px;
    height: 36px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.06);
    color: rgba(255, 255, 255, 0.88);
    font-size: 20px;
    cursor: pointer;
}

.sm-room-modal__head {
    display: grid;
    gap: 4px;
    padding-right: 44px;
}

.sm-room-tools {
    margin-top: 8px;
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.sm-room-quick {
    margin-top: 8px;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
}

.sm-room-quick .sm-btn {
    padding: 0 10px;
}

.sm-room-quick .sm-btn.is-active {
    border-color: rgba(61, 167, 255, 0.32);
    background: rgba(61, 167, 255, 0.12);
}

.sm-room-quick__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 16px;
    height: 16px;
    padding: 0 5px;
    margin-left: 6px;
    border-radius: 999px;
    background: rgba(255, 77, 77, 0.92);
    color: rgba(255, 255, 255, 0.98);
    font-size: 11px;
    font-weight: 900;
    line-height: 16px;
}

.sm-room-tools--notify {
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}

.sm-notify-tools {
    display: inline-flex;
    gap: 8px;
    flex-wrap: wrap;
}

.sm-notify-tools .sm-btn.is-active {
    border-color: rgba(61, 167, 255, 0.32);
    background: rgba(61, 167, 255, 0.12);
}

.sm-room-modal__title {
    font-size: 16px;
    font-weight: 900;
    color: rgba(245, 250, 255, 0.92);
}

.sm-room-modal__sub {
    font-size: 12px;
    color: rgba(245, 250, 255, 0.58);
}

.sm-room-sub-actions {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.sm-room-sub-link {
    color: rgba(245, 250, 255, 0.82);
    text-decoration: none;
}

.sm-room-sub-link:hover {
    text-decoration: underline;
}

.sm-room-pinned {
    margin-top: 10px;
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.10);
    background: rgba(8, 12, 26, 0.55);
    padding: 12px;
    display: grid;
    gap: 10px;
}

.sm-room-pinned__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.sm-room-pinned__label {
    font-size: 13px;
    font-weight: 900;
    color: rgba(245, 250, 255, 0.92);
}

.sm-room-pinned__content {
    font-size: 13px;
    color: rgba(245, 250, 255, 0.86);
    line-height: 1.6;
    white-space: pre-wrap;
    word-break: break-word;
}

.sm-room-pinned__editor {
    display: grid;
    gap: 10px;
}

.sm-room-pinned__input {
    width: 100%;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.06);
    color: rgba(245, 250, 255, 0.92);
    padding: 10px 12px;
    outline: none;
    resize: vertical;
}

.sm-room-pinned__input:focus {
    border-color: rgba(61, 167, 255, 0.38);
    box-shadow: 0 0 0 3px rgba(61, 167, 255, 0.12);
}

.sm-room-pinned__actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.sm-room-modal__vote {
    margin-top: 10px;
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.10);
    background: rgba(8, 12, 26, 0.55);
    padding: 10px 12px;
}

.sm-room-modal__reviews {
    margin-top: 10px;
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.10);
    background: rgba(8, 12, 26, 0.55);
    padding: 12px;
    display: grid;
    gap: 10px;
}

.sm-fold__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.sm-fold__title {
    font-weight: 850;
    color: rgba(245, 250, 255, 0.92);
    font-size: 13px;
    flex: 0 0 auto;
}

.sm-fold__meta {
    color: rgba(245, 250, 255, 0.62);
    font-size: 12px;
    font-weight: 700;
    margin-left: 6px;
}

.sm-room-vote-meta {
    color: rgba(245, 250, 255, 0.62);
    font-size: 12px;
    font-weight: 700;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sm-fold--collapsed .sm-fold__body {
    display: none;
}

.sm-room-reviews__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.sm-room-reviews__title {
    font-weight: 850;
    color: rgba(245, 250, 255, 0.92);
    font-size: 13px;
}

.sm-room-reviews__actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.sm-room-reviews__list {
    display: grid;
    gap: 10px;
}

.sm-room-reviews__footer {
    display: flex;
    justify-content: center;
}

.sm-room-reviews__editor {
    display: grid;
    gap: 10px;
    border-top: 1px dashed rgba(255, 255, 255, 0.14);
    padding-top: 10px;
}

.sm-room-review-rating {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.sm-room-review-rating .sm-btn.is-active {
    border-color: rgba(61, 167, 255, 0.42);
    box-shadow: 0 0 0 3px rgba(61, 167, 255, 0.12);
}

.sm-room-review-text {
    width: 100%;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.06);
    color: rgba(245, 250, 255, 0.92);
    padding: 10px 12px;
    outline: none;
    resize: vertical;
}

.sm-room-review-text:focus {
    border-color: rgba(61, 167, 255, 0.38);
    box-shadow: 0 0 0 3px rgba(61, 167, 255, 0.12);
}

.sm-room-reviews__editor-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.sm-room-review {
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.10);
    background: rgba(255, 255, 255, 0.04);
    padding: 10px 12px;
    display: grid;
    gap: 6px;
}

.sm-room-review--me {
    border-color: rgba(61, 167, 255, 0.22);
}

.sm-room-review--highlight {
    border-color: rgba(61, 167, 255, 0.55);
    box-shadow: 0 0 0 3px rgba(61, 167, 255, 0.14);
}

.sm-room-review__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.sm-room-review__user {
    font-weight: 850;
    color: rgba(245, 250, 255, 0.92);
    font-size: 13px;
}

.sm-room-review__time {
    font-size: 12px;
    color: rgba(245, 250, 255, 0.55);
}

.sm-room-review__rating {
    font-size: 12px;
    letter-spacing: 0.4px;
    color: rgba(255, 220, 120, 0.92);
}

.sm-room-review__content {
    font-size: 13px;
    color: rgba(245, 250, 255, 0.86);
    line-height: 1.6;
    white-space: pre-wrap;
    word-break: break-word;
}

.sm-room-vote__q {
    font-weight: 850;
    color: rgba(245, 250, 255, 0.92);
    margin-bottom: 8px;
    font-size: 13px;
}

.sm-room-vote__opts {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.sm-room-modal .sm-room-modal__body {
    margin-top: 12px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
    min-height: 0;
    position: relative;
}

.sm-notify-modal .sm-room-modal__body {
    margin-top: 12px;
    display: grid;
    gap: 10px;
}

.sm-room-modal .sm-room-modal__posts {
    display: grid;
    gap: 10px;
    min-height: 0;
    flex: 1;
    overflow: auto;
    padding-right: 2px;
}

.sm-room-posts-top {
    display: flex;
    justify-content: center;
    padding: 2px 0;
    position: sticky;
    top: 0;
    z-index: 1;
    background: linear-gradient(to bottom, rgba(12, 18, 33, 0.96), rgba(12, 18, 33, 0.0));
}

.sm-room-newbar {
    position: sticky;
    bottom: 10px;
    z-index: 1;
    display: flex;
    justify-content: center;
    padding: 6px 0;
    background: linear-gradient(to top, rgba(12, 18, 33, 0.96), rgba(12, 18, 33, 0.0));
}

.sm-room-modal--emoji-open .sm-room-modal__posts {
    flex: 1;
    max-height: none;
}

.sm-room-modal--emoji-open .sm-emoji-panel {
    position: absolute;
    left: 0;
    right: 0;
    bottom: calc(54px + env(safe-area-inset-bottom, 0px));
    z-index: 20;
    max-height: min(60vh, 520px);
    background: rgba(8, 12, 26, 0.92);
    border-color: rgba(255, 255, 255, 0.14);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.45);
    backdrop-filter: blur(10px);
}

.sm-room-modal--emoji-open .sm-room-modal__composer {
    position: relative;
    z-index: 21;
}

.sm-notify-modal .sm-room-modal__posts {
    display: grid;
    gap: 10px;
    min-height: 180px;
}

.sm-room-post {
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.10);
    background: rgba(8, 12, 26, 0.55);
    padding: 10px 12px;
    display: grid;
    gap: 6px;
}

.sm-room-post--highlight {
    border-color: rgba(61, 167, 255, 0.35);
    box-shadow: 0 0 0 3px rgba(61, 167, 255, 0.10);
    animation: smPulseHighlight 0.9s ease-in-out 0s 2;
}

@keyframes smPulseHighlight {
    0% { filter: brightness(1); }
    50% { filter: brightness(1.08); }
    100% { filter: brightness(1); }
}

.sm-room-post__meta {
    font-size: 12px;
    color: rgba(245, 250, 255, 0.58);
    display: flex;
    justify-content: space-between;
    gap: 10px;
}

.sm-room-post__right {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
}

.sm-mention {
    display: inline-flex;
    align-items: center;
    padding: 0 6px;
    height: 18px;
    border-radius: 999px;
    background: rgba(61, 167, 255, 0.12);
    border: 1px solid rgba(61, 167, 255, 0.22);
    color: rgba(245, 250, 255, 0.92);
    font-weight: 900;
}

.sm-mention:hover {
    filter: brightness(1.05);
}

.sm-room-post__reply {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.10);
    background: rgba(255, 255, 255, 0.04);
    color: rgba(245, 250, 255, 0.78);
    font-size: 12px;
    cursor: pointer;
}

.sm-room-post__reply:hover {
    filter: brightness(1.05);
}

.sm-room-post__reply-user {
    color: rgba(245, 250, 255, 0.92);
    font-weight: 900;
}

.sm-room-reply {
    flex: 0 0 100%;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 6px 10px;
    border-radius: 12px;
    border: 1px solid rgba(61, 167, 255, 0.20);
    background: rgba(61, 167, 255, 0.10);
    color: rgba(245, 250, 255, 0.86);
    font-size: 12px;
}

.sm-room-reply__text {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 800;
}

.sm-room-reply__cancel {
    width: 22px;
    height: 22px;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: rgba(255, 255, 255, 0.06);
    color: rgba(245, 250, 255, 0.92);
    font-weight: 900;
}

.sm-room-reply__cancel:hover {
    filter: brightness(1.05);
}

.sm-room-admin {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.sm-room-user-tools {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.sm-room-post__text {
    font-size: 14px;
    color: rgba(245, 250, 255, 0.92);
    line-height: 1.65;
    white-space: pre-wrap;
    word-break: break-word;
}

.sm-room-post__reacts {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.sm-room-modal .sm-room-modal__composer {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.sm-sticker-selected {
    height: 40px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 4px 6px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.06);
}

.sm-sticker-selected__img {
    width: 32px;
    height: 32px;
    border-radius: 10px;
    object-fit: cover;
    display: block;
}

.sm-sticker-selected__clear {
    width: 28px;
    height: 28px;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.10);
    background: rgba(255, 255, 255, 0.06);
    color: rgba(245, 250, 255, 0.86);
    cursor: pointer;
    line-height: 1;
    font-size: 18px;
}

.sm-sticker-selected__clear:hover {
    border-color: rgba(61, 167, 255, 0.26);
    box-shadow: 0 0 0 3px rgba(61, 167, 255, 0.08);
}

.sm-room-modal__input {
    flex: 1;
    min-width: 0;
    height: 40px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.06);
    color: rgba(245, 250, 255, 0.92);
    padding: 0 12px;
    outline: none;
}

.sm-room-modal--taboo .sm-room-modal__input {
    opacity: 0.65;
    cursor: not-allowed;
}

.sm-room-modal--taboo .sm-room-modal__composer button[type="submit"],
.sm-room-modal--taboo #sm-emoji-toggle {
    opacity: 0.55;
    cursor: not-allowed;
}

.sm-room-modal__input:focus {
    border-color: rgba(61, 167, 255, 0.38);
    box-shadow: 0 0 0 3px rgba(61, 167, 255, 0.12);
}

.sm-community-feed__actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.sm-quests-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
    flex-wrap: wrap;
}

.sm-quests-actions__claim {
    flex: 0 0 auto;
}

.sm-quest-upsell {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    border-radius: 14px;
    border: 1px solid rgba(255, 183, 3, 0.22);
    background: linear-gradient(180deg, rgba(255, 183, 3, 0.12), rgba(8, 12, 26, 0.22));
}

.sm-quest-upsell__text {
    font-size: 12px;
    line-height: 1.4;
    color: rgba(245, 250, 255, 0.90);
    font-weight: 800;
}

.sm-user-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.sm-avatar {
    width: 28px;
    height: 28px;
    border-radius: 999px;
    overflow: hidden;
    position: relative;
    flex: 0 0 auto;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: rgba(255, 255, 255, 0.06);
}

.sm-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.sm-avatar--month {
    border-color: rgba(61, 167, 255, 0.32);
    box-shadow: 0 0 0 3px rgba(61, 167, 255, 0.10);
}

.sm-avatar--year {
    border-color: rgba(99, 234, 201, 0.32);
    box-shadow: 0 0 0 3px rgba(99, 234, 201, 0.10);
}

.sm-avatar--lifetime {
    border-color: rgba(255, 209, 102, 0.44);
    box-shadow: 0 0 0 3px rgba(255, 209, 102, 0.12);
}

.sm-user-name {
    max-width: 220px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-weight: 850;
    color: rgba(245, 250, 255, 0.92);
}

.sm-user-name[data-sm-action="mention"] {
    cursor: pointer;
}

.sm-user-name[data-sm-action="mention"]:hover {
    text-decoration: underline;
    color: rgba(222, 246, 255, 0.98);
}

.sm-badges {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.sm-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    height: 18px;
    padding: 0 8px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: rgba(255, 255, 255, 0.06);
    color: rgba(245, 250, 255, 0.82);
    font-size: 12px;
}

.sm-badge--age {
    color: rgba(245, 250, 255, 0.74);
}

.sm-badge--pass-lifetime {
    border-color: rgba(255, 209, 102, 0.42);
    background: rgba(255, 209, 102, 0.10);
    color: rgba(255, 236, 186, 0.94);
}

.sm-badge--pass-year {
    border-color: rgba(99, 234, 201, 0.36);
    background: rgba(99, 234, 201, 0.08);
}

.sm-badge--pass-month {
    border-color: rgba(61, 167, 255, 0.36);
    background: rgba(61, 167, 255, 0.08);
}

.sm-badge--cny {
    border-color: rgba(239, 68, 68, 0.42);
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.18), rgba(245, 158, 11, 0.12));
    color: rgba(255, 235, 220, 0.98);
    font-weight: 900;
    box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.06);
}

.sm-badge--cny::before {
    content: "福";
    font-size: 12px;
    line-height: 1;
    color: rgba(255, 222, 170, 0.98);
}

.sm-badge--official {
    border-color: rgba(255, 209, 102, 0.55);
    background: linear-gradient(135deg, rgba(255, 77, 77, 0.26), rgba(255, 209, 102, 0.18));
    color: rgba(255, 243, 210, 0.98);
    font-weight: 900;
    box-shadow: 0 0 0 3px rgba(255, 209, 102, 0.10);
}

.sm-badge--official::before {
    content: "★";
    font-size: 12px;
    line-height: 1;
    color: rgba(255, 233, 173, 0.98);
}

.sm-avatar--official {
    border-color: rgba(255, 209, 102, 0.58);
    box-shadow:
        0 0 0 3px rgba(255, 209, 102, 0.14),
        0 0 22px rgba(255, 77, 77, 0.18);
}

.sm-app-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
    color: rgba(245, 250, 255, 0.72);
}

.sm-app-name {
    font-weight: 900;
    color: rgba(245, 250, 255, 0.92);
    max-width: 240px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sm-app-id {
    font-size: 12px;
    color: rgba(245, 250, 255, 0.60);
}

.sm-app-id[data-sm-action="copy-appid"] {
    cursor: pointer;
}

.sm-app-id[data-sm-action="copy-appid"]:hover {
    color: rgba(245, 250, 255, 0.86);
    text-decoration: underline;
}

.sm-theme-cny .sm-community-card::before {
    background: radial-gradient(260px 180px at 20% 10%, rgba(255, 77, 77, 0.18), transparent 60%);
}

.sm-theme-cny .sm-community-feed {
    border-color: rgba(255, 77, 77, 0.22);
}

.sm-theme-cny .sm-community-card--blind::before {
    background: radial-gradient(260px 180px at 20% 10%, rgba(255, 209, 102, 0.18), transparent 60%);
}

.sm-notify-item {
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.10);
    background: rgba(8, 12, 26, 0.55);
    padding: 10px 12px;
    cursor: pointer;
    transition: transform 0.12s ease, filter 0.12s ease, border-color 0.12s ease;
}

.sm-notify-item--unread {
    border-color: rgba(61, 167, 255, 0.26);
    box-shadow: 0 0 0 3px rgba(61, 167, 255, 0.08);
}

.sm-notify-item:hover {
    filter: brightness(1.05);
}

.sm-notify-item:active {
    transform: translateY(1px);
}

.sm-notify-item__wrap {
    display: grid;
    grid-template-columns: 30px 1fr;
    gap: 10px;
    align-items: start;
}

.sm-notify-item__icon {
    width: 30px;
    height: 30px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.10);
    color: rgba(245, 250, 255, 0.86);
    font-weight: 900;
}

.sm-notify-item--unread .sm-notify-item__icon {
    border-color: rgba(61, 167, 255, 0.30);
    background: rgba(61, 167, 255, 0.12);
}

.sm-notify-item__top {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
}

.sm-notify-item__title {
    color: rgba(245, 250, 255, 0.92);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.5;
}

.sm-notify-item__actor {
    color: rgba(255, 255, 255, 0.92);
    font-weight: 900;
}

.sm-notify-item__time {
    color: rgba(245, 250, 255, 0.55);
    font-size: 12px;
    flex: 0 0 auto;
}

.sm-notify-item__meta {
    margin-top: 6px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.sm-notify-item__tag {
    display: inline-flex;
    align-items: center;
    height: 18px;
    padding: 0 8px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.10);
    color: rgba(245, 250, 255, 0.78);
    font-size: 11px;
    font-weight: 900;
}

.sm-notify-item__hint {
    color: rgba(245, 250, 255, 0.55);
    font-size: 12px;
}

.sm-notify-footer {
    margin-top: 10px;
    display: flex;
    justify-content: center;
}

.sm-follow-item {
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.10);
    background: rgba(8, 12, 26, 0.55);
    padding: 10px 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.sm-follow-item__left {
    display: grid;
    gap: 6px;
    min-width: 0;
}

.sm-follow-item__user {
    min-width: 0;
}

.sm-follow-item__meta {
    color: rgba(245, 250, 255, 0.55);
    font-size: 12px;
}

.sm-follow-item__actions {
    flex: 0 0 auto;
    display: inline-flex;
    gap: 8px;
    align-items: center;
}

.sm-emoji-panel {
    margin-top: 0;
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.10);
    background: rgba(8, 12, 26, 0.55);
    padding: 10px;
    display: grid;
    gap: 10px;
    width: 100%;
    max-height: min(60vh, 520px);
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.sm-emoji-panel::-webkit-scrollbar {
    width: 0;
    height: 0;
}

.sm-post-text {
    white-space: pre-wrap;
    word-break: break-word;
}

.sm-post-text--collapsed {
    display: -webkit-box;
    -webkit-line-clamp: 6;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.sm-post-text-toggle {
    margin-top: 6px;
}

.sm-emoji-tabs {
    display: flex;
    align-items: center;
    gap: 8px;
}

.sm-emoji-tab {
    height: 32px;
    padding: 0 12px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.10);
    background: rgba(255, 255, 255, 0.06);
    color: rgba(245, 250, 255, 0.80);
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}

.sm-emoji-tab--active {
    border-color: rgba(61, 167, 255, 0.26);
    background: rgba(61, 167, 255, 0.12);
    color: rgba(222, 246, 255, 0.96);
}

.sm-emoji-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.sm-emoji {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.10);
    background: rgba(255, 255, 255, 0.06);
    color: rgba(255, 255, 255, 0.92);
    font-size: 20px;
    cursor: pointer;
}

.sm-emoji:hover {
    border-color: rgba(61, 167, 255, 0.26);
    box-shadow: 0 0 0 3px rgba(61, 167, 255, 0.08);
    transform: translateY(-1px);
}

.sm-sticker-btn {
    width: 64px;
    height: 64px;
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.10);
    background: rgba(255, 255, 255, 0.06);
    cursor: pointer;
    padding: 0;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.sm-sticker-btn:hover {
    border-color: rgba(61, 167, 255, 0.26);
    box-shadow: 0 0 0 3px rgba(61, 167, 255, 0.08);
    transform: translateY(-1px);
}

.sm-sticker-packs {
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 2px;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.sm-sticker-packs::-webkit-scrollbar {
    width: 0;
    height: 0;
}

.sm-sticker-pack {
    height: 32px;
    padding: 0 12px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.10);
    background: rgba(255, 255, 255, 0.06);
    color: rgba(245, 250, 255, 0.80);
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
    flex: 0 0 auto;
    max-width: min(220px, 70vw);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sm-sticker-pack--active {
    border-color: rgba(61, 167, 255, 0.26);
    background: rgba(61, 167, 255, 0.12);
    color: rgba(222, 246, 255, 0.96);
}

.sm-sticker-pack--locked {
    opacity: 0.72;
    border-style: dashed;
}

.sm-sticker-pack--locked::after {
    content: "锁";
    margin-left: 6px;
    font-size: 12px;
    opacity: 0.8;
}

.sm-sticker-pack__badge {
    margin-left: 6px;
    padding: 0 6px;
    height: 18px;
    line-height: 18px;
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    background: rgba(255, 77, 77, 0.86);
    color: rgba(255, 255, 255, 0.96);
    font-size: 11px;
    font-weight: 900;
}

.sm-sticker-grid {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.sm-sticker-btn img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.sm-sticker {
    width: 140px;
    max-width: 60vw;
    height: auto;
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.10);
    background: rgba(255, 255, 255, 0.04);
}

.sm-sticker-card {
    position: relative;
    display: inline-block;
}

.sm-sticker-card--cny .sm-sticker {
    border-color: rgba(255, 77, 77, 0.32);
    box-shadow: 0 0 0 3px rgba(255, 77, 77, 0.10);
}

.sm-sticker-tag {
    position: static;
    display: inline-block;
    margin: 0 0 6px 0;
    padding: 2px 8px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    background: rgba(255, 77, 77, 0.86);
    color: rgba(255, 255, 255, 0.96);
    font-size: 12px;
    font-weight: 900;
    line-height: 1.6;
    pointer-events: none;
}

.sm-sticker-lock-cta {
    margin-top: 10px;
}

.sm-sticker-wrap {
    display: grid;
    gap: 8px;
    justify-items: start;
}

.sm-sticker-caption {
    max-width: min(520px, 70vw);
    padding: 8px 10px;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.10);
    background: rgba(255, 255, 255, 0.05);
    color: rgba(245, 250, 255, 0.90);
    font-size: 13px;
    line-height: 1.6;
    white-space: pre-wrap;
    word-break: break-word;
}


