/* 求资源榜单 / 详情页（pages/page-wish.php、single-xy_wish.php）
 * 类名统一 qzy-，避免与星海祈愿（xy-wish-*）和历史 wish-* 样式串用。
 * 暗色跟随主题 body.dark-open。 */

.qzy-page {
    --qzy-primary: #f58907;
    --qzy-primary-2: #ff6a3d;
    --qzy-text: #2b2f36;
    --qzy-sub: #7a818c;
    --qzy-muted: #a7adb6;
    --qzy-card: #fff;
    --qzy-line: #eef0f3;
    --qzy-soft: #f6f7f9;
    --qzy-shadow: 0 6px 24px rgba(31, 41, 55, .07);
    --qzy-shadow-hover: 0 14px 34px rgba(31, 41, 55, .13);
    padding-bottom: 2rem;
    color: var(--qzy-text);
}

.dark-open .qzy-page {
    --qzy-text: #d5dbe3;
    --qzy-sub: #98a2b3;
    --qzy-muted: #6f7a8c;
    --qzy-card: #293042;
    --qzy-line: #343c50;
    --qzy-soft: #232a3a;
    --qzy-shadow: 0 6px 24px rgba(0, 0, 0, .25);
    --qzy-shadow-hover: 0 14px 34px rgba(0, 0, 0, .4);
}

/* ---------------- 按钮 ---------------- */
.qzy-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: .55rem 1.25rem;
    border: none;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--qzy-primary), var(--qzy-primary-2));
    color: #fff !important;
    font-size: .92rem;
    font-weight: 600;
    line-height: 1.4;
    cursor: pointer;
    text-decoration: none !important;
    box-shadow: 0 4px 14px rgba(245, 137, 7, .3);
    transition: transform .15s, box-shadow .2s, opacity .2s;
}
.qzy-btn:hover { transform: translateY(-1px); box-shadow: 0 6px 18px rgba(245, 137, 7, .4); }
.qzy-btn:disabled { opacity: .5; cursor: not-allowed; transform: none; box-shadow: none; }
.qzy-btn-light { background: #fff; color: #e2650b !important; box-shadow: 0 4px 16px rgba(0, 0, 0, .12); }
.qzy-btn-light:hover { box-shadow: 0 6px 20px rgba(0, 0, 0, .18); }
.qzy-btn-ghost { background: rgba(255, 255, 255, .14); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .55); }
.qzy-btn-ghost:hover { background: rgba(255, 255, 255, .24); box-shadow: inset 0 0 0 1px #fff; }

/* ---------------- 页头 ---------------- */
.qzy-hero {
    position: relative;
    overflow: hidden;
    padding: 2.6rem 0 4.6rem;
    background: linear-gradient(125deg, #ff9d2e 0%, #f58907 38%, #f0602c 78%, #e2486a 100%);
    color: #fff;
}
.qzy-hero-deco span {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, .1);
    pointer-events: none;
}
.qzy-hero-deco span:nth-child(1) { width: 340px; height: 340px; right: -90px; top: -140px; }
.qzy-hero-deco span:nth-child(2) { width: 180px; height: 180px; left: -60px; bottom: -70px; background: rgba(255, 255, 255, .08); }
.qzy-hero-deco span:nth-child(3) { width: 90px; height: 90px; right: 22%; bottom: 18px; background: rgba(255, 255, 255, .07); }
.qzy-hero-inner { position: relative; max-width: 760px; margin: 0 auto; text-align: center; }
.qzy-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .18);
    font-size: .82rem;
    letter-spacing: .08em;
}
.qzy-page .qzy-hero-title { margin: .7rem 0 .4rem; color: #fff; font-size: 2.3rem; font-weight: 800; letter-spacing: .04em; text-shadow: 0 2px 12px rgba(120, 40, 0, .2); }
.qzy-hero-sub { margin: 0 0 1.3rem; color: rgba(255, 255, 255, .9); font-size: 1rem; }
.qzy-hero-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-bottom: 1.4rem; }

.qzy-search { position: relative; max-width: 560px; margin: 0 auto 1.5rem; text-align: left; }
.qzy-search-icon { position: absolute; left: 18px; top: 50%; transform: translateY(-50%); color: #b5b9c0; z-index: 2; }
.qzy-page .qzy-search-input {
    width: 100%;
    height: 48px;
    padding: 0 18px 0 44px;
    border: none;
    border-radius: 999px;
    background: #fff;
    color: #2b2f36;
    font-size: .95rem;
    box-shadow: 0 8px 28px rgba(120, 40, 0, .18);
    outline: none;
}
.qzy-search-input::-webkit-search-cancel-button { cursor: pointer; }
.qzy-search-results {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 8px);
    z-index: 20;
    max-height: 360px;
    overflow-y: auto;
    padding: 6px;
    border-radius: 14px;
    background: #fff;
    color: #2b2f36;
    box-shadow: 0 16px 40px rgba(31, 41, 55, .2);
}
.qzy-sr-group { padding: 8px 10px 4px; color: #9aa1ab; font-size: .75rem; font-weight: 600; letter-spacing: .05em; }
.qzy-sr-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border-radius: 10px;
    color: #2b2f36 !important;
    font-size: .9rem;
    text-decoration: none !important;
}
.qzy-sr-item:hover { background: #fff4e6; }
.qzy-sr-title { flex: 1 1 auto; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.qzy-sr-meta { flex: 0 0 auto; color: #9aa1ab; font-size: .78rem; }
.qzy-sr-game .qzy-sr-meta { color: #2f9e44; }
.qzy-sr-empty { padding: 12px 10px; color: #7a818c; font-size: .88rem; }
.qzy-sr-empty a { color: #e2650b; font-weight: 600; cursor: pointer; }

.qzy-stats { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; }
.qzy-stat {
    min-width: 112px;
    padding: 10px 16px;
    border-radius: 14px;
    background: rgba(255, 255, 255, .15);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .2);
}
.qzy-stat b { display: block; font-size: 1.35rem; font-weight: 800; line-height: 1.2; }
.qzy-stat span { font-size: .78rem; opacity: .88; }

/* ---------------- 主体 ---------------- */
.qzy-body { position: relative; z-index: 2; margin-top: -2.8rem; }
.qzy-single .qzy-body { margin-top: 1.6rem; max-width: 960px; }

.qzy-panel {
    margin-bottom: 1.25rem;
    padding: 1.25rem 1.4rem;
    border-radius: 18px;
    background: var(--qzy-card);
    box-shadow: var(--qzy-shadow);
}
.qzy-page .qzy-panel-title { display: flex; align-items: baseline; gap: 8px; margin: 0 0 .9rem; color: var(--qzy-text); font-size: 1.05rem; font-weight: 700; }
.qzy-panel-title i { color: var(--qzy-primary); }
.qzy-panel-title small { color: var(--qzy-muted); font-size: .78rem; font-weight: 400; }

/* 表单 */
.qzy-form-panel { padding: 0; overflow: hidden; }
.qzy-form-toggle {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 1.05rem 1.4rem;
    border: none;
    background: transparent;
    color: var(--qzy-text);
    text-align: left;
    cursor: pointer;
}
.qzy-form-toggle > span { font-size: 1.02rem; font-weight: 700; }
.qzy-form-toggle > span i { margin-right: 4px; color: var(--qzy-primary); }
.qzy-form-toggle small { flex: 1 1 auto; color: var(--qzy-muted); font-size: .8rem; }
.qzy-form-arrow { color: var(--qzy-muted); transition: transform .25s; }
.qzy-form-panel.open .qzy-form-arrow { transform: rotate(180deg); }
.qzy-form-body { padding: 0 1.4rem 1.4rem; }

.qzy-rules { margin-bottom: 1rem; padding: .9rem 1.1rem; border-radius: 12px; background: var(--qzy-soft); font-size: .88rem; line-height: 1.75; }
.qzy-rules-title { margin-bottom: .3rem; color: var(--qzy-text); font-weight: 700; }
.qzy-rules-title i { color: var(--qzy-primary); }
.qzy-rules ol { margin: 0; padding-left: 1.3rem; color: var(--qzy-sub); }
.qzy-rule-danger { color: #e03131; font-weight: 600; }

.qzy-form-row { display: flex; gap: 10px; }
.qzy-form-row input { flex: 1 1 auto; min-width: 0; }
.qzy-form-row select { flex: 0 0 120px; width: 120px; }
.qzy-form input[type="text"],
.qzy-form select,
.qzy-form textarea {
    width: 100%;
    margin-bottom: 10px;
    padding: 10px 14px;
    border: 1px solid var(--qzy-line);
    border-radius: 10px;
    background: var(--qzy-soft);
    color: var(--qzy-text);
    font-size: .93rem;
    outline: none;
    transition: border-color .2s, background .2s, box-shadow .2s;
}
.qzy-form select { height: auto; }
.qzy-form textarea { resize: vertical; line-height: 1.6; }
.qzy-form input[type="text"]:focus,
.qzy-form select:focus,
.qzy-form textarea:focus { border-color: var(--qzy-primary); background: var(--qzy-card); box-shadow: 0 0 0 3px rgba(245, 137, 7, .14); }
.qzy-store-hint { margin: -4px 0 10px 4px; font-size: .8rem; }
.qzy-store-hint:empty { display: none; }
.qzy-store-hint.is-ok { color: #2f9e44; }
.qzy-store-hint.is-warn { color: #e8590c; }
.qzy-store-hint.is-bad { color: #868e96; }
.qzy-form-foot { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 16px; }
.qzy-agree { flex: 1 1 260px; display: flex; align-items: flex-start; gap: 6px; margin: 0; color: var(--qzy-sub); font-size: .86rem; cursor: pointer; }
.qzy-agree input { margin-top: 4px; }
.qzy-char { color: var(--qzy-muted); font-size: .8rem; }
.qzy-login-hint { padding: 1.4rem 1rem .4rem; text-align: center; color: var(--qzy-sub); }

/* 游客登录墙（xy_qzy_login_gate） */
.qzy-gate { max-width: 520px; margin: 1rem auto 2rem; padding: 2.6rem 1.4rem 2.2rem; text-align: center; }
.qzy-gate-icon { display: inline-flex; align-items: center; justify-content: center; width: 64px; height: 64px; margin-bottom: 1rem; border-radius: 50%; background: linear-gradient(135deg, var(--qzy-primary), var(--qzy-primary-2)); color: #fff; font-size: 26px; }
.qzy-gate-title { margin: 0 0 .5rem; font-size: 1.25rem; font-weight: 700; color: var(--qzy-text); }
.qzy-gate-sub { margin: 0 0 1.4rem; color: var(--qzy-sub); }

/* 我的求资源 */
.qzy-mine-list { margin: 0; padding: 0; list-style: none; }
.qzy-mine-item { display: flex; align-items: center; gap: 10px; padding: 9px 0; border-top: 1px dashed var(--qzy-line); font-size: .9rem; }
.qzy-mine-item:first-child { border-top: none; }
.qzy-mine-item .qzy-status { position: static; flex: 0 0 auto; }
.qzy-mine-title { flex: 1 1 auto; min-width: 0; overflow: hidden; color: var(--qzy-text) !important; white-space: nowrap; text-overflow: ellipsis; }
.qzy-mine-likes { color: #f03e3e; font-size: .82rem; }
.qzy-mine-date { color: var(--qzy-muted); font-size: .8rem; }
.qzy-mine-go { color: #2f9e44 !important; font-size: .84rem; font-weight: 600; }

/* ---------------- 榜单工具栏 ---------------- */
.qzy-board { margin-bottom: 1.25rem; }
.qzy-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 1rem;
    padding: .7rem .8rem;
    border-radius: 16px;
    background: var(--qzy-card);
    box-shadow: var(--qzy-shadow);
}
.qzy-tabs, .qzy-filters { display: flex; flex-wrap: wrap; gap: 6px; }
.qzy-tab {
    padding: 7px 16px;
    border-radius: 999px;
    color: var(--qzy-sub) !important;
    font-size: .9rem;
    font-weight: 600;
    text-decoration: none !important;
    transition: background .2s, color .2s;
}
.qzy-tab i { margin-right: 3px; font-size: .85em; }
.qzy-tab:hover { background: var(--qzy-soft); color: var(--qzy-text) !important; }
.qzy-tab.active { background: linear-gradient(135deg, var(--qzy-primary), var(--qzy-primary-2)); color: #fff !important; box-shadow: 0 4px 12px rgba(245, 137, 7, .3); }
.qzy-filter {
    padding: 4px 12px;
    border: 1px solid var(--qzy-line);
    border-radius: 999px;
    color: var(--qzy-sub) !important;
    font-size: .82rem;
    text-decoration: none !important;
    transition: all .2s;
}
.qzy-filter:hover { border-color: var(--qzy-primary); color: var(--qzy-primary) !important; }
.qzy-filter.active { border-color: var(--qzy-primary); background: rgba(245, 137, 7, .1); color: var(--qzy-primary) !important; font-weight: 600; }
.qzy-tip { margin-bottom: 1rem; padding: .6rem 1rem; border-radius: 12px; background: rgba(245, 137, 7, .1); color: #d9480f; font-size: .88rem; }

/* ---------------- 卡片 ---------------- */
.qzy-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 18px; }
.qzy-card {
    position: relative;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: 16px;
    background: var(--qzy-card);
    box-shadow: var(--qzy-shadow);
    transition: transform .22s, box-shadow .22s;
}
.qzy-card-grid:hover { transform: translateY(-4px); box-shadow: var(--qzy-shadow-hover); }

.qzy-card-cover { position: relative; display: block; aspect-ratio: 460 / 215; overflow: hidden; background: var(--qzy-soft); }
.qzy-cover-img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.qzy-card-grid:hover .qzy-cover-img { transform: scale(1.05); }
.qzy-ph {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: rgba(255, 255, 255, .92);
    font-size: 2.6rem;
    font-weight: 800;
    text-shadow: 0 4px 14px rgba(0, 0, 0, .15);
}
.qzy-ph[hidden] { display: none; }
.qzy-ph-0 { background: linear-gradient(135deg, #ffb347, #ff6a3d); }
.qzy-ph-1 { background: linear-gradient(135deg, #5ee7df, #4c7bf3); }
.qzy-ph-2 { background: linear-gradient(135deg, #a18cd1, #e05cb0); }
.qzy-ph-3 { background: linear-gradient(135deg, #84d96c, #20a39e); }
.qzy-ph-4 { background: linear-gradient(135deg, #f6d365, #fda085); }
.qzy-ph-5 { background: linear-gradient(135deg, #6a85b6, #3b4a6b); }

.qzy-rank {
    position: absolute;
    left: 10px;
    top: 10px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    min-width: 30px;
    height: 26px;
    padding: 0 9px;
    border-radius: 999px;
    background: rgba(20, 24, 33, .62);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    color: #fff;
    font-size: .82rem;
    font-weight: 800;
    justify-content: center;
}
.qzy-rank i { font-size: .72rem; }
.qzy-rank-1 { background: linear-gradient(135deg, #ffd43b, #f59f00); color: #5c3b00; }
.qzy-rank-2 { background: linear-gradient(135deg, #e9ecef, #adb5bd); color: #343a40; }
.qzy-rank-3 { background: linear-gradient(135deg, #ffc9a3, #d9480f); color: #fff; }

.qzy-status {
    position: absolute;
    right: 10px;
    top: 10px;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: .74rem;
    font-weight: 700;
    line-height: 1.5;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .12);
}
.qzy-status-pending { background: #fff; color: #868e96; }
.qzy-status-accepted { background: #e7f5ff; color: #1971c2; }
.qzy-status-published { background: #2f9e44; color: #fff; }
.qzy-status-rejected { background: #f1f3f5; color: #adb5bd; }
.qzy-status-review { background: #fff4e6; color: #e8590c; }

.qzy-card-body { flex: 1 1 auto; padding: 12px 14px 6px; }
.qzy-page .qzy-card-title { margin: 0 0 8px; font-size: 1rem; font-weight: 700; line-height: 1.45; }
.qzy-card-title a { color: var(--qzy-text) !important; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.qzy-card-title a:hover { color: var(--qzy-primary) !important; }
.qzy-card-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.qzy-chip {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 1px 9px;
    border-radius: 6px;
    background: var(--qzy-soft);
    color: var(--qzy-sub) !important;
    font-size: .76rem;
    line-height: 1.7;
    text-decoration: none !important;
}
.qzy-chip i { font-size: .65rem; }
.qzy-chip-store { background: rgba(28, 126, 214, .1); color: #1c7ed6 !important; }
.qzy-chip-store:hover { background: rgba(28, 126, 214, .18); }
.qzy-chip-muted { color: var(--qzy-muted) !important; }
.qzy-card-desc {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    color: var(--qzy-sub);
    font-size: .84rem;
    line-height: 1.6;
    word-break: break-word;
}
.qzy-card-note {
    margin-top: 8px;
    padding: 6px 10px;
    border-left: 3px solid var(--qzy-primary);
    border-radius: 0 8px 8px 0;
    background: rgba(245, 137, 7, .08);
    color: #d9480f;
    font-size: .8rem;
    line-height: 1.6;
}
.dark-open .qzy-card-note { color: #ffa94d; }

.qzy-card-foot { display: flex; align-items: center; gap: 10px; padding: 8px 14px 12px; }
.qzy-author { flex: 1 1 auto; min-width: 0; display: flex; align-items: center; gap: 6px; color: var(--qzy-muted); font-size: .78rem; }
.qzy-author img { flex: 0 0 22px; width: 22px; height: 22px; border-radius: 50%; object-fit: cover; }
.qzy-author-name { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; color: var(--qzy-sub); }
.qzy-date { flex: 0 0 auto; }
.qzy-cmt { flex: 0 0 auto; color: var(--qzy-muted) !important; font-size: .82rem; text-decoration: none !important; }
.qzy-cmt:hover { color: var(--qzy-primary) !important; }

.qzy-like {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 12px 4px 10px;
    border: 1px solid #ffd8d8;
    border-radius: 999px;
    background: #fff5f5;
    color: #f03e3e;
    font-size: .86rem;
    font-weight: 700;
    cursor: pointer;
    transition: background .2s, border-color .2s, transform .1s;
}
.qzy-like svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; transition: fill .2s; }
.qzy-like:hover { border-color: #ffa8a8; }
.qzy-like:active { transform: scale(.94); }
.qzy-like.liked { border-color: transparent; background: linear-gradient(135deg, #ff6b6b, #f03e3e); color: #fff; }
.qzy-like.liked svg { fill: currentColor; }
.qzy-like.pop svg { animation: qzyPop .45s ease; }
.qzy-like[data-busy="1"] { opacity: .7; pointer-events: none; }
.dark-open .qzy-like:not(.liked) { border-color: #5c3438; background: rgba(240, 62, 62, .12); }
@keyframes qzyPop { 0% { transform: scale(1); } 40% { transform: scale(1.45); } 100% { transform: scale(1); } }

.qzy-go {
    display: block;
    margin: 0 14px 14px;
    padding: 7px 0;
    border-radius: 10px;
    background: linear-gradient(135deg, #40c057, #2f9e44);
    color: #fff !important;
    font-size: .86rem;
    font-weight: 700;
    text-align: center;
    text-decoration: none !important;
    transition: filter .2s;
}
.qzy-go:hover { filter: brightness(1.06); }

/* 详情大卡 */
.qzy-card-detail { flex-direction: row; flex-wrap: wrap; margin-bottom: 1.25rem; }
/* 封面固定 Steam header 比例（460×215），不随右侧内容拉高；超过原图宽度会糊，所以封顶 460px */
.qzy-card-detail .qzy-card-cover { flex: 0 0 44%; max-width: 460px; aspect-ratio: 460 / 215; align-self: flex-start; pointer-events: none; }
.qzy-card-detail .qzy-card-body { flex: 1 1 0; min-width: 0; align-self: center; padding: 1.25rem 1.4rem; }
.qzy-page .qzy-card-detail .qzy-card-title { font-size: 1.45rem; }
.qzy-detail-desc { position: relative; flex: 0 0 100%; padding: 1.1rem 1.4rem 1.2rem; border-top: 1px solid var(--qzy-line); }
.qzy-detail-desc-title { display: flex; align-items: center; gap: 6px; margin-bottom: .75rem; color: var(--qzy-text); font-size: .95rem; font-weight: 700; }
.qzy-detail-desc-title i { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 7px; background: rgba(245, 137, 7, .12); color: var(--qzy-primary); font-size: .8rem; }
.qzy-detail-desc-body { color: var(--qzy-sub); font-size: .88rem; line-height: 1.7; word-break: break-word; }
.qzy-detail-desc.is-collapsed .qzy-detail-desc-body { max-height: 22em; overflow: hidden; -webkit-mask-image: linear-gradient(#000 72%, transparent); mask-image: linear-gradient(#000 72%, transparent); }
.qzy-desc-toggle { display: flex; align-items: center; justify-content: center; gap: 4px; width: 100%; margin-top: .6rem; padding: 6px 0; border: 1px dashed var(--qzy-line); border-radius: 10px; background: none; color: var(--qzy-primary); font-size: .85rem; cursor: pointer; transition: background .2s, border-color .2s; }
.qzy-desc-toggle:hover { border-color: var(--qzy-primary); background: rgba(245, 137, 7, .06); }
.qzy-desc-toggle i { transition: transform .2s; }
/* 补充说明内容：xy_qzy_render_desc() 输出。普通文字为段落；含「最低配置:」/「处理器: xxx」时排成配置卡片 */
.qzy-desc-groups { display: grid; gap: 12px; }
.qzy-desc-groups.is-structured { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
.qzy-desc-groups.is-structured .qzy-desc-group { padding: 12px 14px; border: 1px solid var(--qzy-line); border-radius: 12px; background: var(--qzy-soft); }
.qzy-desc-h { display: inline-block; margin-bottom: 8px; padding: 2px 10px; border-radius: 999px; background: linear-gradient(135deg, var(--qzy-primary), var(--qzy-primary-2)); color: #fff; font-size: .78rem; font-weight: 700; }
.qzy-desc-kv { display: grid; grid-template-columns: 6.5em 1fr; gap: 10px; padding: 5px 0; border-top: 1px dashed var(--qzy-line); }
.qzy-desc-h + .qzy-desc-kv, .qzy-desc-group > .qzy-desc-kv:first-child { border-top: none; }
.qzy-desc-k { color: var(--qzy-muted); font-size: .82rem; }
.qzy-desc-v { min-width: 0; color: var(--qzy-text); }
.qzy-desc-p { margin: 0 0 .4rem; }
.qzy-desc-p:last-child { margin-bottom: 0; }
.qzy-desc-groups.is-structured .qzy-desc-p { padding-top: 5px; color: var(--qzy-sub); font-size: .84rem; }
.qzy-desc-toggle[hidden] { display: none; }
.qzy-detail-desc.is-open .qzy-desc-toggle i { transform: rotate(180deg); }
.qzy-card-detail .qzy-card-foot { flex: 0 0 100%; padding: 10px 1.4rem 14px; border-top: 1px solid var(--qzy-line); }
.qzy-card-detail .qzy-go { flex: 0 0 auto; width: calc(100% - 2.8rem); margin: 0 1.4rem 1.2rem; padding: 10px 0; font-size: .95rem; }
.qzy-back { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 1rem; color: var(--qzy-sub) !important; font-size: .9rem; }
.qzy-back:hover { color: var(--qzy-primary) !important; }
.qzy-comments .entry-comments { margin: 0; padding: 0; background: transparent; box-shadow: none; }

/* ---------------- 分页 / 空状态 / 声明 ---------------- */
.qzy-pagination { display: flex; justify-content: center; flex-wrap: wrap; gap: 6px; margin-top: 1.5rem; }
.qzy-pagination .page-numbers {
    min-width: 36px;
    padding: 6px 12px;
    border-radius: 10px;
    background: var(--qzy-card);
    color: var(--qzy-sub) !important;
    font-size: .88rem;
    text-align: center;
    text-decoration: none !important;
    box-shadow: var(--qzy-shadow);
}
.qzy-pagination .page-numbers.current { background: linear-gradient(135deg, var(--qzy-primary), var(--qzy-primary-2)); color: #fff !important; }
.qzy-pagination .page-numbers.dots { background: transparent; box-shadow: none; }
.qzy-empty { padding: 3rem 1rem; border-radius: 18px; background: var(--qzy-card); color: var(--qzy-muted); text-align: center; box-shadow: var(--qzy-shadow); }
.qzy-empty i { font-size: 2.4rem; margin-bottom: .6rem; opacity: .5; }
.qzy-empty p { margin-bottom: 1rem; }

.qzy-notice { font-size: .86rem; line-height: 1.75; }
.qzy-notice-lead { margin: 0; color: var(--qzy-sub); }
.qzy-notice-lead i { color: #2f9e44; }
.qzy-disclaimer { margin-top: .5rem; }
.qzy-disclaimer summary { color: var(--qzy-primary); cursor: pointer; }
.qzy-disclaimer ol { margin: .5rem 0 0; padding-left: 1.3rem; color: var(--qzy-sub); }

/* ---------------- 手机 ---------------- */
@media (max-width: 767px) {
    .qzy-hero { padding: 1.8rem 0 4rem; }
    .qzy-page .qzy-hero-title { font-size: 1.75rem; }
    .qzy-hero-sub { font-size: .9rem; }
    .qzy-stats { gap: 8px; }
    .qzy-stat { flex: 1 1 calc(50% - 8px); min-width: 0; }
    .qzy-panel { padding: 1rem; border-radius: 14px; }
    .qzy-form-toggle { padding: .95rem 1rem; }
    .qzy-form-toggle small { display: none; }
    .qzy-form-body { padding: 0 1rem 1rem; }
    .qzy-form-row { flex-direction: column; gap: 0; }
    .qzy-form-row select { flex: none; width: 100%; }
    .qzy-form-foot .qzy-btn { width: 100%; justify-content: center; }
    .qzy-toolbar { padding: .6rem; }
    .qzy-tabs { width: 100%; flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; padding: 2px 2px 6px; }
    .qzy-tab { flex: 0 0 auto; padding: 6px 12px; font-size: .85rem; }
    .qzy-grid { grid-template-columns: 1fr; gap: 14px; }
    .qzy-mine-date { display: none; }
    .qzy-card-detail { flex-direction: column; }
    .qzy-card-detail .qzy-card-cover { flex: none; max-width: 100%; align-self: stretch; }
    .qzy-card-detail .qzy-card-body { flex: none; align-self: stretch; padding: 1rem 1rem .6rem; }
    .qzy-detail-desc { flex: none; padding: .9rem 1rem 1rem; }
    .qzy-desc-groups.is-structured { grid-template-columns: 1fr; }
    .qzy-desc-kv { grid-template-columns: 5.5em 1fr; gap: 8px; }
    .qzy-page .qzy-card-detail .qzy-card-title { font-size: 1.2rem; }
    .qzy-card-detail .qzy-card-foot { flex: none; padding: 10px 1rem 12px; }
    .qzy-card-detail .qzy-go { width: calc(100% - 2rem); margin: 0 1rem 1rem; }
}
