
:root {
    --lp-header-gradient: linear-gradient(135deg, #0f172a 0%, #1e293b 60%, #0f172a 100%);
    --lp-header-min-h: 160px;
    --lp-card-radius: var(--card-radius, 8px);
    --lp-card-bg: var(--fe-color-surface, #fff);
    --lp-card-shadow: 0 1px 4px rgba(0,0,0,0.06);
    --lp-card-shadow-hover: 0 6px 20px rgba(0,0,0,0.1);
    --lp-card-border: var(--fe-color-border, #e2e8f0);
    --lp-badge-bg: var(--fe-color-primary, #e21b33);
    --lp-badge-text: #fff;
    --lp-featured-img-w: 42%;
    --lp-card-img-w: 260px;
    --lp-gap: 1.25rem;
    --lp-sidebar-w: 280px;
}

[data-theme="dark"] {
    --lp-header-gradient: linear-gradient(135deg, #0b1120 0%, #1e293b 60%, #0b1120 100%);
    --lp-card-shadow: 0 1px 4px rgba(0,0,0,0.25);
    --lp-card-shadow-hover: 0 6px 20px rgba(0,0,0,0.4);
}

.lp-header {
    position: relative;
    min-height: var(--lp-header-min-h);
    display: flex;
    align-items: flex-end;
    background: var(--lp-header-gradient);
    
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-top: calc(-1 * var(--fe-spacing-lg));
    margin-bottom: -1px;
    overflow: visible;
}

.lp-header::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: 40px;
    z-index: 2;
    background: var(--fe-color-bg);
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 48' preserveAspectRatio='none'%3E%3Cpath d='M0 48h1440V20C1320 4 1200 0 1080 8 960 16 840 32 720 36 600 40 480 28 360 20 240 12 120 8 0 16z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 48' preserveAspectRatio='none'%3E%3Cpath d='M0 48h1440V20C1320 4 1200 0 1080 8 960 16 840 32 720 36 600 40 480 28 360 20 240 12 120 8 0 16z'/%3E%3C/svg%3E");
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    pointer-events: none;
}

.lp-header__inner {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: var(--fe-main-max);
    margin: 0 auto;
    padding: 2rem var(--fe-spacing-lg) 2.5rem;
    color: #fff;
}

.lp-header__bread {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem 0.5rem;
    margin: 0 0 0.75rem;
    font-size: 0.8125rem;
    font-weight: 500;
    color: rgba(255,255,255,0.8);
    list-style: none;
    padding: 0;
}
.lp-header__bread a {
    color: rgba(255,255,255,0.8);
    text-decoration: none;
    transition: color 0.15s;
}
.lp-header__bread a:hover { color: #fff; }
.lp-header__bread-home {
    display: inline-flex;
    align-items: center;
}
.lp-header__bread-sep {
    color: rgba(255,255,255,0.45);
    flex-shrink: 0;
}
.lp-header__bread-mid {
    color: rgba(255,255,255,0.7);
}
.lp-header__bread-current {
    color: rgba(255,255,255,0.95);
    font-weight: 600;
}

.lp-header__title {
    margin: 0;
    font-size: 2rem;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: #fff;
}

.lp-header__title-row {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: nowrap;
}
.lp-header__title-row .lp-header__title {
    margin: 0;
    flex-shrink: 1;
    min-width: 0;
}
.lp-header__submit-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.3rem 0.75rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: rgba(255,255,255,0.85);
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 20px;
    text-decoration: none;
    transition: background 0.2s, border-color 0.2s, color 0.2s;
    white-space: nowrap;
    flex-shrink: 0;
    line-height: 1;
}
.lp-header__submit-btn:hover {
    background: rgba(255,255,255,0.2);
    border-color: rgba(255,255,255,0.4);
    color: #fff;
}

.lp-header__desc {
    margin: 0.5rem 0 0;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: rgba(255,255,255,0.75);
}

.lp-header__search {
    display: flex;
    gap: 0.5rem;
    margin-top: 1rem;
    max-width: 480px;
}
.lp-header__search-input {
    flex: 1;
    padding: 0.625rem 1rem;
    font-size: 0.9375rem;
    font-family: inherit;
    border: 1px solid rgba(255,255,255,0.25);
    border-radius: var(--fe-radius);
    background: rgba(255,255,255,0.1);
    color: #fff;
    backdrop-filter: blur(4px);
    transition: border-color 0.15s, background 0.15s;
}
.lp-header__search-input::placeholder { color: rgba(255,255,255,0.5); }
.lp-header__search-input:focus {
    outline: none;
    border-color: rgba(255,255,255,0.5);
    background: rgba(255,255,255,0.15);
}
.lp-header__search-btn {
    padding: 0.625rem 1.25rem;
    font-size: 0.9375rem;
    font-weight: 600;
    font-family: inherit;
    border: none;
    border-radius: var(--fe-radius);
    background: var(--fe-color-primary);
    color: #fff;
    cursor: pointer;
    transition: background 0.15s;
}
.lp-header__search-btn:hover {
    background: var(--fe-color-primary-hover);
}

.lp-header__result-count {
    margin-top: 0.75rem;
    font-size: 0.875rem;
    font-weight: 500;
    color: rgba(255,255,255,0.7);
}

.lp-search-type-tabs {
    margin-top: 1rem;
    margin-bottom: 0.5rem;
}
.lp-search-type-tabs__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.25rem 0.5rem;
    list-style: none;
    margin: 0;
    padding: 0;
}
.lp-search-type-tabs__link {
    display: inline-block;
    padding: 0.35rem 0.75rem;
    font-size: 0.875rem;
    font-weight: 500;
    color: rgba(255,255,255,0.85);
    text-decoration: none;
    border-radius: 6px;
    transition: background 0.2s, color 0.2s;
}
.lp-search-type-tabs__link:hover {
    background: rgba(255,255,255,0.12);
    color: #fff;
}
.lp-search-type-tabs__link--active {
    background: rgba(255,255,255,0.2);
    color: #fff;
}

.lp-search-sections {
    max-width: var(--fe-main-max);
    margin: 0 auto;
    padding: 0 var(--fe-spacing-lg);
}
.lp-search-section {
    margin-bottom: 2.5rem;
}
.lp-search-section:last-child {
    margin-bottom: 0;
}
.lp-search-section__title {
    font-size: 1.125rem;
    font-weight: 700;
    margin: 0 0 1rem;
    color: var(--fe-color-text);
}
.lp-search-section__count {
    font-weight: 500;
    color: var(--fe-color-text-muted);
}
.lp-search-section__more {
    margin: 1rem 0 0;
    font-size: 0.9375rem;
}
.lp-search-section__btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}
.lp-search-section__btn-count {
    opacity: 0.9;
    font-weight: 600;
}
.lp-search-section__link {
    color: var(--fe-color-primary);
    text-decoration: none;
    font-weight: 500;
}
.lp-search-section__link:hover {
    text-decoration: underline;
}
.lp-list--search-content {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--lp-gap);
}
.lp-list--search-content .lp-list__item {
    margin: 0;
}

.lp-header__inner--center {
    text-align: center;
}
.lp-header__search--center {
    margin-left: auto;
    margin-right: auto;
}

.lp-content {
    padding-top: 0.75rem;
    padding-bottom: 3rem;
}

.games-platform-filters__list--alpha .games-platform-filters__item {
    padding: 0.25rem 0.4rem;
    min-width: 1.75rem;
    font-size: 0.75rem;
    justify-content: center;
    gap: 0;
}

.games-platform-filters {
    margin-top: 0.75rem;
    padding: 0 0 1rem;
    border-bottom: 1px solid var(--fe-color-border);
    margin-bottom: 1rem;
}

.games-platform-filters__list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem;
    margin-bottom: 0.5rem;
}

.games-platform-filters__list:last-child {
    margin-bottom: 0;
}

.games-platform-filters__item {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.5rem 0.85rem;
    font-size: 0.875rem;
    font-weight: 500;
    font-family: inherit;
    color: var(--fe-color-text);
    background: var(--fe-color-bg-alt);
    border: 1px solid var(--fe-color-border);
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.2s, border-color 0.2s, color 0.2s, transform 0.15s;
    touch-action: manipulation;
}

.games-platform-filters__item--sort {
    padding: 0.4rem 0.65rem;
    font-size: 0.8125rem;
}
.games-platform-filters__item--sort .games-platform-filters__icon {
    width: 18px;
    height: 18px;
    font-size: 10px;
}

.games-platform-filters__item:hover {
    background: var(--fe-color-surface);
    border-color: var(--fe-color-primary);
    color: var(--fe-color-primary);
    transform: translateY(-1px);
}

.games-platform-filters__item.is-active {
    background: var(--fe-color-primary);
    border-color: var(--fe-color-primary);
    color: #fff;
}

.games-platform-filters__item.is-active .games-platform-filters__icon {
    color: #fff;
}

.games-platform-filters__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    font-size: 11px;
    border-radius: 6px;
    flex-shrink: 0;
    transition: color 0.2s;
}

.games-platform-filters__icon--all {
    background: var(--fe-color-border);
    color: var(--fe-color-text-muted);
}

.games-platform-filters__item.is-active .games-platform-filters__icon--all {
    background: rgba(255, 255, 255, 0.25);
    color: #fff;
}

.games-platform-filters__icon.platform-steam { background: #171a21; color: #fff; }
.games-platform-filters__icon.platform-pc { background: #3d4f63; color: #fff; }
.games-platform-filters__icon.platform-playstation { background: #003087; color: #fff; }
.games-platform-filters__icon.platform-xbox { background: #107c10; color: #fff; }
.games-platform-filters__icon.platform-nintendo { background: #e60012; color: #fff; }
.games-platform-filters__icon.platform-ios { background: #000; color: #fff; }
.games-platform-filters__icon.platform-android { background: #3ddc84; color: #000; }
.games-platform-filters__icon.platform-browser { background: #4285f4; color: #fff; }
.games-platform-filters__icon.platform-roblox { background: #00a2ff; color: #fff; }
.games-platform-filters__icon.platform-mobile { background: #5c6bc0; color: #fff; }

.games-platform-filters__item--sort .games-platform-filters__icon--sort,
.games-platform-filters__icon--sort {
    background: var(--fe-color-border);
    color: var(--fe-color-text-muted);
}
.games-platform-filters__item--sort .games-platform-filters__icon--sort {
    width: 18px;
    height: 18px;
    font-size: 10px;
}

.games-platform-filters__item--sort.is-active .games-platform-filters__icon--sort {
    background: rgba(255, 255, 255, 0.25);
    color: #fff;
}

.games-platform-filters__icon--developer {
    background: rgba(74, 144, 226, 0.2);
    color: #4a90e2;
}

.games-platform-filters__item.is-active .games-platform-filters__icon--developer {
    background: rgba(255, 255, 255, 0.25);
    color: #fff;
}

.games-platform-filters__icon--publisher {
    background: rgba(255, 107, 53, 0.2);
    color: #ff6b35;
}

.games-platform-filters__item.is-active .games-platform-filters__icon--publisher {
    background: rgba(255, 255, 255, 0.25);
    color: #fff;
}

.games-platform-filters__label {
    white-space: nowrap;
}

[data-theme="dark"] .games-platform-filters__item {
    background: var(--fe-color-surface);
}

[data-theme="dark"] .games-platform-filters__item.is-active {
    background: var(--fe-color-primary);
    color: #fff;
}

@media (max-width: 768px) {
    .games-platform-filters {
        padding: 0 0 0.75rem;
        margin-bottom: 0.75rem;
    }
    .games-platform-filters__list {
        gap: 0.35rem;
        margin-bottom: 0.5rem;
    }
    .games-platform-filters__list:not(.games-platform-filters__list--sort):not(.games-platform-filters__list--alpha) {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        align-items: stretch;
    }
    .games-platform-filters__list:not(.games-platform-filters__list--sort):not(.games-platform-filters__list--alpha) .games-platform-filters__item {
        min-height: 48px;
        padding: 0.4rem 0.5rem;
        font-size: 0.8125rem;
        justify-content: center;
        flex-direction: column;
        gap: 0.25rem;
    }
    .games-platform-filters__list:not(.games-platform-filters__list--sort):not(.games-platform-filters__list--alpha) .games-platform-filters__icon {
        width: 28px;
        height: 28px;
        font-size: 13px;
        margin: 0 auto;
    }
    .games-platform-filters__list:not(.games-platform-filters__list--sort):not(.games-platform-filters__list--alpha) .games-platform-filters__label {
        text-align: center;
        font-size: 0.6875rem;
        line-height: 1.2;
    }
    .games-platform-filters__list--alpha {
        display: flex;
        flex-wrap: wrap;
        gap: 0.25rem;
    }
    .games-platform-filters__list--alpha .games-platform-filters__item {
        min-height: unset;
        padding: 0.2rem 0.35rem;
        min-width: 1.6rem;
        font-size: 0.6875rem;
        flex-direction: row;
        gap: 0;
    }
    .games-platform-filters__list--sort {
        gap: 0.3rem;
    }
    .games-platform-filters__list--sort .games-platform-filters__item {
        padding: 0.35rem 0.55rem;
        font-size: 0.75rem;
    }
    .games-platform-filters__list--sort .games-platform-filters__icon {
        width: 16px;
        height: 16px;
        font-size: 9px;
    }
}

@keyframes lp-list-skeleton-shimmer {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

.lp-list-skeleton {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.lp-list-skeleton .skeleton {
    background: linear-gradient(
        90deg,
        var(--fe-color-bg-alt, #f1f5f9) 0%,
        var(--fe-color-border, #e2e8f0) 45%,
        var(--fe-color-bg-alt, #f1f5f9) 55%,
        var(--fe-color-bg-alt, #f1f5f9) 100%
    );
    background-size: 200% 100%;
    animation: lp-list-skeleton-shimmer 1.4s ease-in-out infinite;
    border-radius: var(--fe-radius, 8px);
}

[data-theme="dark"] .lp-list-skeleton .skeleton {
    background: linear-gradient(
        90deg,
        var(--fe-color-surface) 0%,
        var(--fe-color-border) 45%,
        var(--fe-color-surface) 55%,
        var(--fe-color-surface) 100%
    );
    background-size: 200% 100%;
}

.lp-list-skeleton__card {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 1rem;
    padding: 1rem;
    background: var(--fe-color-bg-alt, #f8fafc);
    border: 1px solid var(--fe-color-border, #e2e8f0);
    border-radius: var(--fe-radius-lg, 12px);
}

.lp-list-skeleton__img {
    flex-shrink: 0;
    width: 270px;
    height: auto;
    min-height: 145px;
    aspect-ratio: 16 / 9;
    border-radius: var(--fe-radius, 8px);
}

.lp-list-skeleton__body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.lp-list-skeleton__title {
    display: block;
    width: 55%;
    height: 1.5rem;
    border-radius: 4px;
}

.lp-list-skeleton__line {
    display: block;
    height: 0.875rem;
    border-radius: 4px;
}

.lp-list-skeleton__line--80 { width: 80%; }
.lp-list-skeleton__line--60 { width: 60%; }

@media (max-width: 768px) {
    .lp-list-skeleton__card {
        flex-direction: column;
        align-items: stretch;
    }
    .lp-list-skeleton__img {
        width: 100%;
        height: auto;
        min-height: 140px;
        aspect-ratio: 16 / 9;
    }
}

@keyframes lp-spin {
    to { transform: rotate(360deg); }
}

.lp-featured {
    margin-bottom: var(--lp-gap);
}
.lp-featured__link {
    display: flex;
    border-radius: var(--lp-card-radius);
    overflow: hidden;
    background: var(--lp-card-bg);
    box-shadow: var(--lp-card-shadow);
    border: 1px solid var(--lp-card-border);
    text-decoration: none;
    color: inherit;
    transition: box-shadow 0.25s ease, transform 0.2s ease;
}
.lp-featured__link:hover {
    box-shadow: var(--lp-card-shadow-hover);
    transform: translateY(-2px);
}

.lp-featured__img {
    position: relative;
    width: var(--lp-featured-img-w);
    flex-shrink: 0;
    overflow: hidden;
    background: var(--fe-color-bg-alt);
}
.lp-featured__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
}
.lp-featured__link:hover .lp-featured__img img {
    transform: scale(1.04);
}
.lp-featured__img--placeholder {
    aspect-ratio: 16 / 9;
    background: var(--card-img-placeholder, linear-gradient(135deg, #e2e8f0, #cbd5e1));
}

.lp-featured__body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    flex: 1;
    padding: 1.75rem 2rem;
    min-width: 0;
}

.lp-featured__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    align-self: flex-start;
    padding: 0.25rem 0.625rem;
    margin-bottom: 0.75rem;
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    line-height: 1.2;
    color: var(--lp-badge-text);
    background: var(--lp-badge-bg);
    border-radius: 4px;
}
.lp-featured__badge .category-icon {
    color: #fff !important;
    filter: brightness(0) invert(1);
    line-height: 1;
    display: inline-flex;
    align-items: center;
}

.lp-featured__title {
    margin: 0;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -0.015em;
    color: var(--fe-color-text);
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: color 0.15s;
}
.lp-featured__link:hover .lp-featured__title {
    color: var(--fe-color-primary);
}

.lp-featured__excerpt {
    margin: 0.625rem 0 0;
    font-size: 0.9375rem;
    font-weight: 400;
    line-height: 1.6;
    color: var(--fe-color-text-muted);
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.lp-featured__meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: auto;
    padding-top: 1rem;
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--fe-color-text-muted);
}
.lp-featured__meta svg {
    flex-shrink: 0;
    opacity: 0.55;
}

.lp-body {
    display: grid;
    grid-template-columns: 1fr var(--lp-sidebar-w);
    gap: var(--lp-gap);
    align-items: start;
}
.lp-body--no-sidebar {
    grid-template-columns: 1fr;
}
.lp-list-wrap {
    min-width: 0;
}

.lp-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--lp-gap);
}

.lp-card {
    position: relative;
}
.lp-card__link {
    display: flex;
    align-items: stretch;
    border-radius: var(--lp-card-radius);
    overflow: hidden;
    background: var(--lp-card-bg);
    box-shadow: var(--lp-card-shadow);
    border: 1px solid var(--lp-card-border);
    text-decoration: none;
    color: inherit;
    transition: box-shadow 0.25s ease, transform 0.2s ease;
}
.lp-card__link:hover {
    box-shadow: var(--lp-card-shadow-hover);
    transform: translateY(-2px);
}

.lp-card__img {
    position: relative;
    width: var(--lp-card-img-w);
    flex-shrink: 0;
    overflow: hidden;
    background: var(--fe-color-bg-alt);
    align-self: stretch;
}
.lp-card__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    vertical-align: bottom;
    transition: transform 0.4s ease;
}
.lp-card__link:hover .lp-card__img img {
    transform: scale(1.05);
}
.lp-card__img--placeholder {
    aspect-ratio: 16 / 9;
    background: var(--card-img-placeholder, linear-gradient(135deg, #e2e8f0, #cbd5e1));
}

.lp-card__body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    flex: 1;
    padding: 1rem 1.25rem;
    min-width: 0;
}

.lp-card__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    align-self: flex-start;
    padding: 0.2rem 0.5rem;
    margin-bottom: 0.5rem;
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    line-height: 1.2;
    color: var(--lp-badge-text);
    background: var(--lp-badge-bg);
    border-radius: 4px;
}
.lp-card__badge .category-icon {
    color: #fff !important;
    filter: brightness(0) invert(1);
    line-height: 1;
    display: inline-flex;
    align-items: center;
}

.lp-card__title {
    margin: 0;
    font-size: 1.0625rem;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: -0.01em;
    color: var(--fe-color-text);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: color 0.15s;
    
    min-height: 2.8em;
}
.lp-card__link:hover .lp-card__title {
    color: var(--fe-color-primary);
}

.lp-card__excerpt {
    margin: 0.375rem 0 0;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.55;
    color: var(--fe-color-text-muted);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.lp-card__meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.625rem;
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--fe-color-text-muted);
}
.lp-card__meta svg {
    flex-shrink: 0;
    opacity: 0.55;
}

.lp-meta__author {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.lp-meta__dot {
    display: inline-block;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: currentColor;
    opacity: 0.35;
    flex-shrink: 0;
}
.lp-meta__date {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    white-space: nowrap;
}
.lp-meta__comments {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    white-space: nowrap;
}

.lp-header--author {
    min-height: 200px;
}
.lp-header--author .lp-header__inner {
    padding-bottom: 3rem;
}

.lp-author-hero {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    margin-top: 0.5rem;
}

.lp-author-hero__avatar {
    width: 96px;
    height: 96px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    border: 3px solid rgba(255,255,255,0.3);
    box-shadow: 0 4px 16px rgba(0,0,0,0.25);
}
.lp-author-hero__avatar--placeholder {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 2.25rem;
    font-weight: 700;
    color: #fff;
    background: linear-gradient(135deg, var(--fe-color-primary), var(--fe-color-primary-hover));
    border-color: rgba(255,255,255,0.2);
}

.lp-author-hero__info {
    flex: 1;
    min-width: 0;
}

.lp-author-hero__name-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem 0.75rem;
}
.lp-author-hero__name-row .lp-header__title {
    margin: 0;
}
.lp-author-hero__name-row .lp-author-hero__social {
    margin-top: 0;
}

.lp-author-hero__title {
    margin: 0.25rem 0 0;
    font-size: 0.9375rem;
    font-weight: 500;
    color: rgba(255,255,255,0.7);
}

.lp-author-hero__bio {
    margin: 0.5rem 0 0;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.6;
    color: rgba(255,255,255,0.65);
}

.lp-author-hero__social {
    display: flex;
    gap: 0.375rem;
    flex-wrap: wrap;
    margin-top: 0.75rem;
}
.lp-author-hero__social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    color: rgba(255,255,255,0.85);
    text-decoration: none;
    transition: color 0.2s, background 0.2s;
}
.lp-author-hero__social-link:hover {
    color: #fff;
    background: rgba(255,255,255,0.12);
}
.lp-author-hero__social-link[data-social="facebook"]:hover { color: #4d9aff; }
.lp-author-hero__social-link[data-social="twitter"]:hover { color: #e2e8f0; }
.lp-author-hero__social-link[data-social="youtube"]:hover { color: #ff6b6b; }
.lp-author-hero__social-link[data-social="instagram"]:hover { color: #f472b6; }
.lp-author-hero__social-link[data-social="pinterest"]:hover { color: #f87171; }
.lp-author-hero__social-link[data-social="tiktok"]:hover { color: #e2e8f0; }
.lp-author-hero__social-link[data-social="linkedin"]:hover { color: #60a5fa; }
.lp-author-hero__social-link[data-social="steam"]:hover { color: #c7d5e0; }
.lp-author-hero__social-link[data-social="discord"]:hover { color: #818cf8; }
.lp-author-hero__social-link[data-social="email"]:hover { color: #fca5a5; }
.lp-author-hero__social-link[data-social="rss"]:hover { color: #fbbf24; }
.lp-author-hero__social-link[data-social="website"]:hover { color: #fff; }
.lp-author-hero__social-link[data-social="microsoft"]:hover { color: #38bdf8; }
.lp-author-hero__social-link[data-social="other"]:hover { color: #fff; }
.lp-author-hero__social-link svg {
    width: 18px;
    height: 18px;
}

.lp-empty {
    text-align: center;
    max-width: 760px;
    margin: 0 auto 1rem;
    padding: 1.25rem 1rem;
    color: var(--fe-color-text-muted);
    font-size: 1rem;
    font-weight: 400;
    background: var(--fe-color-bg-alt);
    border: 1px dashed var(--fe-color-border);
    border-radius: 12px;
}

.lp-empty a {
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.lp-search-discover {
    max-width: var(--fe-main-max);
    margin: 0 auto;
    padding: 2.5rem 0 3rem;
}
.lp-search-discover--no-results {
    padding-top: 2rem;
}
.lp-search-discover__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem 3rem;
    align-items: start;
}
.lp-search-discover__grid--no-results {
    margin-top: 0;
}
.lp-search-discover__col {
    padding: 0;
}
.lp-search-discover__title {
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: var(--fe-color-text-muted);
    margin: 0 0 0.875rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid var(--lp-card-border);
}
.lp-search-discover__list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.lp-search-discover__list li {
    margin: 0;
    padding: 0;
}
.lp-search-discover__list li + li {
    margin-top: 0.125rem;
}
.lp-search-discover__link {
    display: block;
    font-size: 0.9375rem;
    font-weight: 500;
    color: var(--fe-color-text);
    text-decoration: none;
    padding: 0.375rem 0;
    line-height: 1.4;
    transition: color 0.15s;
    border-left: 3px solid transparent;
    padding-left: 0.5rem;
    margin-left: -0.5rem;
}
.lp-search-discover__link:hover {
    color: var(--fe-color-primary);
    border-left-color: var(--fe-color-primary);
}

.lp-search-no-results {
    text-align: center;
    padding: 2.5rem 1.5rem 1rem;
    max-width: 32em;
    margin: 0 auto;
}
.lp-search-no-results__message {
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--fe-color-text);
    margin: 0 0 0.5rem;
    line-height: 1.45;
}
.lp-search-load-more {
    margin: 1.5rem 0 0;
    text-align: center;
}
.lp-search-load-more__btn {
    padding: 0.5rem 1.25rem;
    font-size: 0.9375rem;
    font-weight: 600;
    color: #fff;
    background: var(--fe-color-primary);
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: background 0.2s, opacity 0.2s;
}
.lp-search-load-more__btn:hover:not(:disabled) {
    background: var(--fe-color-primary-hover);
}
.lp-search-load-more__btn:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}

.lp-search-no-results__hint {
    font-size: 0.9375rem;
    color: var(--fe-color-text-muted);
    margin: 0;
    line-height: 1.5;
}

.lp-rate-limit {
    padding: 1rem 1.25rem;
    background: var(--flash-error-bg);
    border: 1px solid var(--flash-error-border);
    border-radius: var(--fe-radius);
    color: var(--fe-color-danger);
    font-size: 0.9375rem;
    font-weight: 500;
    margin-bottom: var(--lp-gap);
}

@media (max-width: 900px) {
    .lp-header__title { font-size: 1.625rem; }
    .lp-header__inner { padding: 2rem var(--fe-spacing-lg) 2.5rem; }

    .lp-featured__link { flex-direction: column; }
    .lp-featured__img { width: 100%; aspect-ratio: 16 / 9; }
    .lp-featured__body { padding: 1.25rem 1.5rem; }
    .lp-featured__title { font-size: 1.25rem; }

    .lp-card__img { width: 200px; }
    .lp-card__body { padding: 0.875rem 1rem; }

    .lp-body { gap: 1.5rem; --lp-sidebar-w: 240px; }

}

@media (max-width: 600px) {
    .lp-header__title { font-size: 1.375rem; }
    .lp-header__desc { font-size: 0.9375rem; }
    .lp-header__inner { padding: 1.75rem 1rem 2.25rem; }
    .lp-header::after { height: 28px; }
    .lp-header__bread { display: none; }

    .lp-content { padding-top: 1rem; padding-bottom: 2rem; }

    .lp-featured__body { padding: 1rem 1.25rem; }
    .lp-featured__title { font-size: 1.125rem; -webkit-line-clamp: 2; }
    .lp-featured__excerpt { -webkit-line-clamp: 2; font-size: 0.875rem; }

    .lp-card__link { flex-direction: column; }
    .lp-card__img { width: 100%; aspect-ratio: 16 / 9; }
    .lp-card__body { padding: 0.875rem 1rem; }
    .lp-card__title { font-size: 1rem; }

    .lp-author-hero { flex-direction: column; align-items: center; text-align: center; gap: 1rem; }
    .lp-author-hero__name-row { flex-direction: column; align-items: center; gap: 0.5rem; }
    .lp-author-hero__name-row .lp-author-hero__social { margin-top: 0; }
    .lp-author-hero__social { justify-content: center; }

    .lp-header__search { max-width: 100%; }

    .lp-search-discover { padding: 1.5rem 0 2.5rem; }
    .lp-search-discover--no-results { padding-top: 1.5rem; }
    .lp-search-discover__grid {
        grid-template-columns: 1fr;
        gap: 1.75rem;
    }
    .lp-search-no-results { padding: 2rem 1rem 1rem; }
    .lp-search-no-results__message { font-size: 1rem; }
}

@media (max-width: 400px) {
    .lp-header__title { font-size: 1.25rem; }
    .lp-header__inner { padding: 1.5rem 0.75rem 2rem; }
    .lp-content { padding-top: 0.5rem; padding-bottom: 2rem; }
}

.lp-codes-wrap:not(.lp-codes-ready) .lp-codes-skeleton { display: grid; }
.lp-codes-wrap:not(.lp-codes-ready) .lp-codes-content { display: none !important; }
.lp-codes-wrap.lp-codes-ready .lp-codes-skeleton { display: none !important; }
.lp-codes-wrap.lp-codes-ready .lp-codes-content { display: block; }

/* Kodlar: üst grid → masthead → orta grid → list_feed → alt grid (bloklar arası boşluk) */
.lp-codes-content > * + * {
    margin-top: 1.25rem;
}

@keyframes lp-codes-skeleton-shimmer {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}
.lp-codes-wrap .lp-codes-skeleton .skeleton {
    background: linear-gradient(
        90deg,
        var(--fe-color-bg-alt, #f1f5f9) 0%,
        var(--fe-color-border, #e2e8f0) 45%,
        var(--fe-color-bg-alt, #f1f5f9) 55%,
        var(--fe-color-bg-alt, #f1f5f9) 100%
    );
    background-size: 200% 100%;
    animation: lp-codes-skeleton-shimmer 1.4s ease-in-out infinite;
    border-radius: var(--lp-card-radius);
    pointer-events: none;
}
[data-theme="dark"] .lp-codes-wrap .lp-codes-skeleton .skeleton {
    background: linear-gradient(
        90deg,
        var(--fe-color-surface) 0%,
        var(--fe-color-border) 45%,
        var(--fe-color-surface) 55%,
        var(--fe-color-surface) 100%
    );
    background-size: 200% 100%;
}

.lp-codes-skeleton__card {
    display: flex;
    flex-direction: column;
    border-radius: var(--gc-radius);
    overflow: hidden;
    background: var(--gc-bg);
    box-shadow: var(--gc-shadow);
}
.lp-codes-skeleton__img {
    aspect-ratio: var(--gc-img-ratio);
    width: 100%;
    flex-shrink: 0;
}
.lp-codes-skeleton__body {
    padding: var(--gc-body-pad);
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.lp-codes-skeleton__badge {
    display: block;
    width: 5rem;
    height: 1.25rem;
    border-radius: 4px;
}
.lp-codes-skeleton__title {
    display: block;
    width: 95%;
    height: 1rem;
    border-radius: 4px;
}
.lp-codes-skeleton__meta {
    display: block;
    width: 40%;
    height: 0.75rem;
    margin-top: 0.25rem;
    border-radius: 4px;
}

.lp-game-hero,
.lp-company-hero {
    display: flex;
    align-items: flex-start;
    gap: 1.5rem;
    margin-top: 0.5rem;
}
.lp-game-hero__cover-wrap {
    flex-shrink: 0;
    border-radius: var(--lp-card-radius);
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(0,0,0,0.25);
    border: 2px solid rgba(255,255,255,0.2);
}
.lp-game-hero__cover {
    display: block;
    width: 240px;
    height: auto;
    object-fit: cover;
}
.lp-company-hero__logo-wrap {
    flex-shrink: 0;
    border-radius: 12px;
    overflow: hidden;
    background: rgba(255,255,255,0.1);
    padding: 0.5rem;
}
.lp-company-hero__logo {
    display: block;
    width: 120px;
    height: 120px;
    object-fit: contain;
}
.lp-game-hero__info,
.lp-company-hero__info {
    flex: 1;
    min-width: 0;
}
.lp-game-hero__meta,
.lp-game-hero__meta-row,
.lp-company-hero__meta-row {
    margin: 0.25rem 0 0;
    font-size: 0.9375rem;
    color: rgba(255,255,255,0.75);
}
.lp-game-hero__meta-row a,
.lp-company-hero__meta-row a {
    color: rgba(255,255,255,0.9);
    text-decoration: none;
}
.lp-game-hero__meta-row a:hover,
.lp-company-hero__meta-row a:hover {
    text-decoration: underline;
}
.lp-game-hero__label,
.lp-company-hero__meta-row .lp-game-hero__label {
    font-weight: 600;
    color: rgba(255,255,255,0.85);
    margin-right: 0.25rem;
}
.lp-game-hero__desc,
.lp-company-hero__desc {
    margin: 0.5rem 0 0;
    font-size: 0.9375rem;
    line-height: 1.6;
    color: rgba(255,255,255,0.7);
}
.lp-section {
    margin-bottom: 2.5rem;
}
.lp-section__title {
    margin: 0 0 1rem;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--fe-color-text);
    padding-bottom: 0.5rem;
    border-bottom: 1px solid var(--lp-card-border);
}
.lp-code-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.lp-code-list li {
    padding: 0.5rem 0;
    border-bottom: 1px solid var(--lp-card-border);
    font-size: 0.9375rem;
}
.lp-code-list li:last-child { border-bottom: none; }
.lp-code-list a {
    color: var(--fe-color-text);
    text-decoration: none;
    font-weight: 500;
}
.lp-code-list a:hover { color: var(--fe-color-primary); }
.lp-code-list time {
    margin-left: 0.5rem;
    font-size: 0.8125rem;
    color: var(--fe-color-text-muted);
}
.lp-game-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 1rem;
    list-style: none;
    margin: 0;
    padding: 0;
}
.lp-game-grid__item { margin: 0; }
.lp-game-grid__link {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    text-decoration: none;
    color: var(--fe-color-text);
    padding: 0.5rem;
    border-radius: var(--lp-card-radius);
    background: var(--lp-card-bg);
    border: 1px solid var(--lp-card-border);
    transition: box-shadow 0.2s, border-color 0.2s;
}
.lp-game-grid__link:hover {
    box-shadow: var(--lp-card-shadow-hover);
    border-color: var(--fe-color-primary);
    color: var(--fe-color-primary);
}
.lp-game-grid__img {
    width: 100%;
    max-width: 120px;
    height: 160px;
    object-fit: cover;
    border-radius: 4px;
    margin-bottom: 0.5rem;
}
.lp-game-grid__placeholder {
    width: 100%;
    max-width: 120px;
    height: 160px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    font-weight: 700;
    color: var(--fe-color-text-muted);
    background: var(--fe-color-bg-alt);
    border-radius: 4px;
    margin-bottom: 0.5rem;
}
.lp-game-grid__name {
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.lp-game-grid__date {
    font-size: 0.75rem;
    color: var(--fe-color-text-muted);
    margin-top: 0.25rem;
}

.lp-card--list {
    display: flex;
    gap: 1rem;
    padding: 1rem 0;
    border-bottom: 1px solid var(--lp-card-border);
}
.lp-card--list:last-child { border-bottom: none; }
.lp-card--list .lp-card__img-wrap {
    flex-shrink: 0;
    width: 200px;
    border-radius: var(--lp-card-radius);
    overflow: hidden;
    background: var(--fe-color-bg-alt);
}
.lp-card--list .lp-card__img-wrap img {
    width: 100%;
    height: 112px;
    object-fit: cover;
    display: block;
}
.lp-card--list .lp-card__body { padding: 0; flex: 1; min-width: 0; }
.lp-card--list .lp-card__title { margin: 0; font-size: 1rem; }
.lp-card--list .lp-card__excerpt { margin: 0.35rem 0 0; font-size: 0.875rem; }
.lp-card--list .lp-card__date { font-size: 0.8125rem; color: var(--fe-color-text-muted); margin-top: 0.35rem; }
@media (max-width: 600px) {
    .lp-game-hero,
    .lp-company-hero { flex-direction: column; align-items: flex-start; }
    .lp-game-hero__cover { width: 160px; }
    .lp-game-grid { grid-template-columns: repeat(2, 1fr); }
}

.tag-entity-card {
    margin-bottom: var(--lp-gap);
}
.lp-header--hidden { display: none; }
