@charset "utf-8";
/* ==========================================================================
   谍赞智能 · 福利活动页面样式（谍赞树洞体验创作激励）
   适用页面：模板 about/_huodong.html
   命名约定：所有类名使用 dz-hd- 前缀，避免与网站现有样式冲突
   ========================================================================== */

/* ---------- 首屏横幅 ---------- */
.dz-hd-hero {
    position: relative;
    overflow: hidden;
    padding: 92px 24px 74px;
    text-align: center;
    color: #fff;
    background: linear-gradient(125deg, #1f5eff 0%, #5a5bff 36%, #8b5cf6 64%, #00b8c4 100%);
    background-size: 220% 220%;
    animation: dzHdHeroShift 18s ease-in-out infinite;
}

.dz-hd-hero::before,
.dz-hd-hero::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}

.dz-hd-hero::before {
    top: -160px;
    right: -120px;
    width: 520px;
    height: 520px;
    background: radial-gradient(circle, rgba(255, 255, 255, .28) 0%, rgba(255, 255, 255, 0) 70%);
    animation: dzHdBlobFloat 16s ease-in-out infinite;
}

.dz-hd-hero::after {
    left: -150px;
    bottom: -180px;
    width: 460px;
    height: 460px;
    background: radial-gradient(circle, rgba(0, 255, 224, .22) 0%, rgba(0, 255, 224, 0) 72%);
    animation: dzHdBlobFloat 20s ease-in-out infinite reverse;
}

.dz-hd-hero-inner {
    position: relative;
    z-index: 1;
    max-width: 960px;
    margin: 0 auto;
}

.dz-hd-hero-tag {
    display: inline-block;
    padding: 6px 18px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .18);
    border: 1px solid rgba(255, 255, 255, .34);
    font-size: 13px;
    letter-spacing: 1px;
}

.dz-hd-hero-title {
    margin: 20px 0 14px;
    font-size: 2.6rem;
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: 1px;
    color: #fff;
}

.dz-hd-hero-sub {
    max-width: 800px;
    margin: 0 auto 24px;
    font-size: 1.02rem;
    line-height: 1.95;
    color: rgba(255, 255, 255, .93);
}

.dz-hd-hero-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    margin-bottom: 28px;
}

.dz-hd-hero-chip {
    padding: 7px 16px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .16);
    border: 1px solid rgba(255, 255, 255, .3);
    font-size: 13px;
    color: #fff;
}

.dz-hd-hero-actions {
    display: flex;
    flex-direction: column;
    gap: 14px;
    align-items: stretch;
}

.dz-hd-hero-actions .dz-hd-btn {
    justify-content: center;
    min-width: 230px;
}

/* 按钮组 + 小程序码 并排 */
.dz-hd-hero-enter {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 38px;
}

.dz-hd-hero-qr {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    width: 186px;
    text-align: center;
}

.dz-hd-hero-qr img {
    width: 158px;
    height: 158px;
    object-fit: contain;
    border-radius: 16px;
    background: #fff;
    padding: 8px;
    box-shadow: 0 12px 28px rgba(9, 26, 82, .24);
}

.dz-hd-hero-qr-text {
    margin: 0;
    font-size: 12.5px;
    line-height: 1.7;
    color: rgba(255, 255, 255, .9);
}

.dz-hd-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 48px;
    padding: 0 30px;
    border-radius: 999px;
    font-size: 15px;
    font-weight: 600;
    transition: transform .2s, box-shadow .2s, background .2s;
}

.dz-hd-btn-primary {
    background: #fff;
    color: #1f4bd8;
    box-shadow: 0 12px 26px rgba(9, 26, 82, .22);
}

.dz-hd-btn-primary:hover {
    transform: translateY(-2px);
}

.dz-hd-btn-ghost {
    background: rgba(255, 255, 255, .14);
    border: 1px solid rgba(255, 255, 255, .52);
    color: #fff;
}

.dz-hd-btn-ghost:hover {
    background: rgba(255, 255, 255, .24);
}

.dz-hd-hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 30px;
    justify-content: center;
    margin-top: 32px;
    font-size: 13.5px;
    color: rgba(255, 255, 255, .9);
}

.dz-hd-hero-meta b {
    font-size: 17px;
    font-weight: 800;
    color: #fff;
}

.dz-hd-hero-tip {
    margin: 18px 0 0;
    font-size: 13px;
    color: rgba(255, 255, 255, .78);
}

/* ---------- 通用区块 ---------- */
.dz-hd-section {
    padding: 58px 0;
}

.dz-hd-section--grey {
    background: #f6f8fc;
}

.dz-hd-block-title {
    max-width: 1200px;
    margin: 0 auto 26px;
    text-align: center;
}

.dz-hd-block-title span {
    display: block;
    font-size: 12.5px;
    letter-spacing: 2px;
    color: #7d8aa3;
    text-transform: uppercase;
}

.dz-hd-block-title h2 {
    margin: 10px 0 8px;
    font-size: 1.75rem;
    font-weight: 800;
    color: #16233f;
}

.dz-hd-block-title p {
    margin: 0;
    font-size: 14.5px;
    color: #6b7d97;
}

/* ---------- 实时排行榜（四个固定榜单并排） ---------- */
.dz-hd-rank-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    max-width: 1200px;
    margin: 0 auto;
}

.dz-hd-rank-block {
    padding: 20px 18px 12px;
    background: #fff;
    border: 1px solid #e8ecf1;
    border-radius: 14px;
    min-width: 0;
    overflow: hidden;
}

.dz-hd-rank-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 12px;
    margin-bottom: 6px;
    border-bottom: 1px solid #f0f3f8;
}

.dz-hd-rank-name {
    font-size: 15.5px;
    font-weight: 800;
    color: #16233f;
}

.dz-hd-rank-tag {
    padding: 3px 10px;
    border-radius: 999px;
    background: rgba(31, 94, 255, .1);
    color: #1f5eff;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: .5px;
}

.dz-hd-rank-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.dz-hd-rank-list li {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    padding: 10px 0;
    border-bottom: 1px dashed #f0f3f8;
}

.dz-hd-rank-list li:last-child {
    border-bottom: 0;
}

.dz-hd-rank-no {
    flex: 0 0 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 6px;
    background: #eef2f9;
    color: #6b7d97;
    font-size: 12px;
    font-weight: 800;
}

.dz-hd-rank-no.is-1 {
    background: linear-gradient(135deg, #ffca3a, #ff9a3c);
    color: #fff;
}

.dz-hd-rank-no.is-2 {
    background: linear-gradient(135deg, #c7d2e3, #9aa8bd);
    color: #fff;
}

.dz-hd-rank-no.is-3 {
    background: linear-gradient(135deg, #e8b483, #c98b55);
    color: #fff;
}

.dz-hd-rank-link {
    flex: 1;
    min-width: 0;
    font-size: 13.5px;
    color: #33405c;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dz-hd-rank-link:hover {
    color: #1f5eff;
}

.dz-hd-rank-num {
    flex: 0 0 auto;
    font-size: 13.5px;
    font-weight: 700;
    color: #1f5eff;
    font-variant-numeric: tabular-nums;
}

.dz-hd-rank-empty {
    display: block !important;
    padding: 22px 0 !important;
    text-align: center;
    color: #9aa6b8 !important;
    font-size: 13px;
    border-bottom: 0 !important;
}

/* ---------- 活动奖励 ---------- */
.dz-hd-rewards {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    max-width: 1200px;
    margin: 0 auto;
}

.dz-hd-reward-card {
    position: relative;
    padding: 24px 22px;
    background: #fff;
    border: 1px solid #e8ecf1;
    border-radius: 14px;
    overflow: hidden;
}

.dz-hd-reward-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
}

.dz-hd-reward-1::before {
    background: linear-gradient(90deg, #ffca3a, #ff9a3c);
}

.dz-hd-reward-2::before {
    background: linear-gradient(90deg, #c7d2e3, #9aa8bd);
}

.dz-hd-reward-3::before {
    background: linear-gradient(90deg, #e8b483, #c98b55);
}

.dz-hd-reward-4::before {
    background: linear-gradient(90deg, #7bb0ff, #1f5eff);
}

.dz-hd-reward-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 14px;
}

.dz-hd-reward-rank {
    font-size: 14.5px;
    font-weight: 800;
    color: #16233f;
}

.dz-hd-reward-count {
    font-size: 12px;
    color: #8a93a5;
}

.dz-hd-reward-money {
    margin: 0 0 14px;
    font-size: 1.35rem;
    font-weight: 800;
    color: #1f5eff;
    letter-spacing: .5px;
}

.dz-hd-reward-1 .dz-hd-reward-money {
    color: #e8890c;
}

.dz-hd-reward-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.dz-hd-reward-list li {
    position: relative;
    padding-left: 16px;
    margin-bottom: 8px;
    font-size: 13.5px;
    line-height: 1.75;
    color: #5b6b85;
}

.dz-hd-reward-list li:before {
    content: "";
    position: absolute;
    left: 0;
    top: 9px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #a9bdd9;
}

.dz-hd-reward-note {
    max-width: 1200px;
    margin: 20px auto 0;
    padding: 14px 20px;
    text-align: center;
    font-size: 13.5px;
    line-height: 1.9;
    color: #5b6b85;
    background: rgba(31, 94, 255, .06);
    border: 1px dashed rgba(31, 94, 255, .28);
    border-radius: 12px;
}

.dz-hd-reward-note b {
    color: #1f4bd8;
}

.dz-hd-reward-quota {
    font-size: 12px;
    color: #8a93a5;
}

.dz-hd-reward-sub {
    margin: -8px 0 14px;
    font-size: 12.5px;
    line-height: 1.7;
    color: #8a93a5;
}

.dz-hd-sub-title {
    margin: 0 0 8px;
    text-align: center;
    font-size: 1.2rem;
    font-weight: 800;
    color: #16233f;
}

.dz-hd-sub-desc {
    max-width: 900px;
    margin: 0 auto 20px;
    text-align: center;
    font-size: 13.5px;
    line-height: 1.9;
    color: #6b7d97;
}

.dz-hd-exchange-wrap {
    max-width: 1200px;
    margin: 38px auto 0;
}

.dz-hd-std-list {
    background: #fff;
    border: 1px solid #e8ecf1;
    border-radius: 14px;
    padding: 6px 24px;
    margin-bottom: 30px;
}

.dz-hd-std-item {
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
    padding: 15px 0;
    border-bottom: 1px dashed #eef1f6;
}

.dz-hd-std-item:last-child {
    border-bottom: 0;
}

.dz-hd-std-label {
    font-size: 14px;
    font-weight: 800;
    color: #16233f;
    padding-top: 1px;
}

.dz-hd-std-value {
    font-size: 14px;
    line-height: 1.9;
    color: #5b6b85;
}

.dz-hd-exchange {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.dz-hd-exchange-item {
    position: relative;
    padding: 26px 20px 22px;
    text-align: center;
    background: #fff;
    border: 1px solid #e6ebf3;
    border-radius: 16px;
    box-shadow: 0 10px 26px rgba(23, 43, 99, .05);
    overflow: hidden;
    transition: transform .25s, box-shadow .25s;
}

.dz-hd-exchange-item::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--dz-ex-color, linear-gradient(90deg, #1f5eff, #7c5cff));
}

.dz-hd-exchange-item::after {
    content: "";
    position: absolute;
    right: -46px;
    bottom: -46px;
    width: 150px;
    height: 150px;
    border-radius: 50%;
    background: var(--dz-ex-glow, rgba(31, 94, 255, .08));
    z-index: 0;
}

.dz-hd-exchange-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 36px rgba(23, 43, 99, .1);
}

.dz-hd-ex-1 {
    --dz-ex-color: linear-gradient(90deg, #1f5eff, #59a5ff);
    --dz-ex-glow: rgba(31, 94, 255, .10);
}

.dz-hd-ex-2 {
    --dz-ex-color: linear-gradient(90deg, #7c5cff, #b07bff);
    --dz-ex-glow: rgba(124, 92, 255, .10);
}

.dz-hd-ex-3 {
    --dz-ex-color: linear-gradient(90deg, #00b8c4, #4fd1c5);
    --dz-ex-glow: rgba(0, 184, 196, .10);
}

.dz-hd-ex-4 {
    --dz-ex-color: linear-gradient(90deg, #f59e0b, #fbbf24);
    --dz-ex-glow: rgba(245, 158, 11, .12);
}

.dz-hd-ex-name {
    position: relative;
    z-index: 1;
    display: block;
    font-size: 15.5px;
    font-weight: 700;
    color: #16233f;
    letter-spacing: 1px;
}

.dz-hd-ex-rate {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 5px;
    margin: 12px 0 10px;
}

.dz-hd-ex-rate b {
    font-size: 2.5rem;
    font-weight: 800;
    line-height: 1;
    background: var(--dz-ex-color, linear-gradient(90deg, #1f5eff, #7c5cff));
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: #1f5eff;
}

.dz-hd-ex-rate i {
    font-style: normal;
    font-size: 16px;
    font-weight: 700;
    color: #5b6b85;
}

.dz-hd-ex-cond {
    position: relative;
    z-index: 1;
    display: block;
    font-size: 13px;
    letter-spacing: .5px;
    color: #8a93a5;
}

.dz-hd-formula {
    max-width: 1200px;
    margin: 16px auto 0;
    padding: 12px 18px;
    text-align: center;
    font-size: 13.5px;
    line-height: 1.9;
    color: #1f4bd8;
    background: rgba(31, 94, 255, .06);
    border: 1px dashed rgba(31, 94, 255, .3);
    border-radius: 12px;
}

.dz-hd-awards-wrap {
    max-width: 1200px;
    margin: 38px auto 0;
}

.dz-hd-awards {
    background: #fff;
    border: 1px solid #e8ecf1;
    border-radius: 14px;
    overflow: hidden;
}

.dz-hd-award-row {
    display: grid;
    grid-template-columns: 64px minmax(0, 2.1fr) minmax(0, .95fr) minmax(0, .8fr) minmax(0, .95fr) minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    padding: 14px 22px;
    border-bottom: 1px solid #f0f3f8;
    font-size: 14px;
    color: #43506b;
    min-width: 0;
}

.dz-hd-award-row:last-child {
    border-bottom: 0;
}

.dz-hd-award-row--head {
    background: #f7f9fc;
    font-size: 13px;
    font-weight: 700;
    color: #5b6b85;
    letter-spacing: .5px;
}

.dz-hd-award-no {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 26px;
    height: 26px;
    padding: 0 8px;
    border-radius: 8px;
    background: #eef2f9;
    color: #5b6b85;
    font-size: 12.5px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.dz-hd-award-name {
    min-width: 0;
    overflow: hidden;
}

.dz-hd-award-name a {
    display: block;
    font-weight: 600;
    color: #16233f;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dz-hd-award-name a:hover {
    color: #1f5eff;
}

.dz-hd-award-meta {
    display: block;
    margin-top: 4px;
    font-size: 12px;
    color: #98a3b5;
}

.dz-hd-award-score {
    font-weight: 700;
    color: #43506b;
    font-variant-numeric: tabular-nums;
}

.dz-hd-award-cash {
    font-weight: 800;
    color: #e8890c;
    font-variant-numeric: tabular-nums;
}

.dz-hd-award-cash-detail {
    display: block;
    margin-top: 3px;
    font-size: 11.5px;
    font-weight: 400;
    color: #98a3b5;
}

/* ---------- 作品提交 ---------- */
.dz-hd-submit-card {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 32px;
    background: #fff;
    border: 1px solid #e8ecf1;
    border-radius: 16px;
    box-shadow: 0 14px 40px rgba(23, 43, 99, .06);
}

/* 话题标签提示（重点强调） */
.dz-hd-submit-tip {
    margin: 0 0 22px;
    padding: 13px 18px;
    font-size: 14px;
    line-height: 1.9;
    color: #5b6b85;
    background: #f7f9fc;
    border: 1px dashed #dfe6f0;
    border-radius: 10px;
}

.dz-hd-tag-hl {
    display: inline-block;
    padding: 2px 10px;
    border-radius: 6px;
    color: #d97706;
    background: rgba(245, 158, 11, .16);
    font-weight: 800;
    letter-spacing: .5px;
}

.dz-hd-note-highlight {
    display: inline;
    padding: 3px 7px;
    color: #b42318;
    font-weight: 700;
    background: linear-gradient(90deg, #fff3d6 0%, #ffe8ef 100%);
    border-radius: 6px;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}

.dz-hd-form-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 16px 18px;
}

.dz-hd-field {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.dz-hd-field--full {
    grid-column: 1 / -1;
}

.dz-hd-field label {
    font-size: 13.5px;
    font-weight: 600;
    color: #43506b;
}

.dz-hd-field label i {
    color: #ff5a5a;
    font-style: normal;
    margin-left: 2px;
}

.dz-hd-field input,
.dz-hd-field select {
    height: 46px;
    padding: 0 14px;
    font-size: 14px;
    color: #1c2333;
    background: #fbfcfe;
    border: 1px solid #dfe6f0;
    border-radius: 10px;
    transition: border-color .2s, box-shadow .2s;
}

.dz-hd-field input:focus,
.dz-hd-field select:focus {
    outline: none;
    border-color: #1f5eff;
    box-shadow: 0 0 0 3px rgba(31, 94, 255, .12);
}

.dz-hd-submit-actions {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 22px;
}

.dz-hd-submit-btn {
    height: 46px;
    padding: 0 34px;
    border: 0;
    border-radius: 10px;
    background: #2980b9;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background .2s, box-shadow .2s;
}

.dz-hd-submit-btn:hover:not(:disabled) {
    background: #226b9c;
    box-shadow: 0 8px 20px rgba(41, 128, 185, .28);
}

.dz-hd-submit-btn:disabled {
    opacity: .6;
    cursor: not-allowed;
}

.dz-hd-status {
    font-size: 13.5px;
    color: #6b7d97;
}

.dz-hd-status.is-ok {
    color: #17a673;
}

.dz-hd-status.is-err {
    color: #e5484d;
}

.dz-hd-login-gate {
    padding: 46px 24px;
    text-align: center;
    border: 1px dashed #cdd8e8;
    border-radius: 14px;
    background: #fafcff;
}

.dz-hd-login-gate h3 {
    margin: 0 0 10px;
    font-size: 1.15rem;
    color: #16233f;
}

.dz-hd-login-gate p {
    margin: 0 0 20px;
    font-size: 14px;
    color: #6b7d97;
}

/* ---------- 作品列表 ---------- */
.dz-hd-sort-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    margin-bottom: 18px;
}

.dz-hd-sort-btn {
    padding: 8px 18px;
    border-radius: 8px;
    border: 1px solid #dfe6f0;
    background: #fff;
    color: #43506b;
    font-size: 13.5px;
    cursor: pointer;
}

.dz-hd-sort-btn.active {
    background: rgba(31, 94, 255, .1);
    border-color: rgba(31, 94, 255, .35);
    color: #1f5eff;
    font-weight: 600;
}

.dz-hd-mine-btn.active,
.dz-hd-mine-btn.active:hover {
    background: linear-gradient(120deg, #1f5eff, #7c5cff);
    border-color: transparent;
    color: #fff;
    font-weight: 600;
}

.dz-hd-works.is-mine .dz-hd-work-row {
    grid-template-columns: minmax(0, 2fr) minmax(0, 1.25fr) minmax(0, .8fr) minmax(0, .8fr) minmax(0, .8fr) minmax(0, .8fr) minmax(0, .8fr) minmax(0, .95fr) minmax(0, .95fr) minmax(0, .9fr);
}

.dz-hd-work-score {
    font-weight: 700;
    color: #43506b;
    font-variant-numeric: tabular-nums;
}

.dz-hd-work-reward {
    font-weight: 800;
    color: #e8890c;
    font-variant-numeric: tabular-nums;
}

.dz-hd-work-actions {
    display: flex;
    gap: 6px;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
}

.dz-hd-work-actions .dz-hd-mini-btn {
    padding: 4px 10px;
    color: #ffffff;
    font-size: 12px;
    background: linear-gradient(135deg, #2980b9, #2563eb);
    border: 0;
    border-radius: 999px;
    cursor: pointer;
}

.dz-hd-work-actions .dz-hd-mini-btn.is-cash {
    background: linear-gradient(135deg, #f59e0b, #d97706);
}

.dz-hd-work-actions .dz-hd-mini-btn:disabled {
    background: #c8d2dc;
    cursor: not-allowed;
}

.dz-hd-works {
    max-width: 1200px;
    margin: 0 auto;
    background: #fff;
    border: 1px solid #e8ecf1;
    border-radius: 14px;
    overflow: hidden;
}

.dz-hd-work-row {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1.25fr) minmax(0, .95fr) minmax(0, .8fr) minmax(0, .8fr) minmax(0, .8fr) minmax(0, .8fr) minmax(0, .8fr);
    gap: 10px;
    align-items: center;
    padding: 15px 22px;
    border-bottom: 1px solid #f0f3f8;
    font-size: 14px;
    color: #43506b;
}

.dz-hd-work-row:last-child {
    border-bottom: 0;
}

.dz-hd-work-row--head {
    background: #f7f9fc;
    font-size: 13px;
    font-weight: 700;
    color: #5b6b85;
    letter-spacing: .5px;
}

.dz-hd-work-name {
    min-width: 0;
    overflow: hidden;
}

.dz-hd-work-name a {
    display: block;
    font-weight: 600;
    color: #16233f;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dz-hd-work-name a:hover {
    color: #1f5eff;
}

.dz-hd-work-meta {
    display: block;
    margin-top: 4px;
    font-size: 12px;
    color: #98a3b5;
}

.dz-hd-work-num {
    text-align: center;
    font-variant-numeric: tabular-nums;
}

.dz-hd-work-num.is-empty {
    color: #c2cad6;
}

.dz-hd-work-center {
    text-align: center;
}

.dz-hd-empty {
    padding: 48px 24px;
    text-align: center;
    color: #8a93a5;
    font-size: 14.5px;
}

/* ---------- 参与须知 ---------- */
.dz-hd-notes {
    max-width: 1200px;
    margin: 0 auto;
    background: #fff;
    border: 1px solid #e8ecf1;
    border-radius: 14px;
    padding: 26px 30px;
}

.dz-hd-notes ul {
    margin: 0;
    padding-left: 18px;
}

.dz-hd-notes li {
    font-size: 14px;
    line-height: 2;
    color: #5b6b85;
}

.dz-hd-notes b {
    color: #16233f;
}

/* 编辑器维护的参与须知内容 */
.dz-hd-note-html {
    font-size: 14px;
    line-height: 2;
    color: #5b6b85;
}

.dz-hd-note-html p {
    margin: 0 0 8px;
}

.dz-hd-note-html p:last-child {
    margin-bottom: 0;
}

.dz-hd-note-html strong,
.dz-hd-note-html b {
    color: #16233f;
}

/* ---------- 动画 ---------- */
@keyframes dzHdHeroShift {
    0% {
        background-position: 0% 50%;
    }

    50% {
        background-position: 100% 50%;
    }

    100% {
        background-position: 0% 50%;
    }
}

@keyframes dzHdBlobFloat {
    0% {
        transform: translate3d(0, 0, 0) scale(1);
    }

    50% {
        transform: translate3d(-30px, 24px, 0) scale(1.08);
    }

    100% {
        transform: translate3d(0, 0, 0) scale(1);
    }
}

@media (prefers-reduced-motion: reduce) {
    .dz-hd-hero,
    .dz-hd-hero::before,
    .dz-hd-hero::after {
        animation: none;
    }
}

/* ---------- 窄屏适配 ---------- */
@media (max-width: 1024px) {
    .dz-hd-rank-grid,
    .dz-hd-rewards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

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

    .dz-hd-award-row {
        grid-template-columns: 60px minmax(0, 2.1fr) minmax(0, .95fr) minmax(0, .95fr) minmax(0, 1fr);
    }

    .dz-hd-work-row {
        grid-template-columns: minmax(0, 2fr) minmax(0, 1.25fr) minmax(0, .95fr) minmax(0, .8fr) minmax(0, .8fr) minmax(0, .8fr) minmax(0, .8fr);
    }

    .dz-hd-work-row .dz-hd-col-platform,
    .dz-hd-award-row .dz-hd-col-platform {
        display: none;
    }

    .dz-hd-works.is-mine .dz-hd-work-row {
        grid-template-columns: minmax(0, 2fr) minmax(0, 1.25fr) minmax(0, .8fr) minmax(0, .8fr) minmax(0, .8fr) minmax(0, .8fr) minmax(0, .95fr) minmax(0, .95fr) minmax(0, .9fr);
    }
}

@media (max-width: 640px) {
    .dz-hd-hero {
        padding: 64px 18px 52px;
    }

    .dz-hd-hero-title {
        font-size: 1.6rem;
    }

    .dz-hd-hero-enter {
        gap: 24px;
    }

    .dz-hd-hero-actions .dz-hd-btn {
        min-width: 200px;
    }

    .dz-hd-hero-qr img {
        width: 136px;
        height: 136px;
    }

    .dz-hd-rank-grid,
    .dz-hd-rewards,
    .dz-hd-form-grid,
    .dz-hd-exchange {
        grid-template-columns: minmax(0, 1fr);
    }

    .dz-hd-award-row {
        grid-template-columns: 52px minmax(0, 1fr) 100px;
        padding: 13px 16px;
        font-size: 13px;
    }

    .dz-hd-award-row .dz-hd-award-score,
    .dz-hd-award-row .dz-hd-col-author,
    .dz-hd-award-row .dz-hd-col-platform {
        display: none;
    }

    .dz-hd-submit-card,
    .dz-hd-notes {
        padding: 22px 18px;
    }

    .dz-hd-work-row {
        grid-template-columns: minmax(0, 1.6fr) minmax(0, .9fr) minmax(0, .8fr) minmax(0, .8fr);
        font-size: 13px;
    }

    .dz-hd-work-row .dz-hd-col-time,
    .dz-hd-work-row .dz-hd-col-platform,
    .dz-hd-work-row .dz-hd-col-shares,
    .dz-hd-work-row .dz-hd-col-comments {
        display: none;
    }

    .dz-hd-works.is-mine .dz-hd-work-row {
        grid-template-columns: minmax(0, 1.5fr) minmax(0, .8fr) minmax(0, .8fr) minmax(0, .9fr) minmax(0, .9fr) minmax(0, .9fr);
    }
}

/* ---------- 活动已结束：提交通道关闭提示 ---------- */
.dz-hd-ended-tip {
    margin: 18px 0 4px;
    padding: 24px 26px;
    border-radius: 12px;
    background: #fff7f0;
    border: 1px solid #ffe0c8;
    text-align: center;
}

.dz-hd-ended-tip h3 {
    margin: 0 0 10px;
    font-size: 18px;
    color: #c2410c;
}

.dz-hd-ended-tip p {
    margin: 0;
    font-size: 14px;
    line-height: 1.9;
    color: #7a5a45;
}

.dz-hd-ended-tip b {
    color: #c2410c;
}

/* 活动结束后顶部「立即提交作品」按钮置灰 */
.dz-hd-btn-disabled {
    background: #b9c2cc !important;
    border-color: #b9c2cc !important;
    color: #fff !important;
    cursor: not-allowed;
    opacity: .85;
}

/* ---------- 作品审核状态（审核中 / 已通过 / 已驳回） ---------- */
.dz-hd-audit-tag {
    display: inline-block;
    margin-left: 8px;
    padding: 1px 8px;
    border-radius: 10px;
    font-size: 12px;
    line-height: 18px;
    vertical-align: middle;
    white-space: nowrap;
}

.dz-hd-audit-tag.is-pending {
    background: #fff4e5;
    border: 1px solid #f5d7a8;
    color: #c2751a;
}

.dz-hd-audit-tag.is-passed {
    background: #e8f7ee;
    border: 1px solid #b7e2c9;
    color: #1a8a48;
}

.dz-hd-audit-tag.is-rejected {
    background: #fdecec;
    border: 1px solid #f3c4c4;
    color: #c33;
}

.dz-hd-audit-hint {
    color: #c2751a;
    font-size: 13px;
}
