* {
    box-sizing: border-box;
}

html,
body {
    margin: 0;
    padding: 0;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
    color: #222;
    background: #fff7fa;
}

a {
    color: inherit;
    text-decoration: none;
}

img {
    max-width: 100%;
    display: block;
}

.container {
    width: min(1180px, calc(100% - 28px));
    margin: 0 auto;
}

.main {
    padding: 20px 0 80px;
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 50;
    background: rgba(255,255,255,.9);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid #ffe1ea;
}

.header-inner {
    height: 62px;
    display: flex;
    align-items: center;
    gap: 22px;
}

.logo {
    font-size: 22px;
    font-weight: 900;
    color: #ff2f6d;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
}

.logo img {
    display: block;
    max-height: 42px;
    width: auto;
    object-fit: contain;
}

.top-nav {
    display: flex;
    align-items: center;
    gap: 16px;
    flex: 1;
}

.top-nav a {
    font-size: 15px;
    color: #555;
}

.top-nav a:hover {
    color: #ff2f6d;
}

.header-user {
    font-size: 14px;
    color: #ff2f6d;
    font-weight: 700;
}

.site-footer {
    color: #999;
    text-align: center;
    padding: 30px 0 90px;
    font-size: 13px;
}

.page-title {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 12px;
    margin: 8px 0 18px;
}

.page-title h1 {
    margin: 0;
    font-size: 28px;
}

.page-title p {
    margin: 6px 0 0;
    color: #888;
}

.section {
    margin: 26px 0;
}

.section-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 14px;
}

.section-head h2 {
    margin: 0;
    font-size: 22px;
}

.more {
    color: #ff2f6d;
    font-size: 14px;
}

.grid {
    display: grid;
    gap: 16px;
}

.grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.grid-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.card {
    background: #fff;
    border: 1px solid #ffe1ea;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 8px 22px rgba(255, 47, 109, .08);
}

.card-body {
    padding: 14px;
}

.btn {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-height: 40px;
    padding: 0 18px;
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    background: #ff2f6d;
    color: #fff;
    font-weight: 700;
    font-size: 14px;
}

.btn.secondary {
    background: #fff;
    color: #ff2f6d;
    border: 1px solid #ffb8cc;
}

.btn.block {
    width: 100%;
}

.form {
    max-width: 620px;
    margin: 0 auto;
    background: #fff;
    border: 1px solid #ffe1ea;
    border-radius: 20px;
    padding: 22px;
    box-shadow: 0 8px 22px rgba(255, 47, 109, .08);
}

.form-row {
    margin-bottom: 16px;
}

.form-row label {
    display: block;
    margin-bottom: 7px;
    font-weight: 700;
}

.input,
.textarea,
.select {
    width: 100%;
    border: 1px solid #ffd3df;
    border-radius: 14px;
    padding: 12px 14px;
    font-size: 15px;
    background: #fff;
    outline: none;
}

.textarea {
    min-height: 130px;
    resize: vertical;
}

.input:focus,
.textarea:focus,
.select:focus {
    border-color: #ff2f6d;
}

.alert {
    padding: 12px 14px;
    border-radius: 14px;
    margin-bottom: 16px;
    background: #fff0f4;
    color: #d81b54;
}

.success {
    background: #eefbf2;
    color: #17833d;
}

.empty {
    padding: 42px 16px;
    text-align: center;
    background: #fff;
    border: 1px dashed #ffd3df;
    border-radius: 18px;
    color: #999;
}

.badge {
    display: inline-flex;
    padding: 4px 9px;
    border-radius: 999px;
    font-size: 12px;
    background: #fff0f4;
    color: #ff2f6d;
}

.meta {
    color: #999;
    font-size: 13px;
}

.detail {
    background: #fff;
    border: 1px solid #ffe1ea;
    border-radius: 20px;
    padding: 20px;
    line-height: 1.85;
}

.table-wrap {
    overflow-x: auto;
    background: #fff;
    border-radius: 18px;
    border: 1px solid #ffe1ea;
}

.table {
    width: 100%;
    border-collapse: collapse;
    min-width: 760px;
}

.table th,
.table td {
    padding: 13px 14px;
    border-bottom: 1px solid #fff0f4;
    text-align: left;
    font-size: 14px;
}

.table th {
    color: #777;
    background: #fff8fa;
}

.mobile-tabbar {
    display: none;
}

@media (max-width: 768px) {
    .top-nav {
        display: none;
    }

    .header-inner {
        height: 56px;
    }

    .grid-2,
    .grid-3,
    .grid-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .page-title h1 {
        font-size: 23px;
    }

    .mobile-tabbar {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 99;
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        height: 58px;
        background: rgba(255,255,255,.96);
        border-top: 1px solid #ffe1ea;
        backdrop-filter: blur(12px);
    }

    .mobile-tabbar a {
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 13px;
        color: #666;
    }

    .site-footer {
        padding-bottom: 80px;
    }
}

/* ===== Modern content cards & detail pages ===== */
.card {
    border: 1px solid rgba(255, 47, 109, .12);
    box-shadow: 0 12px 30px rgba(255, 47, 109, .06);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.card:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 42px rgba(255, 47, 109, .12);
    border-color: rgba(255, 47, 109, .2);
}

.card h3,
.card h2 {
    letter-spacing: -.02em;
}

/* 无图动态/文章/求购卡片：增加渐变封面，避免纯文字空白 */
.post-card,
.article-card,
.request-card {
    position: relative;
    overflow: hidden;
}

.post-card:not(:has(img))::before,
.article-card:not(:has(img))::before,
.request-card:not(:has(img))::before {
    content: "";
    display: block;
    height: 120px;
    margin: -18px -18px 16px;
    border-radius: 18px 18px 0 0;
    background:
        radial-gradient(circle at 20% 20%, rgba(255,255,255,.95), rgba(255,255,255,0) 28%),
        radial-gradient(circle at 85% 25%, rgba(255,111,160,.25), rgba(255,111,160,0) 32%),
        linear-gradient(135deg, #fff1f6 0%, #ffe1ec 48%, #fff8fb 100%);
}

.post-card:not(:has(img))::after,
.article-card:not(:has(img))::after,
.request-card:not(:has(img))::after {
    content: "YO";
    position: absolute;
    right: 18px;
    top: 18px;
    width: 42px;
    height: 42px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    color: #ff2f6d;
    font-weight: 900;
    background: rgba(255,255,255,.78);
    box-shadow: 0 8px 22px rgba(255,47,109,.12);
}

.post-card p,
.article-card p,
.request-card p {
    color: #697386;
    line-height: 1.75;
}

.post-card .muted,
.article-card .muted,
.request-card .muted,
.card .muted {
    color: #9aa4b2;
    font-size: 13px;
}

/* 详情页：现代化阅读卡片 */
.detail,
.detail-card,
.content-detail,
.article-detail,
.post-detail,
.request-detail,
.goods-detail,
.goddess-detail {
    border: 1px solid rgba(255, 47, 109, .13);
    border-radius: 22px;
    background: rgba(255,255,255,.92);
    box-shadow: 0 18px 48px rgba(255, 47, 109, .08);
    padding: 30px;
}

.detail h1,
.detail-card h1,
.content-detail h1,
.article-detail h1,
.post-detail h1,
.request-detail h1,
.goods-detail h1,
.goddess-detail h1 {
    margin: 0 0 14px;
    font-size: 32px;
    line-height: 1.25;
    letter-spacing: -.04em;
}

.detail .meta,
.detail-card .meta,
.content-detail .meta,
.article-detail .meta,
.post-detail .meta,
.request-detail .meta,
.goods-detail .meta,
.goddess-detail .meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 24px;
    color: #8b95a1;
    font-size: 13px;
}

.detail .meta span,
.detail-card .meta span,
.content-detail .meta span,
.article-detail .meta span,
.post-detail .meta span,
.request-detail .meta span,
.goods-detail .meta span,
.goddess-detail .meta span {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 4px 10px;
    border-radius: 999px;
    background: #fff3f7;
    color: #7d5361;
}

/* 详情页老横线弱化成渐变分隔 */
.detail hr,
.detail-card hr,
.content-detail hr,
.article-detail hr,
.post-detail hr,
.request-detail hr,
.goods-detail hr,
.goddess-detail hr,
.card hr {
    border: 0;
    height: 1px;
    margin: 22px 0;
    background: linear-gradient(90deg, rgba(255,47,109,0), rgba(255,47,109,.22), rgba(255,47,109,0));
}

.detail .content,
.detail-card .content,
.content-detail .content,
.article-detail .content,
.post-detail .content,
.request-detail .content,
.goods-detail .content,
.goddess-detail .content {
    color: #2b2f36;
    font-size: 16px;
    line-height: 1.9;
}

.detail .content p,
.detail-card .content p,
.content-detail .content p,
.article-detail .content p,
.post-detail .content p,
.request-detail .content p,
.goods-detail .content p,
.goddess-detail .content p {
    margin: 0 0 1em;
}

@media (max-width: 768px) {
    .detail,
    .detail-card,
    .content-detail,
    .article-detail,
    .post-detail,
    .request-detail,
    .goods-detail,
    .goddess-detail {
        padding: 20px;
        border-radius: 18px;
    }

    .detail h1,
    .detail-card h1,
    .content-detail h1,
    .article-detail h1,
    .post-detail h1,
    .request-detail h1,
    .goods-detail h1,
    .goddess-detail h1 {
        font-size: 25px;
    }
}

/* ===== Modern detail head extras ===== */
.detail-head {
    position: relative;
    padding-bottom: 22px;
    margin-bottom: 24px;
}

.detail-head::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: linear-gradient(90deg, rgba(255,47,109,.26), rgba(255,47,109,.08), rgba(255,47,109,0));
}

.detail-kicker {
    display: inline-flex;
    align-items: center;
    height: 28px;
    padding: 0 12px;
    margin-bottom: 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, #ff2f6d, #ff7aa8);
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    box-shadow: 0 8px 20px rgba(255,47,109,.18);
}

.detail-notice {
    margin-top: 24px;
    padding: 14px 16px;
    border-radius: 16px;
    background: #fff7fa;
    border: 1px solid rgba(255,47,109,.12);
    color: #8b6470;
    font-size: 14px;
    line-height: 1.7;
}

.detail > .content {
    padding-top: 2px;
}

.detail > .content > p:last-child {
    margin-bottom: 0;
}

/* ===== Detail media/content polish ===== */
.article-summary {
    margin: -4px 0 22px;
    padding: 16px 18px;
    border-radius: 18px;
    background: linear-gradient(135deg, #fff7fa, #fff);
    border: 1px solid rgba(255,47,109,.12);
    color: #765866;
    font-size: 15px;
    line-height: 1.8;
    font-weight: 700;
}

.detail-cover {
    margin: 0 0 24px;
    overflow: hidden;
    border-radius: 22px;
    background: #fff7fa;
    box-shadow: 0 16px 34px rgba(27,31,42,.08);
}

.detail-cover img,
.detail > p > img,
.article-detail > p > img,
.request-detail > p > img,
.post-detail > p > img,
.goods-detail > p > img,
.goddess-detail > p > img {
    display: block;
    width: 100%;
    max-height: 620px;
    object-fit: cover;
    border-radius: 22px;
}

.detail-cover img {
    border-radius: 0;
}

.article-body,
.post-body {
    padding: 2px 0 0;
    word-break: break-word;
}

.post-gallery {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-top: 26px;
}

.post-gallery figure {
    margin: 0;
    overflow: hidden;
    border-radius: 20px;
    background: #fff7fa;
    box-shadow: 0 12px 28px rgba(27,31,42,.08);
}

.post-gallery img {
    display: block;
    width: 100%;
    height: 320px;
    object-fit: cover;
    transition: transform .22s ease;
}

.post-gallery figure:hover img {
    transform: scale(1.025);
}

.detail-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
    padding-top: 22px;
    border-top: 1px solid rgba(255,47,109,.10);
}

@media (max-width: 768px) {
    .article-summary {
        margin-bottom: 18px;
        padding: 14px 15px;
        border-radius: 16px;
        font-size: 14px;
    }

    .detail-cover,
    .detail-cover img,
    .detail > p > img,
    .article-detail > p > img,
    .request-detail > p > img,
    .post-detail > p > img,
    .goods-detail > p > img,
    .goddess-detail > p > img {
        border-radius: 16px;
    }

    .detail-cover img,
    .detail > p > img,
    .article-detail > p > img,
    .request-detail > p > img,
    .post-detail > p > img,
    .goods-detail > p > img,
    .goddess-detail > p > img {
        max-height: 460px;
    }

    .post-gallery {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .post-gallery figure {
        border-radius: 16px;
    }

    .post-gallery img {
        height: auto;
        max-height: 520px;
    }

    .detail-actions {
        margin-top: 22px;
        padding-top: 18px;
    }
}

/* ===== Unified card media placeholders ===== */
.card-media {
    position: relative;
    display: block;
    width: 100%;
    overflow: hidden;
    background: #fff7fa;
}

.card-media .cover {
    display: block;
    width: 100%;
    height: 190px;
    object-fit: cover;
}

.media-placeholder {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 190px;
    overflow: hidden;
    color: #fff;
    font-size: 15px;
    font-weight: 900;
    letter-spacing: .16em;
    text-indent: .16em;
}

.media-placeholder::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .95;
}

.media-placeholder::after {
    content: "YO";
    position: absolute;
    right: 14px;
    bottom: 10px;
    color: rgba(255,255,255,.46);
    font-size: 34px;
    font-weight: 1000;
    letter-spacing: -.04em;
}

.media-placeholder span {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 72px;
    height: 34px;
    padding: 0 14px;
    border-radius: 999px;
    background: rgba(255,255,255,.22);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.28);
    backdrop-filter: blur(6px);
}

.media-post::before {
    background:
        radial-gradient(circle at 18% 20%, rgba(255,255,255,.35), transparent 28%),
        linear-gradient(135deg, #ff2f6d, #ff8db5);
}

.media-goods::before {
    background:
        radial-gradient(circle at 80% 22%, rgba(255,255,255,.34), transparent 30%),
        linear-gradient(135deg, #ff7a45, #ff2f6d);
}

.media-request::before {
    background:
        radial-gradient(circle at 20% 78%, rgba(255,255,255,.34), transparent 30%),
        linear-gradient(135deg, #7c4dff, #ff5c93);
}

.media-article::before {
    background:
        radial-gradient(circle at 82% 78%, rgba(255,255,255,.32), transparent 30%),
        linear-gradient(135deg, #14b8a6, #ff6fa3);
}

.xhs-card .card-media:first-child {
    border-radius: 18px 18px 0 0;
}

.xhs-card:hover .card-media .cover {
    transform: scale(1.025);
}

.xhs-card .card-media .cover {
    transition: transform .22s ease;
}

@media (max-width: 768px) {
    .card-media .cover,
    .media-placeholder {
        height: 170px;
    }

    .media-placeholder::after {
        right: 12px;
        bottom: 8px;
        font-size: 28px;
    }
}

/* ===== Disable legacy post-card pseudo placeholder after card-media migration ===== */
.post-card::before,
.post-card::after {
    content: none !important;
    display: none !important;
}

.post-card .card-media {
    flex-shrink: 0;
}

.post-card .card-body {
    min-height: 136px;
}

/* ===== Disable legacy pseudo placeholders after unified card-media migration ===== */
.post-card::before,
.post-card::after,
.goods-card::before,
.goods-card::after,
.request-card::before,
.request-card::after,
.article-card::before,
.article-card::after {
    content: none !important;
    display: none !important;
}

.post-card .card-media,
.goods-card .card-media,
.request-card .card-media,
.article-card .card-media {
    flex-shrink: 0;
}

.post-card .card-body,
.goods-card .card-body,
.request-card .card-body,
.article-card .card-body {
    min-height: 128px;
}

/* ===== Final unified card media tuning ===== */
.xhs-card .card-media {
    height: 150px;
    min-height: 150px;
    max-height: 150px;
    overflow: hidden;
    border-radius: 16px 16px 0 0;
    background: #f6f7fb;
}

.xhs-card .card-media .cover,
.xhs-card .card-media .media-placeholder {
    width: 100%;
    height: 150px;
    min-height: 150px;
    max-height: 150px;
    display: block;
}

.xhs-card .card-media .cover {
    object-fit: cover;
}

.xhs-card .card-media .media-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Final disable all legacy pseudo placeholders after unified card-media migration */
.post-card::before,
.goods-card::before,
.request-card::before,
.article-card::before,
.xhs-card::before {
    display: none !important;
    content: none !important;
}

.post-card .card-media,
.goods-card .card-media,
.request-card .card-media,
.article-card .card-media {
    display: block !important;
}


/* Home post card meta layout */
.post-card .card-body {
    display: flex;
    flex-direction: column;
}

.post-card .card-body p {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom: 10px;
}

.home-post-meta {
    margin-top: auto;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 4px;
    color: #9ca3af;
    font-size: 12px;
    line-height: 1.35;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.home-post-meta strong {
    color: #ff3d6e;
    font-weight: 700;
    max-width: 55%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.home-post-meta span {
    color: #a1a1aa;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Home post card meta: pill author + right bottom */
.home-post-meta {
    justify-content: flex-end;
    gap: 6px;
    width: 100%;
    margin-top: auto;
    padding-top: 8px;
    text-align: right;
}

.home-post-meta strong {
    flex: 0 1 auto;
    max-width: 58%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 2px 7px;
    border-radius: 999px;
    background: rgba(255, 61, 110, 0.1);
    color: #ff3d6e;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.35;
    box-shadow: inset 0 0 0 1px rgba(255, 61, 110, 0.12);
}

.home-post-meta span {
    flex: 0 1 auto;
    max-width: 52%;
    color: #a1a1aa;
    font-size: 11px;
    line-height: 1.35;
}

/* Goddess detail related posts pagination */
.section-subtitle {
    margin: 6px 0 0;
    color: #a1a1aa;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.45;
}

.section .pagination {
    margin: 22px auto 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
}

.section .pagination a,
.section .pagination span {
    min-width: 34px;
    height: 34px;
    padding: 0 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    transition: all .18s ease;
}

.section .pagination a {
    color: #52525b;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(228, 228, 231, 0.9);
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.04);
}

.section .pagination a:hover {
    color: #ff3d6e;
    border-color: rgba(255, 61, 110, 0.28);
    background: rgba(255, 61, 110, 0.06);
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(255, 61, 110, 0.1);
}

.section .pagination .current {
    color: #fff;
    border: 1px solid rgba(255, 61, 110, 0.65);
    background: linear-gradient(135deg, #ff6b9a 0%, #ff3d6e 100%);
    box-shadow: 0 10px 24px rgba(255, 61, 110, 0.22);
}

@media (max-width: 640px) {
    .section-subtitle {
        font-size: 12px;
    }

    .section .pagination {
        justify-content: center;
        gap: 6px;
        margin-top: 18px;
    }

    .section .pagination a,
    .section .pagination span {
        min-width: 30px;
        height: 30px;
        padding: 0 9px;
        font-size: 12px;
    }
}

/* Goddess detail related posts simple pagination */
.goddess-post-pagination {
    width: 100% !important;
    margin: 22px auto 0 !important;
    padding: 4px 0 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    flex-wrap: nowrap !important;
}

.goddess-post-pagination .page-btn {
    min-width: 76px !important;
    height: 34px !important;
    padding: 0 15px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255, 61, 110, 0.16) !important;
    background: rgba(255, 255, 255, 0.88) !important;
    color: #555 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    box-shadow: 0 8px 20px rgba(255, 61, 110, 0.07) !important;
}

.goddess-post-pagination a.page-btn:hover {
    color: #ff3d6e !important;
    border-color: rgba(255, 61, 110, 0.34) !important;
    background: rgba(255, 61, 110, 0.06) !important;
    transform: translateY(-1px) !important;
}

.goddess-post-pagination .page-b
    color: #fff !important;
    border-color: rgba(255, 61, 110, 0.68) !important;
    background: li
    box-shadow: 0 10px 24px rgba(255, 61, 110, 0.2) !important;
}

.goddess-post-pagination .page-btn.disabled {
    color: #c4c4c7 !important;
    border-color: rgba(228, 228, 231, 0.7) !important;
    background: rgba(250, 250, 250, 0.72) !important;
    box-shadow: none !important;
}

.goddess-post-pagination .page-info {
    min-width: 74px !important;
    height: 34px !important;
    padding: 0 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    border-radius: 999px !important;
    background: rgba(255, 61, 110, 0.08) !important;
    color: #9ca3af !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

.goddess-post-pagination .page-info strong {
    color: #ff3d6e !important;
    font-size: 15px !important;
    font-weight: 900 !important;
}

.goddess-post-pagination .page-info em {
    color: #d4d4d8 !important;
    font-style: normal !important;
}

@media (max-width: 640px) {
    .goddess-post-pagination {
        gap: 8px !important;
        margin-top: 18px !important;
    }

    .goddess-post-pagination .page-btn {
        min-width: 68px !important;
        height: 32px !important;
        padding: 0 12px !important;
        font-size: 12px !important;
    }

    .goddess-post-pagination .page-info {
        min-width: 62px !important;
        height: 32px !important;
        padding: 0 9px !important;
        font-size: 12px !important;
    }

    .goddess-post-pagination .page-info strong {
        font-size: 14px !important;
    }
}

/* Article detail body typography */
.article-detail {
    max-width: 920px;
    margin-left: auto;
    margin-right: auto;
}

.article-body {
    color: #333;
    font-size: 16px;
    line-height: 1.9;
    word-break: break-word;
}

.article-body h2 {
    margin: 28px 0 14px;
    padding-left: 12px;
    border-left: 4px solid #ff6fae;
    color: #222;
    font-size: 22px;
    line-height: 1.45;
    font-weight: 700;
}

.article-body h3 {
    margin: 24px 0 12px;
    color: #222;
    font-size: 19px;
    line-height: 1.5;
    font-weight: 700;
}

.article-body h4 {
    margin: 20px 0 10px;
    color: #333;
    font-size: 17px;
    line-height: 1.5;
    font-weight: 700;
}

.article-body p {
    margin: 14px 0;
}

.article-body ul,
.article-body ol {
    margin: 14px 0 14px 22px;
    padding: 0;
}

.article-body li {
    margin: 8px 0;
    line-height: 1.8;
}

.article-body blockquote {
    margin: 18px 0;
    padding: 12px 16px;
    border-left: 4px solid #f2a7c6;
    background: #fff5f9;
    color: #666;
    border-radius: 8px;
}

.article-summary {
    margin: 18px 0 22px;
    padding: 14px 16px;
    background: #fff7fb;
    border: 1px solid #ffd6e7;
    border-radius: 12px;
    color: #666;
    line-height: 1.8;
}

/* Article source and internal links */
.article-seo-box {
    margin-top: 34px;
    padding: 16px 18px;
    background: #fafafa;
    border: 1px solid #eee;
    border-radius: 12px;
    color: #666;
    font-size: 14px;
    line-height: 1.8;
}

.article-seo-box a {
    color: #d94f8c;
    text-decoration: none;
}

.article-seo-box a:hover {
    text-decoration: underline;
}

.article-source {
    margin: 0 0 10px;
}

.article-inner-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    align-items: center;
}

.article-inner-links a {
    display: inline-block;
    padding: 4px 10px;
    background: #fff;
    border: 1px solid #f1d5e2;
    border-radius: 999px;
    color: #d94f8c;
}

.article-inner-links strong {
    color: #444;
}

/* Article content optimize */
.article-body {
    margin-top: 18px;
    color: #333;
    font-size: 16px;
    line-height: 1.9;
    word-break: break-word;
}

.article-body p {
    margin: 0 0 16px;
}

.article-body h2 {
    position: relative;
    margin: 28px 0 14px;
    padding-left: 12px;
    font-size: 20px;
    line-height: 1.45;
    color: #222;
    font-weight: 700;
}

.article-body h2::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.25em;
    width: 4px;
    height: 1.1em;
    border-radius: 8px;
    background: #ff5f8f;
}

.article-body h3 {
    margin: 22px 0 12px;
    font-size: 18px;
    color: #222;
}

.article-body ul,
.article-body ol {
    margin: 12px 0 18px 22px;
    padding: 0;
}

.article-body li {
    margin-bottom: 8px;
}

.article-body blockquote {
    margin: 18px 0;
    padding: 12px 16px;
    border-left: 4px solid #ff8fb0;
    background: #fff5f8;
    color: #555;
    border-radius: 8px;
}

.article-seo-box {
    margin-top: 28px;
    padding: 16px;
    border-radius: 14px;
    background: #fff7fa;
    border: 1px solid #ffd6e2;
    color: #444;
    font-size: 14px;
    line-height: 1.8;
}

.article-seo-box p {
    margin: 0 0 10px;
}

.article-seo-box p:last-child {
    margin-bottom: 0;
}

.article-seo-box a {
    color: #e94f7d;
    text-decoration: none;
    border-bottom: 1px dashed rgba(233, 79, 125, 0.45);
}

.article-seo-box a:hover {
    color: #d9366b;
    border-bottom-color: #d9366b;
}

.article-related-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 6px;
}

.article-related-links a {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    padding: 5px 10px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid #ffd1de;
    color: #e94f7d;
    font-size: 13px;
    line-height: 1.4;
    text-decoration: none;
}

.article-related-links a:hover {
    background: #ffeaf1;
    color: #d9366b;
}

@media (max-width: 640px) {
    .article-body {
        font-size: 15px;
        line-height: 1.85;
    }

    .article-body h2 {
        font-size: 18px;
    }

    .article-seo-box {
        padding: 14px;
        border-radius: 12px;
    }
}

/* Fix article title pink line too long */
.article-body h2,
.article-content h2,
.article-detail h2 {
    position: relative !important;
    margin: 28px 0 14px !important;
    padding-left: 18px !important;
    border-left: none !important;
    line-height: 1.45 !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #111827 !important;
    background: transparent !important;
}

.article-body h2::before,
.article-content h2::before,
.article-detail h2::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 0.32em !important;
    width: 5px !important;
    height: 1.05em !important;
    min-height: 0 !important;
    max-height: 24px !important;
    border-radius: 999px !important;
    background: #ff5f8f !important;
    display: block !important;
}

.article-body h2::after,
.article-content h2::after,
.article-detail h2::after {
    content: none !important;
    display: none !important;
}

.article-body p,
.article-content p,
.article-detail p {
    margin-top: 0 !important;
    margin-bottom: 16px !important;
    line-height: 1.9 !important;
}


.hero {
    padding: 28px;
    border-radius: 28px;
    background: linear-gradient(135deg, #fff, #ffe6ef 55%, #ffd3e0);
    display: grid;
    grid-template-columns: 1.5fr .9fr;
    gap: 20px;
    align-items: center;
    overflow: hidden;
}

.hero h1 {
    margin: 0;
    font-size: 38px;
    line-height: 1.2;
    color: #222;
}

.hero p {
    color: #666;
    line-height: 1.8;
    margin: 14px 0 22px;
}

.hero-panel {
    background: rgba(255,255,255,.75);
    border: 1px solid rgba(255,255,255,.8);
    border-radius: 24px;
    padding: 20px;
    box-shadow: 0 15px 35px rgba(255,47,109,.14);
}

.hero-panel strong {
    display: block;
    font-size: 24px;
    color: #ff2f6d;
}

.xhs-card {
    transition: transform .2s ease, box-shadow .2s ease;
}

.xhs-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 32px rgba(255,47,109,.14);
}

.cover {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    background: #fff0f4;
}

.avatar-line {
    display: flex;
    align-items: center;
    gap: 10px;
}

.avatar {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    object-fit: cover;
    background: #ffe1ea;
}

.goddess-name {
    font-weight: 900;
    font-size: 16px;
}

.tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}

.tag {
    padding: 4px 8px;
    background: #fff0f4;
    color: #ff2f6d;
    border-radius: 999px;
    font-size: 12px;
}

.price {
    color: #ff2f6d;
    font-size: 22px;
    font-weight: 900;
}

.old-price {
    color: #aaa;
    text-decoration: line-through;
    margin-left: 6px;
    font-size: 13px;
}

.request-card h3,
.article-card h3,
.goods-card h3,
.post-card h3 {
    margin: 0 0 8px;
    font-size: 17px;
    line-height: 1.4;
}

.request-card p,
.article-card p,
.goods-card p,
.post-card p {
    color: #666;
    line-height: 1.65;
    margin: 0;
    font-size: 14px;
}

.profile-head {
    background: #fff;
    border: 1px solid #ffe1ea;
    border-radius: 24px;
    overflow: hidden;
}

.profile-cover {
    width: 100%;
    height: 260px;
    object-fit: cover;
    background: #ffe1ea;
}

.profile-info {
    padding: 18px;
    display: flex;
    gap: 16px;
    align-items: center;
}

.profile-info .avatar {
    width: 86px;
    height: 86px;
    margin-top: -48px;
    border: 4px solid #fff;
}

.profile-info h1 {
    margin: 0;
}

.actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.order-status {
    font-weight: 800;
    color: #ff2f6d;
}

@media (max-width: 768px) {
    .hero {
        grid-template-columns: 1fr;
        padding: 22px;
    }

    .hero h1 {
        font-size: 29px;
    }

    .profile-cover {
        height: 190px;
    }
}

/* 商品详情页：极简关联女神 */
.related-goddesses {
    margin: 18px 0;
    background: #fff;
    border: 1px solid #ffe1ea;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 10px 26px rgba(255, 47, 109, .06);
}

.related-goddesses h2 {
    margin: 0;
    padding: 14px 16px;
    font-size: 20px;
    line-height: 1.2;
    border-bottom: 1px solid #fff0f4;
}

.related-goddess-list {
    display: flex;
    flex-direction: column;
}

.related-goddess-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    border-bottom: 1px solid #fff0f4;
}

.related-goddess-item:last-child {
    border-bottom: none;
}

.related-goddess-main {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 11px;
}

.related-goddess-avatar {
    flex: 0 0 auto;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
    background: #ffe1ea;
}

.related-goddess-avatar-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ff2f6d;
    font-weight: 900;
    font-size: 18px;
}

.related-goddess-info {
    min-width: 0;
}

.related-goddess-name {
    font-size: 16px;
    font-weight: 900;
    color: #222;
    line-height: 1.35;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.related-goddess-meta {
    margin-top: 3px;
    font-size: 14px;
    color: #666;
    line-height: 1.35;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.related-goddess-link {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 86px;
    height: 34px;
    padding: 0 14px;
    border: 1px solid #ff9abb;
    border-radius: 999px;
    color: #ff2f6d;
    background: #fff;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}

.related-goddess-link:active {
    transform: scale(.98);
    background: #fff0f4;
}

@media (max-width: 420px) {
    .related-goddesses {
        border-radius: 18px;
    }

    .related-goddesses h2 {
        padding: 13px 14px;
        font-size: 19px;
    }

    .related-goddess-item {
        padding: 11px 12px;
        gap: 10px;
    }

    .related-goddess-avatar {
        width: 46px;
        height: 46px;
    }

    .related-goddess-link {
        min-width: 80px;
        height: 32px;
        padding: 0 12px;
        font-size: 13px;
    }
}

/* 用户中心底部客服联系方式 */
.contact-mini-section {
    margin-top: 16px;
    padding: 14px 16px;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(255, 244, 248, 0.92), rgba(255, 255, 255, 0.96));
    border: 1px solid rgba(255, 105, 150, 0.16);
    box-shadow: 0 8px 24px rgba(255, 105, 150, 0.08);
}

.contact-mini-section .section-head {
    margin-bottom: 10px;
}

.contact-mini-section .section-head h2 {
    font-size: 16px;
    line-height: 1.35;
    margin: 0;
    color: #333;
}

.contact-mini-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}

.contact-mini-item {
    min-width: 0;
    padding: 9px 10px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(255, 105, 150, 0.12);
}

.contact-mini-item span {
    display: block;
    margin-bottom: 4px;
    font-size: 12px;
    line-height: 1.25;
    color: #999;
}

.contact-mini-item strong {
    display: block;
    font-size: 13px;
    line-height: 1.35;
    color: #333;
    font-weight: 600;
    word-break: break-all;
}

@media (max-width: 768px) {
    .contact-mini-section {
        margin-top: 12px;
        padding: 12px;
        border-radius: 16px;
    }

    .contact-mini-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }
}

@media (max-width: 420px) {
    .contact-mini-list {
        grid-template-columns: 1fr;
    }

    .contact-mini-item {
        padding: 8px 9px;
    }
}

/* Shared product presentation; existing uploaded photographs stay unchanged. */
.yo-eyebrow{display:block;color:#956676;font-size:12px;line-height:1.6;letter-spacing:.04em}
.yo-breadcrumb{display:flex;flex-wrap:wrap;gap:9px;color:#91737e;font-size:13px;margin:6px 0 22px}
.yo-breadcrumb a:hover,.yo-detail-link:hover{color:#d92561}
.yo-package-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.yo-package{min-width:0;display:flex;flex-direction:column;background:#fff;border:1px solid #f0dce3;border-radius:20px;overflow:hidden;box-shadow:0 6px 22px #58263606}
.yo-package-photo{display:block;padding:10px 10px 0}
.yo-product-image{display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;background:#f6f1f3;border-radius:13px;overflow:hidden}
.yo-product-image img{display:block;width:100%;height:100%;min-height:0;object-fit:contain;object-position:center}
.yo-image-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#ac8e99;font-size:13px;padding:20px;text-align:center}
.yo-image-empty>span:first-child{font-size:38px;font-weight:300}
.yo-package-body{display:flex;flex:1;flex-direction:column;align-items:stretch;padding:17px}
.yo-package h3{font-size:17px;line-height:1.55;margin:3px 0 8px;overflow-wrap:anywhere}
.yo-package-description{margin:0 0 18px;color:#816c75;font-size:13px;line-height:1.8;white-space:pre-line;overflow-wrap:anywhere}
.yo-package-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;margin:auto 0 15px}
.yo-package .price{font-size:25px}.yo-package .old-price{margin:0}
.yo-package .btn{min-height:44px;font-size:13px;padding:9px 10px;border-radius:12px;line-height:1.5;text-align:center}
.yo-detail-link{display:block;text-align:center;color:#8b6c78;font-size:12px;padding:12px 0 0}
.yo-profile-action{margin-top:16px}.yo-profile-action .btn{min-height:44px}
#packages,#choose-goddess{scroll-margin-top:88px}
.yo-section-copy{color:#846d76;font-size:14px;line-height:1.7;margin:7px 0 0}
.yo-product-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:40px;align-items:start;background:#fff;border:1px solid #f0dce3;border-radius:24px;padding:26px}
.yo-product-gallery{min-width:0}.yo-product-gallery>a{display:block}
.yo-product-image-large{aspect-ratio:4/5;max-height:620px}
.yo-image-caption{text-align:center;color:#927d85;font-size:12px;margin:12px 0 0}
.yo-product-summary{min-width:0}.yo-product-summary h1{font-size:30px;line-height:1.4;margin:5px 0 12px;overflow-wrap:anywhere}
.yo-product-description{font-size:15px;line-height:1.9;color:#79656e;white-space:pre-line;margin:0 0 18px}
.yo-product-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;padding-bottom:22px;border-bottom:1px solid #f0e5e9}
.yo-product-price .price{font-size:34px}.yo-product-price .old-price{margin:0}
.yo-selection{display:flex;align-items:center;gap:12px;background:#fff4f8;border:1px solid #f7cada;border-radius:15px;padding:14px;margin:20px 0 12px}
.yo-selection img{width:48px;height:48px;object-fit:cover;border-radius:50%;flex-shrink:0}
.yo-selection>div{min-width:0}.yo-selection strong{font-size:17px;display:block;overflow-wrap:anywhere}
.yo-selection-check{margin-left:auto;border-radius:50%;background:#f33573;color:white;width:24px;height:24px;display:grid;place-items:center;flex-shrink:0}
.yo-picker{margin-top:20px}.yo-picker summary{cursor:pointer;padding:10px 0;color:#b63663;font-size:14px;min-height:44px}
.yo-picker-title{font-size:17px;margin:0 0 5px}.yo-picker-note{color:#8d747e;font-size:13px;margin:0 0 13px;line-height:1.7}
.yo-people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:10px}
.yo-person{display:flex;align-items:center;gap:10px;border:1px solid #eee1e6;padding:11px;border-radius:12px;min-width:0;min-height:68px}
.yo-person:hover,.yo-person[aria-current=true]{border-color:#eb6892;background:#fff5f8}
.yo-person img{width:38px;height:38px;object-fit:cover;border-radius:50%;flex-shrink:0}.yo-person>span{min-width:0}
.yo-person strong{font-size:14px;display:block;overflow-wrap:anywhere}.yo-person small{font-size:12px;color:#957b85}
.yo-buy{margin-top:22px}.yo-buy .btn{min-height:50px;border-radius:13px;font-size:16px}.yo-buy p{font-size:12px;color:#927985;line-height:1.7;margin:10px 0 0;text-align:center}
.yo-product-content{margin:26px 0;background:#fff;border:1px solid #f0dce3;padding:26px;border-radius:20px}.yo-product-content h2{font-size:20px;margin:0 0 16px}.yo-product-content>div{white-space:pre-line;font-size:15px;line-height:1.9;color:#79656e;overflow-wrap:anywhere}
.yo-steps{display:flex;gap:10px;flex-wrap:wrap;color:#9c858e;font-size:13px;margin-bottom:20px}.yo-steps strong{color:#bf315f}
.yo-checkout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.85fr);gap:24px;align-items:start;max-width:1000px;margin:0 auto}
.yo-checkout-form{width:100%;max-width:none;margin:0}.yo-checkout-form h2{margin:0 0 22px;font-size:21px}
.yo-checkout-summary{grid-column:2;grid-row:1;background:#fff;border:1px solid #f0dce3;border-radius:20px;padding:22px;position:sticky;top:86px}
.yo-checkout-summary h2{font-size:18px;margin:0 0 18px}.yo-order-product{display:flex;gap:14px;align-items:center;margin-bottom:16px}
.yo-order-product>.yo-product-image{width:86px;flex-shrink:0}.yo-order-product>div:last-child{min-width:0}.yo-order-product strong{display:block;font-size:15px;line-height:1.6;overflow-wrap:anywhere}.yo-order-product small{color:#8a737d;font-size:12px}
.yo-checkout-summary .yo-selection{margin:16px 0}.yo-total{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding-top:18px;border-top:1px solid #f1e4e9;font-size:14px;color:#826c75}.yo-total .price{font-size:30px}
.yo-field-help{color:#997f89;font-size:12px;line-height:1.7;margin-top:6px}.yo-submit{min-height:50px;border-radius:13px}
.yo-checkout-form textarea{min-height:90px;resize:vertical}.yo-checkout-form .alert{overflow-wrap:anywhere}
.yo-auth-note{font-size:13px;color:#886d79;background:#fff4f8;border-radius:12px;padding:12px;line-height:1.8}
.yo-empty-notice{padding:18px;background:#fff5f8;border-radius:12px;color:#8b6977;line-height:1.8;margin-top:20px}
.yo-package a:focus-visible,.yo-person:focus-visible,.yo-profile-action a:focus-visible,.yo-buy a:focus-visible{outline:3px solid #973254;outline-offset:3px}
@media(max-width:1000px){.yo-package-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.yo-product-layout{gap:26px;padding:22px}}
@media(max-width:768px){.yo-package-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.yo-package-photo{padding:7px 7px 0}.yo-package-body{padding:12px}.yo-package h3{font-size:15px}.yo-package-description{font-size:12px;margin-bottom:14px}.yo-package .price{font-size:22px}.yo-package .btn{font-size:12px}.yo-product-layout{grid-template-columns:1fr;padding:16px;gap:22px}.yo-product-gallery{width:100%;max-width:420px;margin:0 auto}.yo-product-image-large{aspect-ratio:1/1;max-height:420px}.yo-product-summary h1{font-size:25px}.yo-product-content{padding:20px}.yo-checkout{grid-template-columns:1fr;gap:16px}.yo-checkout-summary{grid-column:auto;grid-row:auto;position:static;order:-1;padding:18px}.yo-checkout-form{padding:20px}.yo-checkout-summary .yo-selection{padding:10px}.yo-breadcrumb{font-size:12px;margin-bottom:16px}.yo-section-copy{font-size:13px}}
@media(max-width:360px){.yo-package-grid{grid-template-columns:1fr}.yo-people{grid-template-columns:1fr}}

.yo-seo-intro { line-height: 1.8; color: #665860; }
.yo-article-pagination { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; align-items: center; margin: 28px 0; }

/* YO storefront presentation layer. Business templates and payment adapters stay upstream. */
.yo-marketplace{--yo-pink:#dc3d83;--yo-ink:#25222a;--yo-muted:#77717d;--yo-line:#ece8ec;background:#fff;color:var(--yo-ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}
.yo-marketplace .container{width:min(1280px,calc(100% - 64px))}
.yo-marketplace .main{padding:30px 0 76px;min-height:65vh}
.yo-marketplace .site-header{background:rgba(255,255,255,.97);border-color:var(--yo-line);backdrop-filter:blur(14px)}
.yo-marketplace .header-inner{height:80px;gap:28px}
.yo-marketplace .logo{font-size:23px;letter-spacing:-1px;color:var(--yo-pink);font-weight:850;max-width:240px}
.yo-marketplace .logo img{max-width:220px;max-height:46px}
.yo-marketplace .top-nav{gap:22px;flex:1;white-space:nowrap}
.yo-marketplace .top-nav a{font-size:14px;color:#716976;line-height:80px;position:relative}
.yo-marketplace .top-nav a:hover,.yo-marketplace .top-nav a[aria-current]{color:var(--yo-pink)}
.yo-marketplace .top-nav a[aria-current]::after{content:"";position:absolute;bottom:18px;left:0;right:0;height:2px;background:var(--yo-pink)}
.yo-header-search{display:flex;align-items:center;background:#f7f5f7;border:1px solid transparent;border-radius:24px;width:205px;height:40px;flex-shrink:0}
.yo-header-search:focus-within{border-color:var(--yo-pink)}
.yo-header-search input{font:inherit;font-size:12px;background:none;border:0;outline:0;width:100%;min-width:0;padding:10px 0 10px 16px}
.yo-header-search button{width:40px;height:40px;border:0;background:none;cursor:pointer;padding:11px;flex-shrink:0;color:#746974}
.yo-header-search svg{width:18px;height:18px}
.yo-marketplace .header-user{white-space:nowrap;font-size:13px;max-width:110px;overflow:hidden;text-overflow:ellipsis}
.yo-marketplace .header-user a{display:block;padding:11px 16px;background:#fff0f6;border-radius:24px}
.yo-mobile-menu{display:none}
.yo-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.yo-skip{position:fixed;top:-80px;left:20px;z-index:1000;background:white;padding:14px;color:var(--yo-pink)}
.yo-skip:focus{top:10px}
.yo-marketplace :focus-visible{outline:3px solid #8b2052;outline-offset:3px}
.yo-marketplace .btn{background:var(--yo-pink);border:1px solid var(--yo-pink);border-radius:8px;min-height:44px;padding:10px 22px;font-weight:600;line-height:1.5;transition:background .18s}
.yo-marketplace .btn:hover{background:#bf2d6d}
.yo-marketplace .btn.secondary,.yo-marketplace .btn.outline{background:#fff;color:var(--yo-pink);border:1px solid #edbed3}
.yo-marketplace .btn.secondary:hover,.yo-marketplace .btn.outline:hover{background:#fff4f8}
.yo-marketplace .more{color:var(--yo-pink);white-space:nowrap;font-size:13px}
.yo-marketplace .more::after{content:" →"}
.yo-marketplace .hero.yo-market-hero{min-height:410px;margin:-30px calc((1280px - 100vw)/2) 0;padding:50px max(32px,calc((100vw - 1280px)/2));border-radius:0;grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr);gap:70px;background:linear-gradient(90deg,#fff3f7ed,#fff3f78a),url('/assets/images/yo-market-hero.jpg') center/cover}
.yo-hero-kicker{font-size:11px;letter-spacing:3px;color:#a76383;font-weight:600;display:block;margin-bottom:22px}
.yo-marketplace .hero h1{font-size:clamp(30px,3.3vw,48px);line-height:1.25;letter-spacing:-1.4px;font-weight:750;max-width:730px}
.yo-marketplace .hero p{font-size:14px;line-height:1.9;color:#846778;max-width:660px;margin:19px 0 26px;overflow-wrap:anywhere}
.yo-marketplace .hero .actions{gap:12px;display:flex;flex-wrap:wrap}
.yo-marketplace .hero .actions .btn{min-height:48px;gap:25px;border-radius:7px}
.yo-marketplace .hero-panel{border:0;background:#ffffffa8;box-shadow:none;border-radius:16px;padding:27px 32px;max-width:370px;justify-self:end;width:100%}
.yo-marketplace .hero-panel strong{font-size:20px;color:#73445b;letter-spacing:.5px}
.yo-marketplace .hero-panel p{font-size:13px;margin:10px 0 18px}
.yo-marketplace .hero-panel a{font-size:13px;color:#b83d72}
.yo-hero-symbol{display:block;font-family:Georgia,serif;font-style:italic;font-weight:bold;line-height:.95;font-size:92px;color:#d95791;letter-spacing:-8px;margin:0 0 20px}
.yo-hero-symbol span{color:#ec9bbd}
.yo-discover{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;padding:28px 0;border-bottom:1px solid var(--yo-line)}
.yo-discover a{min-height:54px;display:flex;align-items:center;justify-content:center;gap:12px;border:1px solid var(--yo-line);border-radius:8px;font-size:13px;white-space:nowrap}
.yo-discover a span{font-size:24px;color:#ac7892;font-family:Georgia,serif}
.yo-discover a:hover,.yo-discover .is-active{color:var(--yo-pink);background:#fff5f9;border-color:#f0c7da}
.yo-marketplace .section{margin:42px 0 0}
.yo-marketplace .section-head{gap:20px;align-items:center;margin-bottom:22px}
.yo-marketplace .section-head h2{font-size:23px;letter-spacing:-.5px;line-height:1.4}
.yo-marketplace .section-subtitle{font-size:13px;line-height:1.7;color:#8b828b;margin:7px 0 0}
.yo-marketplace .grid,.yo-marketplace .yo-package-grid{gap:22px}
.yo-marketplace .yo-package,.yo-marketplace .card{border:1px solid var(--yo-line);border-radius:10px;background:#fff;box-shadow:none}
.yo-marketplace .xhs-card:hover,.yo-marketplace .yo-package:hover{border-color:#e2c4d2;box-shadow:0 8px 22px #41223308}
.yo-marketplace .yo-package-photo{padding:0}
.yo-marketplace .yo-product-image{border-radius:0;background:#faf6f7}
.yo-marketplace .yo-product-image img{object-fit:contain}
.yo-marketplace .yo-package-body{padding:19px}
.yo-marketplace .yo-package h3{font-size:16px;font-weight:650;margin:0 0 8px;line-height:1.5}
.yo-marketplace .yo-package-description{color:var(--yo-muted);font-size:12px;line-height:1.8;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:18px}
.yo-marketplace .yo-package .price{font-size:23px;font-weight:650;letter-spacing:-.4px}
.yo-marketplace .price{color:var(--yo-pink)}
.yo-marketplace .yo-package .btn{background:#fff6fa;color:#c72b71;border-color:#f6d7e5;font-weight:500;border-radius:6px;font-size:13px;min-height:40px}
.yo-marketplace .yo-package .btn:hover{background:var(--yo-pink);color:white}
.yo-marketplace .cover{aspect-ratio:1/1;background:#fbf3f7}
.yo-marketplace .card-body{padding:17px}
.yo-marketplace .goddess-name{font-size:15px;font-weight:650}
.yo-marketplace .tag{font-size:11px;background:#faf2f6;color:#ad6184;border-radius:4px;padding:4px 8px}
.yo-marketplace .meta{font-size:12px;color:#8b8089;line-height:1.7}
.yo-marketplace .card-body h3{font-size:16px;line-height:1.6}
.yo-marketplace .card-body p{color:var(--yo-muted);font-size:13px;line-height:1.8}
.yo-marketplace .card-media{overflow:hidden}
.yo-marketplace .post-card .card-media .cover,.yo-marketplace .article-card .card-media .cover{aspect-ratio:16/10}
.yo-marketplace .media-placeholder{background:#faf0f6;color:#ae7b94}
.yo-marketplace .request-card .card-media{display:none}
.yo-marketplace .request-card .card-body{padding:24px}
.yo-marketplace .page-title{margin:12px 0 28px}
.yo-marketplace .page-title h1{font-size:30px;font-weight:700;letter-spacing:-.6px}
.yo-marketplace .page-title p{font-size:14px;line-height:1.8;color:var(--yo-muted)}
.yo-catalog-tools{display:flex;gap:12px;align-items:center;padding:20px;background:#faf8fa;border:1px solid var(--yo-line);border-radius:10px}
.yo-catalog-query{flex:1;max-width:560px}
.yo-marketplace .input,.yo-marketplace .textarea,.yo-marketplace .select{border:1px solid #e6dfe5;border-radius:7px;background:white;color:var(--yo-ink);font-size:14px;min-height:44px}
.yo-catalog-tools select{min-width:180px}
.yo-results{font-size:13px;color:var(--yo-muted);margin:22px 0}
.yo-pagination{display:flex;align-items:center;justify-content:center;gap:24px;font-size:13px;margin:35px 0 0}
.yo-marketplace .yo-product-layout{padding:0;border:0;gap:55px;border-radius:0;background:white}
.yo-marketplace .yo-product-gallery{border:1px solid var(--yo-line);border-radius:10px;overflow:hidden}
.yo-marketplace .yo-image-caption{margin:0;padding:14px}
.yo-marketplace .yo-product-summary{padding:12px 0}
.yo-marketplace .yo-product-summary h1{font-size:32px;font-weight:650}
.yo-marketplace .yo-product-content,.yo-marketplace .yo-checkout-summary,.yo-marketplace .form,.yo-marketplace .detail,.yo-marketplace .profile{border-color:var(--yo-line);border-radius:10px;box-shadow:none;background:white}
.yo-marketplace .yo-product-content{padding:28px}
.yo-marketplace .yo-selection,.yo-marketplace .yo-person{border-radius:8px}
.yo-marketplace .yo-selection{background:#fff5fa;border-color:#f3d2e2}
.yo-marketplace .yo-selection-check{background:var(--yo-pink)}
.yo-marketplace .yo-buy .btn{border-radius:8px}
.yo-marketplace .yo-checkout-summary{top:108px}
.yo-marketplace .form{border:1px solid var(--yo-line);padding:28px}
.yo-marketplace .table-wrap{border:1px solid var(--yo-line);border-radius:10px;overflow:auto}
.yo-marketplace .table th{background:#faf6f9;color:#806574}
.yo-marketplace .site-footer{padding:35px 0 28px;background:#fcf9fb;border-top:1px solid var(--yo-line);color:#9b8e98;text-align:left}
.yo-footer-top{display:flex;justify-content:space-between;gap:30px;padding:0 0 20px;margin-bottom:22px;border-bottom:1px solid var(--yo-line)}
.yo-footer-top strong{font-size:21px;color:var(--yo-pink)}
.yo-footer-top p{font-size:13px;line-height:1.8}
.yo-footer-top nav{display:flex;flex-wrap:wrap;gap:24px;align-items:center;font-size:13px;color:#786773}
.yo-marketplace .empty{padding:55px 24px;background:#fcf9fb;border:1px dashed #eadce4;border-radius:10px;color:#8f7e89}
@media(max-width:1344px){.yo-marketplace .hero.yo-market-hero{margin-left:-32px;margin-right:-32px;padding:48px 32px}.yo-marketplace .header-inner{gap:22px}.yo-marketplace .top-nav{gap:16px}.yo-header-search{width:180px}}
@media(max-width:1150px){.yo-header-search{width:160px}.yo-marketplace .top-nav{gap:13px}.yo-marketplace .header-inner{gap:16px}.yo-marketplace .top-nav a{font-size:13px}.yo-marketplace .logo{font-size:20px}.yo-marketplace .hero.yo-market-hero{gap:40px}.yo-marketplace .yo-package-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1000px){.yo-marketplace .top-nav{display:none}.yo-header-search{margin-left:auto;width:240px}.yo-mobile-menu{display:block;font-size:13px;position:relative}.yo-mobile-menu summary{cursor:pointer;list-style:none;padding:12px;border:1px solid var(--yo-line);border-radius:8px;white-space:nowrap}.yo-mobile-menu summary::-webkit-details-marker{display:none}.yo-mobile-menu nav{position:absolute;right:0;top:48px;background:#fff;padding:12px;box-shadow:0 12px 40px #3720321a;border:1px solid var(--yo-line);border-radius:10px;min-width:190px;max-height:65vh;overflow-y:auto;z-index:60}.yo-mobile-menu nav a{display:block;padding:12px}.yo-mobile-menu nav a:hover{background:#fff3f8}.yo-marketplace .hero.yo-market-hero{gap:25px;grid-template-columns:1.25fr .8fr}.yo-marketplace .grid,.yo-marketplace .yo-package-grid{gap:16px}.yo-marketplace .yo-package-grid,.yo-marketplace .grid-4{grid-template-columns:repeat(3,minmax(0,1fr))}.yo-discover{gap:8px}.yo-discover a{gap:8px;font-size:12px}.yo-marketplace .yo-product-layout{gap:28px}}
@media(max-width:768px){.yo-marketplace .container{width:calc(100% - 32px)}.yo-marketplace .main{padding:22px 0 42px}.yo-marketplace .header-inner{height:68px;gap:12px}.yo-marketplace .logo{font-size:20px;letter-spacing:-.7px;max-width:calc(100% - 154px);overflow:hidden;text-overflow:ellipsis}.yo-marketplace .logo img{max-width:100%;max-height:38px}.yo-header-search{display:none}.yo-marketplace .header-user{margin-left:auto;font-size:12px}.yo-marketplace .header-user a{padding:9px 13px}.yo-mobile-menu summary{font-size:12px;padding:9px}.yo-marketplace .hero.yo-market-hero{min-height:340px;display:block;margin:-22px -16px 0;padding:40px 24px;background-position:65% center}.yo-hero-kicker{font-size:9px;letter-spacing:2.2px;margin-bottom:16px}.yo-marketplace .hero h1{font-size:32px;line-height:1.3;letter-spacing:-.7px}.yo-marketplace .hero p{font-size:13px;margin:16px 0 22px}.yo-marketplace .hero .actions .btn{font-size:13px;gap:12px;min-height:44px;padding:10px 16px}.yo-marketplace .hero-panel{display:none}.yo-discover{grid-template-columns:repeat(3,minmax(0,1fr));padding:20px 0;gap:8px}.yo-discover a{min-height:46px;font-size:12px;gap:7px}.yo-discover a span{font-size:21px}.yo-marketplace .section{margin-top:30px}.yo-marketplace .section-head{gap:12px;margin-bottom:16px}.yo-marketplace .section-head h2{font-size:21px}.yo-marketplace .section-subtitle{font-size:12px;line-height:1.6}.yo-marketplace .more{font-size:12px}.yo-marketplace .grid,.yo-marketplace .yo-package-grid{gap:12px}.yo-marketplace .yo-package-grid,.yo-marketplace .grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.yo-marketplace .grid-3{grid-template-columns:1fr}.yo-marketplace .yo-package-body{padding:12px}.yo-marketplace .yo-package h3{font-size:14px}.yo-marketplace .yo-package-description{font-size:11px;margin-bottom:13px}.yo-marketplace .yo-package .price{font-size:21px}.yo-marketplace .yo-package .btn{font-size:12px;padding:9px 5px}.yo-marketplace .card-body{padding:12px}.yo-marketplace .avatar{width:32px;height:32px}.yo-marketplace .avatar-line{gap:8px}.yo-marketplace .goddess-name{font-size:13px}.yo-marketplace .meta{font-size:11px}.yo-marketplace .tag{font-size:10px;padding:3px 6px}.yo-marketplace .card-body h3{font-size:14px}.yo-marketplace .card-body p{font-size:12px}.yo-marketplace .page-title h1{font-size:26px}.yo-marketplace .page-title p{font-size:13px}.yo-catalog-tools{flex-wrap:wrap;padding:14px;gap:10px}.yo-catalog-query{flex:1 0 100%;max-width:none}.yo-catalog-tools>div:nth-child(2){flex:1}.yo-catalog-tools select{width:100%;min-width:0}.yo-marketplace .yo-product-layout{display:grid;grid-template-columns:1fr;gap:22px;padding:0}.yo-marketplace .yo-product-summary{padding:0}.yo-marketplace .yo-product-summary h1{font-size:26px}.yo-marketplace .yo-product-content{padding:20px}.yo-marketplace .yo-checkout-summary{position:static}.yo-marketplace .form{padding:20px}.yo-marketplace .site-footer{padding:30px 0 100px}.yo-footer-top{display:block}.yo-footer-top nav{gap:18px;margin-top:25px}.yo-marketplace .mobile-tabbar{display:flex;background:#fffffff5;border-top:1px solid var(--yo-line);backdrop-filter:blur(12px);padding-bottom:env(safe-area-inset-bottom);min-height:60px}.yo-marketplace .mobile-tabbar a{flex:1;padding:19px 4px;text-align:center;color:#8e647a;font-size:12px}.yo-marketplace .mobile-tabbar a:hover{color:var(--yo-pink);background:#fff4f9}}
@media(prefers-reduced-motion:reduce){.yo-marketplace *{transition:none!important;scroll-behavior:auto!important}}
/* Full-bleed hero uses the page width, avoiding scrollbar-width overflow. */
.yo-marketplace .main:has(>.yo-market-hero){width:100%}
.yo-marketplace .main>.hero.yo-market-hero{margin:-30px 0 0}
.yo-marketplace .main:has(>.yo-market-hero)>.section,.yo-marketplace .main:has(>.yo-market-hero)>.yo-discover{width:min(1280px,calc(100% - 64px));margin-left:auto;margin-right:auto}
@media(max-width:768px){.yo-marketplace .main>.hero.yo-market-hero{margin-top:-22px}.yo-marketplace .main:has(>.yo-market-hero)>.section,.yo-marketplace .main:has(>.yo-market-hero)>.yo-discover{width:calc(100% - 32px)}}

/* Shared front-office rhythm. Homepage keeps its dedicated layout layer. */
.yo-marketplace {
    --site-ink: #30252e;
    --site-muted: #70636d;
    --site-accent: #b52d69;
    --site-line: #e8dfe5;
    --site-gap: 24px;
    --site-section: clamp(32px, 4vw, 48px);
    color: var(--site-ink);
    caret-color: var(--site-accent);
    scrollbar-color: #bda4b1 #faf5f8;
}
.yo-marketplace ::selection { background: #f5c4da; color: #4a1830; }
.yo-marketplace:not(.yo-home) .main { padding-top: 32px; padding-bottom: 64px; }
.yo-marketplace .page-title { align-items: center; flex-wrap: wrap; gap: 16px; margin: 0 0 32px; }
.yo-marketplace .page-title > div { min-width: 0; flex: 1 1 240px; }
.yo-marketplace .page-title > .btn { flex-shrink: 0; }
.yo-marketplace h1, .yo-marketplace h2, .yo-marketplace h3 { overflow-wrap: anywhere; text-wrap: balance; }
.yo-marketplace:not(.yo-home) h1 { font-size: clamp(26px, 3vw, 34px); line-height: 1.35; letter-spacing: -.02em; }
.yo-marketplace .page-title p { color: var(--site-muted); margin-top: 8px; line-height: 1.8; font-size: 15px; }
.yo-marketplace:not(.yo-home) .section { margin-top: var(--site-section); }
.yo-marketplace .section-head { gap: 16px; margin-bottom: 20px; }
.yo-marketplace .section-head > div { min-width: 0; }
.yo-marketplace .section-head h2 { font-size: 24px; line-height: 1.4; }
.yo-marketplace .section-subtitle, .yo-marketplace .yo-section-copy { font-size: 14px; line-height: 1.7; color: var(--site-muted); }
.yo-marketplace .btn { min-height: 44px; font-size: 15px; border-radius: 8px; background: var(--site-accent); border-color: var(--site-accent); }
.yo-marketplace .btn.secondary, .yo-marketplace .btn.outline { color: var(--site-accent); }
.yo-marketplace .more, .yo-marketplace .yo-detail-link { display: inline-flex; align-items: center; min-height: 44px; color: var(--site-accent); font-size: 14px; text-underline-offset: 4px; }
.yo-marketplace .more:hover { text-decoration: underline; }
.yo-marketplace .header-user a, .yo-marketplace .yo-mobile-menu summary { min-height: 44px; display: flex; align-items: center; justify-content: center; gap: 8px; }
.yo-marketplace .yo-mobile-menu svg { flex: 0 0 18px; }
.yo-marketplace .yo-mobile-menu nav { max-height: min(65vh, 480px); }
.yo-marketplace .yo-mobile-menu nav a { min-height: 44px; }
.yo-marketplace .input, .yo-marketplace .textarea, .yo-marketplace .select { font: inherit; font-size: 16px; min-height: 48px; padding: 12px; border-color: #d8cbd3; caret-color: var(--site-accent); }
.yo-marketplace input::placeholder, .yo-marketplace textarea::placeholder { color: var(--site-muted); opacity: 1; }
.yo-marketplace .form { border-radius: 12px; padding: 32px; max-width: 680px; box-shadow: none; }
.yo-marketplace .form h1 { margin: 0 0 24px; }
.yo-marketplace .form-row { margin-bottom: 24px; }
.yo-marketplace .form-row > label { display: block; font-size: 15px; font-weight: 600; line-height: 1.6; margin-bottom: 8px; }
.yo-marketplace label:has(input[type="checkbox"]) { display: flex; gap: 12px; align-items: center; min-height: 44px; font-weight: 400; }
.yo-marketplace input[type="checkbox"] { width: 20px; height: 20px; flex: 0 0 20px; accent-color: var(--site-accent); }
.yo-marketplace input[type="file"] { width: 100%; min-width: 0; font-size: 14px; }
.yo-marketplace input[type="file"]::file-selector-button { border: 0; border-radius: 6px; padding: 10px 12px; margin-right: 12px; color: var(--site-accent); background: #fff0f7; cursor: pointer; }
.yo-marketplace .textarea, .yo-marketplace textarea { line-height: 1.7; min-height: 128px; resize: vertical; }
.yo-marketplace .alert, .yo-marketplace .yo-auth-note { font-size: 14px; line-height: 1.8; padding: 16px; border-radius: 8px; overflow-wrap: anywhere; }
.yo-marketplace .alert { background: #fff1f5; color: #9c2452; }
.yo-marketplace .alert.success { background: #edf7ef; color: #28613c; }
.yo-marketplace :disabled { opacity: .6; cursor: not-allowed; }
.yo-view-login .main, .yo-view-register .main { display: grid; align-content: start; padding-top: 48px; }
.yo-view-login .form, .yo-view-register .form { width: 100%; max-width: 480px; }
.yo-view-consign_apply .page-title, .yo-view-request_create .page-title { max-width: 680px; margin-left: auto; margin-right: auto; }
.yo-marketplace .yo-profile-filter { max-width: none; margin-bottom: 24px; padding: 20px; background: #fcf9fb; }
.yo-marketplace .yo-profile-filter .grid { grid-template-columns: minmax(0, 2fr) minmax(160px, 1fr) auto; align-items: center; gap: 12px; }
.yo-marketplace .yo-catalog-tools { padding: 20px; gap: 12px; }
.yo-marketplace .yo-catalog-tools .btn { min-height: 48px; }
.yo-marketplace .yo-results { font-size: 14px; color: var(--site-muted); }
.yo-marketplace .yo-package, .yo-marketplace .card { border-radius: 12px; border-color: var(--site-line); box-shadow: none; }
.yo-marketplace .yo-package-body, .yo-marketplace .card-body { padding: 16px; }
.yo-marketplace .yo-package h3 { font-size: 17px; line-height: 1.5; }
.yo-marketplace .yo-package-description, .yo-marketplace .card-body p { font-size: 14px; line-height: 1.75; color: var(--site-muted); }
.yo-marketplace .yo-package .btn { min-height: 44px; font-size: 14px; color: var(--site-accent); }
.yo-marketplace .price { color: var(--site-accent); font-variant-numeric: tabular-nums; }
.yo-marketplace .old-price { color: #796974; }
.yo-marketplace .meta { font-size: 13px; line-height: 1.7; color: var(--site-muted); overflow-wrap: anywhere; }
.yo-marketplace .avatar-line > div { min-width: 0; }
.yo-marketplace .avatar { flex-shrink: 0; }
.yo-marketplace .goddess-name { overflow-wrap: anywhere; }
.yo-marketplace .tag { font-size: 12px; line-height: 1.6; color: #92516f; }
.yo-marketplace .profile-head { border-radius: 12px; border-color: var(--site-line); }
.yo-marketplace .profile-cover { height: clamp(180px, 22vw, 280px); }
.yo-marketplace .profile-info { gap: 24px; padding: 24px; align-items: flex-start; }
.yo-marketplace .profile-info > div { min-width: 0; flex: 1; }
.yo-marketplace .profile-info .avatar { width: 88px; height: 88px; flex: 0 0 88px; margin-top: -48px; border: 4px solid #fff; }
.yo-marketplace .profile-info h1 { margin: 0 0 8px; }
.yo-marketplace .profile-info .meta { font-size: 14px; }
.yo-marketplace .yo-profile-action { margin-top: 16px; }
.yo-marketplace .posts-grid-tuned { align-items: stretch; }
.yo-marketplace .posts-grid-tuned .post-card { height: auto; min-height: 0; display: flex; flex-direction: column; }
.yo-marketplace .post-card .card-media { height: auto; min-height: 0; max-height: none; aspect-ratio: 16 / 10; border-radius: 0; }
.yo-marketplace .post-card .card-media .cover, .yo-marketplace .post-card .card-media .media-placeholder { height: 100%; min-height: 0; max-height: none; }
.yo-marketplace .post-card .card-body { flex: 1; min-height: 0; }
.yo-marketplace .post-card h3 { font-size: 17px; line-height: 1.5; margin: 0 0 8px; }
.yo-marketplace .post-card .card-body p { -webkit-line-clamp: 2; margin: 0 0 16px; }
.yo-marketplace .post-card .meta { margin-top: auto; }
.yo-marketplace .yo-directory-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 32px; }
.yo-marketplace .yo-directory-entry { display: flex; gap: 20px; padding: 24px 0; border-top: 1px solid var(--site-line); min-width: 0; }
.yo-marketplace .yo-directory-entry .card-body { padding: 0; flex: 1; min-width: 0; }
.yo-marketplace .yo-directory-entry h3 { font-size: 18px; line-height: 1.5; margin: 0 0 8px; }
.yo-marketplace .yo-directory-entry p { font-size: 15px; line-height: 1.8; margin: 0 0 12px; }
.yo-marketplace .yo-directory-entry:hover h3 { color: var(--site-accent); text-decoration: underline; text-underline-offset: 4px; }
.yo-marketplace .yo-directory-thumb { width: 120px; height: 96px; flex: 0 0 120px; border-radius: 8px; object-fit: cover; }
.yo-marketplace .detail { border-radius: 12px; padding: 32px; box-shadow: none; line-height: 1.85; overflow-wrap: anywhere; }
.yo-marketplace .post-detail, .yo-marketplace .request-detail, .yo-marketplace .article-detail { max-width: 880px; margin: 0 auto; }
.yo-marketplace .detail-head { padding-bottom: 20px; margin-bottom: 24px; }
.yo-marketplace .detail-head .meta { margin-bottom: 0; gap: 8px 16px; }
.yo-marketplace .detail-head .meta span { padding: 0; background: none; font-size: 13px; color: var(--site-muted); }
.yo-marketplace .detail-kicker { display: none; }
.yo-marketplace .detail .content { font-size: 16px; line-height: 1.9; }
.yo-marketplace .detail p { overflow-wrap: anywhere; }
.yo-marketplace .article-summary { background: #fcf7fa; color: #725668; padding: 20px; border: 0; border-radius: 8px; font-size: 15px; }
.yo-marketplace .article-seo-box { overflow-wrap: anywhere; }
.yo-marketplace .yo-product-summary h1 { margin-top: 0; }
.yo-marketplace .yo-product-summary > .yo-eyebrow { display: none; }
.yo-marketplace .yo-product-description { font-size: 16px; line-height: 1.8; color: var(--site-muted); }
.yo-marketplace .yo-picker-note, .yo-marketplace .yo-buy p, .yo-marketplace .yo-field-help { font-size: 14px; line-height: 1.7; color: var(--site-muted); }
.yo-marketplace .yo-person { min-height: 72px; }
.yo-marketplace .yo-person small { font-size: 13px; color: var(--site-muted); }
.yo-marketplace .yo-product-content > div { color: var(--site-muted); font-size: 16px; }
.yo-marketplace .yo-checkout-form { max-width: none; }
.yo-marketplace .yo-checkout-summary { top: 104px; }
.yo-marketplace .yo-steps { font-size: 14px; line-height: 1.7; }
.yo-marketplace .yo-submit { min-height: 52px; }
.yo-marketplace .yo-total .price { font-variant-numeric: tabular-nums; }
.yo-marketplace .pagination, .yo-marketplace .front-pagination, .yo-marketplace .yo-article-pagination, .yo-marketplace .yo-pagination { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; margin: 32px 0 0; }
.yo-marketplace .pagination a, .yo-marketplace .pagination span, .yo-marketplace .front-pagination a, .yo-marketplace .front-pagination span { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; height: auto; padding: 8px 12px; font-size: 14px; border: 1px solid var(--site-line); border-radius: 8px; background: #fff; color: var(--site-accent); box-shadow: none; }
.yo-marketplace .pagination .current, .yo-marketplace .front-pagination .current { background: var(--site-accent); color: #fff; border-color: var(--site-accent); }
.yo-marketplace .front-pagination .disabled { color: #71676e; background: #f7f3f5; }
.yo-marketplace .front-pagination-info { font-size: 14px; color: var(--site-muted); text-align: center; margin-top: 12px; }
.yo-marketplace .empty { padding: 32px 20px; font-size: 15px; line-height: 1.8; color: var(--site-muted); }
.yo-view-my .main, .yo-view-my_orders .main { max-width: 1100px; }
.yo-view-my_order .main { max-width: 880px; }
.yo-view-my .section:first-of-type .card-body { padding: 24px; }
.yo-view-my .section:first-of-type h3 { margin: 0 0 8px; font-size: 17px; }
.yo-view-my .section:first-of-type p { margin: 0; }
.yo-marketplace .yo-responsive-table { min-width: 0; table-layout: fixed; }
.yo-marketplace .yo-responsive-table th, .yo-marketplace .yo-responsive-table td { padding: 16px; font-size: 14px; line-height: 1.7; overflow-wrap: anywhere; }
.yo-marketplace .yo-cell-label { display: none; }
.yo-marketplace .yo-responsive-table td .badge { white-space: nowrap; }
.yo-view-my_order .detail > h3 { margin: 28px 0 12px; font-size: 20px; }
.yo-view-my_order .detail > p { margin: 12px 0; font-size: 16px; }
.yo-view-my_order .detail > div:has(>.btn) { gap: 12px; }
.yo-marketplace .contact-mini-section { padding: 24px; border: 1px solid var(--site-line); border-radius: 12px; box-shadow: none; background: #fcf9fb; }
.yo-marketplace .contact-mini-section .section-head h2 { font-size: 22px; }
.yo-marketplace .contact-mini-list { gap: 16px; }
.yo-marketplace .contact-mini-item { background: none; padding: 0; border: 0; }
.yo-marketplace .contact-mini-item span { color: var(--site-muted); font-size: 13px; }
.yo-marketplace .contact-mini-item strong { color: var(--site-ink); font-size: 14px; line-height: 1.8; overflow-wrap: anywhere; }
.yo-marketplace .site-footer p { font-size: 13px; color: var(--site-muted); line-height: 1.8; }
.yo-marketplace .yo-footer-top nav a { min-height: 44px; display: inline-flex; align-items: center; }
.yo-marketplace .mobile-tabbar a[aria-current="page"] { color: #a62a61; background: #fff1f7; font-weight: 700; }
@media (hover: hover) {
    .yo-marketplace .xhs-card:hover, .yo-marketplace .yo-package:hover { transform: none; box-shadow: none; border-color: #c994ae; }
}
@media (max-width: 1000px) {
    .yo-marketplace:not(.yo-home) .grid-4, .yo-marketplace:not(.yo-home) .yo-package-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .yo-marketplace .contact-mini-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
    .yo-marketplace .yo-checkout { grid-template-columns: 1fr; max-width: 680px; }
    .yo-marketplace .yo-checkout-summary { position: static; grid-column: auto; grid-row: auto; order: -1; }
}
@media (max-width: 768px) {
    .yo-marketplace:not(.yo-home) .main { padding-top: 24px; padding-bottom: 40px; }
    .yo-marketplace .header-inner { gap: 12px; }
    .yo-marketplace .logo { max-width: calc(100% - 164px); }
    .yo-marketplace .header-user a, .yo-marketplace .yo-mobile-menu summary { padding: 8px 12px; }
    .yo-marketplace .page-title { margin-bottom: 24px; gap: 12px; }
    .yo-marketplace .page-title > div { flex-basis: 200px; }
    .yo-marketplace .page-title h1 { font-size: 28px; }
    .yo-marketplace .page-title p { font-size: 15px; }
    .yo-marketplace .section-head { align-items: flex-start; gap: 12px; margin-bottom: 16px; }
    .yo-marketplace .section-head h2 { font-size: 23px; }
    .yo-marketplace .section-head .more { flex-shrink: 0; }
    .yo-marketplace .form { padding: 20px; width: 100%; }
    .yo-marketplace .input, .yo-marketplace .textarea, .yo-marketplace .select { font-size: 16px; }
    .yo-marketplace .form-row { margin-bottom: 20px; }
    .yo-marketplace .yo-profile-filter { padding: 16px; }
    .yo-marketplace .yo-profile-filter .grid { grid-template-columns: minmax(0, 1fr) auto; }
    .yo-marketplace .yo-profile-filter input[name="q"] { grid-column: 1 / -1; }
    .yo-marketplace .yo-catalog-tools { padding: 16px; }
    .yo-marketplace .yo-package-body, .yo-marketplace .card-body { padding: 12px; }
    .yo-marketplace .yo-package h3, .yo-marketplace .post-card h3 { font-size: 16px; }
    .yo-marketplace .yo-package-description, .yo-marketplace .card-body p { font-size: 14px; line-height: 1.7; }
    .yo-marketplace .yo-package .btn { padding: 10px 6px; min-height: 44px; font-size: 14px; }
    .yo-marketplace .goddess-name { font-size: 15px; }
    .yo-marketplace .meta { font-size: 13px; }
    .yo-marketplace .avatar-line { gap: 8px; align-items: flex-start; }
    .yo-marketplace .profile-info { padding: 20px; gap: 16px; }
    .yo-marketplace .profile-info .avatar { width: 72px; height: 72px; flex-basis: 72px; }
    .yo-marketplace .detail { padding: 20px; }
    .yo-marketplace .detail-head { padding-bottom: 16px; margin-bottom: 20px; }
    .yo-marketplace .detail-head h1 { font-size: 26px; line-height: 1.45; }
    .yo-marketplace .detail .content { font-size: 16px; line-height: 1.9; }
    .yo-marketplace .yo-directory-list { grid-template-columns: 1fr; }
    .yo-marketplace .yo-directory-entry { gap: 16px; padding: 20px 0; }
    .yo-marketplace .yo-directory-thumb { width: 88px; height: 88px; flex-basis: 88px; }
    .yo-marketplace .yo-directory-entry h3 { font-size: 18px; }
    .yo-marketplace .yo-product-summary h1 { font-size: 28px; }
    .yo-marketplace .yo-people { grid-template-columns: 1fr; }
    .yo-marketplace .yo-person strong { font-size: 16px; }
    .yo-marketplace .yo-product-content { padding: 20px; }
    .yo-marketplace .yo-checkout-summary { padding: 20px; }
    .yo-marketplace .yo-order-product strong { font-size: 16px; }
    .yo-view-my .section:first-of-type .card-body { padding: 20px 16px; }
    .yo-marketplace .contact-mini-section { padding: 20px; }
    .yo-marketplace .yo-footer-top nav { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 16px; }
    .yo-marketplace .site-footer { padding-bottom: calc(84px + env(safe-area-inset-bottom)); }
    .yo-marketplace .mobile-tabbar a { min-height: 56px; display: flex; align-items: center; justify-content: center; padding: 12px 4px; font-size: 13px; }
}
@media (max-width: 640px) {
    .yo-marketplace .table-wrap:has(.yo-responsive-table) { border: 0; background: none; overflow: visible; }
    .yo-marketplace .yo-responsive-table, .yo-marketplace .yo-responsive-table tbody { display: block; width: 100%; min-width: 0; }
    .yo-marketplace .yo-responsive-table thead, .yo-marketplace .yo-responsive-table tr:has(th) { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
    .yo-marketplace .yo-responsive-table tr:has(td) { display: grid; gap: 4px; border: 1px solid var(--site-line); border-radius: 12px; padding: 16px; margin-bottom: 12px; background: #fff; }
    .yo-marketplace .yo-responsive-table td { display: grid; grid-template-columns: 64px minmax(0, 1fr); align-items: baseline; gap: 12px; padding: 6px 0; border: 0; font-size: 14px; }
    .yo-marketplace .yo-cell-label { display: block; color: var(--site-muted); font-size: 13px; }
    .yo-marketplace .yo-responsive-table td .more { justify-self: start; }
    .yo-marketplace .yo-responsive-table td .badge { justify-self: start; }
    .yo-view-my_order .detail > div:has(>.btn) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .yo-view-my_order .detail > div > .btn { padding: 10px 6px; font-size: 14px; }
}
@media (max-width: 420px) {
    .yo-marketplace .profile-info { flex-direction: column; gap: 12px; }
    .yo-marketplace .profile-info .avatar { flex-basis: auto; }
    .yo-marketplace .contact-mini-list { grid-template-columns: 1fr; }
}
@media (max-width: 360px) {
    .yo-marketplace:not(.yo-home) .grid-4:has(.post-card) { grid-template-columns: 1fr; }
    .yo-marketplace .yo-package-body { padding: 10px; }
    .yo-marketplace .yo-package h3 { font-size: 15px; }
}
/* Standalone payment documents share the palette without changing their scripts. */
body.yo-payment { margin: 0; padding: 24px; box-sizing: border-box; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", sans-serif; color: #30252e; background: #fcf7fa; text-align: center; }
.yo-payment * { box-sizing: border-box; }
.yo-payment .wrap { min-height: calc(100svh - 48px); padding: 0; }
.yo-payment .box, .yo-payment .card { width: 100%; max-width: 560px; margin: 0 auto; padding: 32px; border: 1px solid #e8dfe5; border-radius: 12px; box-shadow: none; overflow-wrap: anywhere; }
.yo-payment .box { margin-top: clamp(24px, 12vh, 120px); }
.yo-payment h1, .yo-payment h2 { font-size: 28px; line-height: 1.4; margin: 0 0 16px; }
.yo-payment .muted, .yo-payment .desc, .yo-payment .tips { color: #70636d; font-size: 15px; line-height: 1.8; }
.yo-payment .info { padding: 20px; font-size: 15px; line-height: 1.9; border-radius: 8px; background: #fff3f8; }
.yo-payment .price { color: #b52d69; font-variant-numeric: tabular-nums; }
.yo-payment .icon { background: #b52d69; }
.yo-payment .btn { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; background: #b52d69; border-radius: 8px; font-size: 15px; padding: 12px 16px; white-space: normal; line-height: 1.6; }
.yo-payment .actions { gap: 12px; }
.yo-payment :focus-visible { outline: 3px solid #82234e; outline-offset: 3px; }
.yo-payment ::selection { background: #f5c4da; color: #4a1830; }
.yo-payment .yo-preview-notice { font-size: 13px; color: #70636d; }
@media (max-width: 640px) {
    body.yo-payment { padding: 16px; }
    .yo-payment .box, .yo-payment .card { padding: 24px 20px; }
    .yo-payment .wrap { min-height: calc(100svh - 32px); }
    .yo-payment h1, .yo-payment h2 { font-size: 25px; }
    .yo-payment .actions { display: grid; grid-template-columns: 1fr; }
    .yo-payment .btn { width: 100%; min-width: 0; }
}

/* Shared header: short brand, independent navigation and bounded account text. */
.yo-marketplace .site-header {
    background: #fff;
    backdrop-filter: none;
}
.yo-marketplace .header-inner {
    display: grid;
    grid-template-areas: "brand navigation search account";
    grid-template-columns: minmax(120px, 200px) minmax(0, 1fr) 208px minmax(64px, 112px);
    align-items: center;
    gap: 24px;
    height: auto;
    min-height: 84px;
    padding: 16px 0;
}
.yo-marketplace .logo {
    grid-area: brand;
    min-width: 0;
    max-width: 100%;
    gap: 0;
    font-size: 25px;
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: .035em;
    color: #b52d69;
}
.yo-marketplace .yo-brand-name {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.yo-marketplace .logo img { max-width: 100%; max-height: 44px; }
.yo-marketplace .top-nav {
    grid-area: navigation;
    min-width: 0;
    justify-content: center;
    gap: 20px;
}
.yo-marketplace .top-nav a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    font-size: 14px;
    line-height: 1.5;
    color: #65545f;
}
.yo-marketplace .top-nav a[aria-current] { color: #a62a61; }
.yo-marketplace .top-nav a[aria-current]::after { bottom: 0; }
.yo-marketplace .yo-header-search {
    grid-area: search;
    width: 100%;
    height: 44px;
    margin: 0;
    border-radius: 8px;
    background: #faf6f8;
}
.yo-marketplace .yo-header-search input {
    font-size: 14px;
    color: #493440;
    padding-left: 14px;
}
.yo-marketplace .yo-header-search input::placeholder { color: #75636f; opacity: 1; }
.yo-marketplace .yo-header-search button { width: 44px; height: 44px; padding: 12px; color: #755568; }
.yo-marketplace .header-user {
    grid-area: account;
    min-width: 0;
    max-width: 100%;
    margin: 0;
    overflow: visible;
}
.yo-marketplace .header-user a {
    display: flex;
    min-height: 44px;
    max-width: 100%;
    padding: 10px 14px;
    color: #a62a61;
    border-radius: 8px;
    line-height: 1.5;
}
.yo-marketplace .header-user a span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.yo-marketplace .yo-mobile-menu { grid-area: menu; }
.yo-marketplace .site-header a:focus-visible,
.yo-marketplace .site-header button:focus-visible,
.yo-marketplace .site-header summary:focus-visible {
    outline: 2px solid #a62a61;
    outline-offset: 3px;
}
@media (min-width: 1121px) and (max-width: 1240px) {
    .yo-marketplace .header-inner { grid-template-columns: 160px minmax(0, 1fr) 176px minmax(64px, 100px); gap: 20px; }
    .yo-marketplace .top-nav { gap: 16px; }
    .yo-marketplace .logo { font-size: 23px; }
}
@media (max-width: 1120px) {
    .yo-marketplace .header-inner {
        grid-template-areas: "brand search account menu";
        grid-template-columns: minmax(120px, 1fr) minmax(160px, 260px) minmax(64px, 112px) auto;
        gap: 16px;
        min-height: 76px;
        padding: 12px 0;
    }
    .yo-marketplace .top-nav { display: none; }
    .yo-marketplace .yo-mobile-menu { display: block; position: relative; font-size: 13px; }
    .yo-marketplace .yo-mobile-menu summary {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        min-height: 44px;
        padding: 10px 12px;
        list-style: none;
        border: 1px solid var(--yo-line);
        border-radius: 8px;
        cursor: pointer;
        color: #65545f;
    }
    .yo-marketplace .yo-mobile-menu summary::-webkit-details-marker { display: none; }
    .yo-marketplace .yo-mobile-menu nav {
        position: absolute;
        right: 0;
        top: calc(100% + 8px);
        width: 200px;
        max-width: calc(100vw - 32px);
        max-height: 65vh;
        overflow-y: auto;
        padding: 8px;
        background: #fff;
        border: 1px solid var(--yo-line);
        border-radius: 12px;
        box-shadow: none;
        z-index: 60;
    }
    .yo-marketplace .yo-mobile-menu nav a { display: block; padding: 12px; min-height: 44px; }
}
@media (max-width: 768px) {
    .yo-marketplace .header-inner {
        grid-template-areas: "brand account menu" "search search search";
        grid-template-columns: minmax(0, 1fr) minmax(52px, 96px) auto;
        gap: 12px 10px;
        padding: 12px 0;
    }
    .yo-marketplace .logo { max-width: 100%; font-size: 22px; letter-spacing: .02em; }
    .yo-marketplace .yo-header-search { display: flex; border-radius: 8px; }
    .yo-marketplace .yo-header-search input { font-size: 16px; }
    .yo-marketplace .header-user a { padding: 10px; font-size: 13px; }
    .yo-marketplace .yo-mobile-menu summary { padding: 10px; font-size: 13px; }
}
@media (max-width: 360px) {
    .yo-marketplace .header-inner { grid-template-columns: minmax(0, 1fr) minmax(44px, 76px) auto; gap: 10px 8px; }
    .yo-marketplace .logo { font-size: 20px; }
}

@font-face {
    font-family: "Yo XiaoWei";
    src: url('/assets/fonts/brand-xiaowei.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
.yo-marketplace .logo .yo-brand-name {
    font-family: "Yo XiaoWei", "Songti SC", SimSun, serif;
    font-weight: 400;
    font-size: 32px;
    line-height: 1.3;
    letter-spacing: .08em;
    color: #a52e61;
}
.yo-home .yo-wanted-board { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 40px; border-top: 1px solid #e7dce2; padding-top: 24px; }
.yo-home .yo-wanted-items { min-width: 0; }
.yo-home .yo-wanted-item { display: grid; grid-template-columns: minmax(0, 1fr) minmax(112px, 160px); gap: 32px; padding: 24px 0; border-bottom: 1px solid #e7dce2; color: #352832; }
.yo-home .yo-wanted-item:first-child { padding-top: 8px; }
.yo-home .yo-wanted-copy h3 { margin: 0 0 8px; font-size: 20px; line-height: 1.5; overflow-wrap: anywhere; }
.yo-home .yo-wanted-copy p { margin: 0 0 16px; max-width: 46ch; font-size: 15px; line-height: 1.8; color: #79616e; overflow-wrap: anywhere; }
.yo-home .yo-wanted-city { display: inline-block; padding: 4px 10px; background: #f8f3f5; color: #795d6a; font-size: 13px; border-radius: 4px; }
.yo-home .yo-wanted-budget { display: flex; align-items: flex-end; flex-direction: column; gap: 8px; text-align: right; }
.yo-home .yo-wanted-budget > span:first-child { font-size: 13px; color: #79616e; }
.yo-home .yo-wanted-budget strong { color: #a52e61; font-size: 23px; line-height: 1.4; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; max-width: 100%; }
.yo-home .yo-text-action { display: inline-flex; align-items: center; gap: 12px; font-size: 14px; font-weight: 600; color: #a52e61; min-height: 32px; }
.yo-home .yo-text-action svg, .yo-home .yo-reading-row > svg { width: 20px; height: 20px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.yo-home .yo-wanted-prompt { align-self: start; background: #faf0f4; padding: 28px; border-radius: 12px; }
.yo-home .yo-wanted-prompt h3 { font-size: 21px; margin: 0 0 12px; color: #74304e; line-height: 1.5; }
.yo-home .yo-wanted-prompt p { font-size: 15px; line-height: 1.8; color: #795666; margin: 0 0 24px; }
.yo-home .yo-wanted-prompt .btn { min-height: 44px; }
.yo-home .yo-reading-layout { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 40px; }
.yo-home .yo-reading-feature { display: flex; flex-direction: column; background: #faf4f6; border-radius: 12px; overflow: hidden; color: #442d3a; min-width: 0; }
.yo-home .yo-reading-feature:only-child { max-width: 680px; grid-column: 1/-1; }
.yo-home .yo-reading-feature > img { width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.yo-home .yo-reading-feature-copy { padding: 40px; display: flex; flex-direction: column; flex: 1; }
.yo-home .yo-reading-feature h3 { font-size: 30px; line-height: 1.5; margin: 0 0 20px; overflow-wrap: anywhere; }
.yo-home .yo-reading-feature p { font-size: 16px; line-height: 1.9; color: #765a6b; margin: 0 0 40px; max-width: 34ch; overflow-wrap: anywhere; }
.yo-home .yo-reading-feature-foot { display: flex; gap: 16px; justify-content: space-between; align-items: center; flex-wrap: wrap; margin-top: auto; border-top: 1px solid #e5d5dd; padding-top: 20px; }
.yo-home .yo-reading-layout time { font-size: 13px; color: #79616e; font-variant-numeric: tabular-nums; }
.yo-home .yo-reading-list { min-width: 0; border-top: 1px solid #e7dce2; }
.yo-home .yo-reading-row { display: grid; grid-template-columns: minmax(0, 1fr) auto 20px; gap: 16px; align-items: center; padding: 20px 0; border-bottom: 1px solid #e7dce2; color: #795666; }
.yo-home .yo-reading-row h3 { color: #352832; font-size: 18px; line-height: 1.5; margin: 0 0 6px; overflow-wrap: anywhere; }
.yo-home .yo-reading-row p { color: #79616e; font-size: 14px; line-height: 1.7; margin: 0; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.yo-home .yo-wanted-item:hover h3, .yo-home .yo-reading-feature:hover h3, .yo-home .yo-reading-row:hover h3 { color: #a52e61; text-decoration: underline; text-underline-offset: 5px; }
.yo-home .yo-wanted-board a:focus-visible, .yo-home .yo-reading-layout a:focus-visible { outline: 2px solid #a52e61; outline-offset: 4px; }
@media (max-width: 900px) {
    .yo-home .yo-wanted-board { grid-template-columns: minmax(0, 1fr) 240px; gap: 24px; }
    .yo-home .yo-wanted-prompt { padding: 24px; }
    .yo-home .yo-reading-layout { gap: 24px; }
    .yo-home .yo-reading-feature-copy { padding: 28px; }
    .yo-home .yo-reading-row { grid-template-columns: minmax(0, 1fr) 20px; }
    .yo-home .yo-reading-row time { display: none; }
}
@media (max-width: 600px) {
    .yo-marketplace .logo .yo-brand-name { font-size: 26px; letter-spacing: .03em; }
    .yo-home .yo-wanted-board, .yo-home .yo-reading-layout { grid-template-columns: minmax(0, 1fr); gap: 24px; }
    .yo-home .yo-wanted-item { grid-template-columns: minmax(0, 1fr) 100px; gap: 16px; }
    .yo-home .yo-wanted-copy h3 { font-size: 18px; }
    .yo-home .yo-wanted-budget strong { font-size: 20px; }
    .yo-home .yo-wanted-prompt { padding: 24px; }
    .yo-home .yo-reading-feature h3 { font-size: 26px; }
    .yo-home .yo-reading-feature p { margin-bottom: 28px; }
}
@media (max-width: 360px) {
    .yo-marketplace .logo .yo-brand-name { font-size: 23px; letter-spacing: 0; }
}

@media (min-width: 1121px) and (max-width: 1240px) {
 .yo-marketplace .logo .yo-brand-name { font-size: 28px; letter-spacing: .02em; }
}
