
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ouhe);color:var(--ink);
  font:400 16px/1.8 var(--serif);letter-spacing:.012em;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;border:0}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,p,dd,dt,figure,ul,ol{margin:0;padding:0}
ul,ol{list-style:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0}
:root{
  --night:#17101C; --night-2:#241828; --night-3:#33233A;
  --ouhe:#DED0CB; --ouhe-2:#E7DCD8; --ouhe-3:#EFE7E3;
  --card:#F2EAE7; --card-2:#EADFDA;
  --rouge:#B32B4E; --rouge-deep:#8C1F3D; --rouge-bright:#E0556F; --rouge-pale:#F0D8DE;
  --clay:#9C4A2E; --clay-pale:#EFDCD2;
  --ink:#1E1418; --ink-2:#5C4B52; --ink-3:#665259;
  --on-night:#EFE7E3; --on-night-2:rgba(255,255,255,.72); --on-night-3:rgba(255,255,255,.55);
  --line:#C6B5AF; --line-2:#B29E97;
  --serif:"Noto Serif SC","Source Han Serif SC","STSong","Songti SC","SimSun",serif;
  --num:"Noto Serif SC","Source Han Serif SC",Georgia,serif;
  --wrap:min(1360px,100% - 40px);
  --r-s:6px; --r-m:10px; --r-l:14px;
}
/* ---------- ⑤ 双色调：照片统一去彩 + 胭脂色罩（纯 CSS，整段可撤） ---------- */
img{filter:saturate(.26) contrast(1.07) brightness(.98)}
.hero__media,.arow__th,.vcard__m,.vrow__m,.dhero,.gal figure{position:relative;isolation:isolate}
.hero__media::after,.arow__th::after,.vcard__m::after,.vrow__m::after,
.dhero::after,.gal figure::after{content:"";position:absolute;inset:0;background:var(--rouge);
  mix-blend-mode:color;opacity:.44;pointer-events:none;z-index:1}

/* ---------- ③ 宽通栏 ---------- */
.kw{width:var(--wrap);margin-inline:auto}
.kw--wide{width:var(--wrap)}
.kw--tight{width:min(920px,100% - 40px);margin-inline:auto}
.sec{padding:88px 0}
.sec--tight{padding:56px 0}
.sec--paper2,.sec--night{background:var(--night);color:var(--on-night)}
.sec--paper2 .h2,.sec--night .h2,.sec--paper2 .h3,.sec--night .h3,
.sec--paper2 .h1,.sec--night .h1{color:#fff}
.sec--paper2 .lead,.sec--night .lead{color:var(--on-night-2)}
.rule{height:1px;background:var(--line);border:0;margin:0}

/* ---------- 通用件 ---------- */
.eyebrow{display:inline-flex;align-items:center;gap:10px;font:600 12px/1 var(--serif);
  letter-spacing:.2em;color:var(--rouge-deep)}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--rouge);flex:none}
.eyebrow--night{color:var(--rouge-bright)}
.eyebrow--night::before{background:var(--rouge-bright)}
.h1{font:600 clamp(32px,4vw,52px)/1.26 var(--serif);letter-spacing:.01em}
.h2{font:600 clamp(25px,2.4vw,33px)/1.34 var(--serif);text-wrap:balance}
.h3{font:600 20px/1.5 var(--serif)}
.h4{font:600 17px/1.55 var(--serif)}
.lead{font-size:16.5px;line-height:1.92;color:var(--ink-2);max-width:64ch}
.sm{font-size:14px;line-height:1.8;color:var(--ink-2)}
.xs{font-size:12.5px;line-height:1.72;color:var(--ink-3)}
.mono{font-family:var(--num);font-variant-numeric:tabular-nums;font-size:12.5px;letter-spacing:.02em}
.sec-hd{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;
  flex-wrap:wrap;margin-bottom:38px}
.sec-hd__l{max-width:840px}
.sec-hd__l .eyebrow{margin-bottom:15px}
.sec-hd__l p{margin-top:13px}
.linkmore{display:inline-flex;align-items:center;gap:7px;font-weight:600;font-size:15px;
  color:var(--rouge-deep);white-space:nowrap;flex:none;border-bottom:1px solid var(--rouge);
  padding-bottom:2px}
.linkmore svg{flex:none}
.linkmore:hover{color:var(--rouge)}
.sec--paper2 .linkmore,.sec--night .linkmore,.card--night .linkmore,.apane--night .linkmore{
  color:var(--rouge-bright);border-bottom-color:var(--rouge-bright)}
.sec--paper2 .xs,.sec--night .xs{color:var(--on-night-3)}
.sec--paper2 .sm,.sec--night .sm{color:var(--on-night-2)}

/* ---------- 按钮 ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:46px;padding:0 26px;border-radius:2px;background:var(--rouge);
  color:#fff;font-weight:600;font-size:15px;white-space:nowrap;letter-spacing:.03em;
  transition:background .18s ease}
.btn:hover{background:var(--rouge-deep)}
.btn--sm{min-height:40px;padding:0 18px;font-size:14px}
.btn--lg{min-height:54px;padding:0 34px;font-size:16px}
.btn--ghost{background:transparent;color:var(--rouge-deep);box-shadow:inset 0 0 0 1px var(--rouge)}
.btn--ghost:hover{background:var(--rouge);color:#fff}
.btn--ondark{background:var(--ouhe-3);color:var(--night)}
.btn--ondark:hover{background:#fff;color:var(--night)}
.btn--outline-light{background:transparent;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}
.btn--outline-light:hover{background:rgba(255,255,255,.14)}
.btn--block{width:100%}
.sec--paper2 .btn--ghost,.sec--night .btn--ghost,.card--night .btn--ghost,.apane--night .btn--ghost{
  color:var(--ouhe-2);box-shadow:inset 0 0 0 1px rgba(255,255,255,.42)}
.sec--paper2 .btn--ghost:hover,.sec--night .btn--ghost:hover,
.card--night .btn--ghost:hover,.apane--night .btn--ghost:hover{background:rgba(255,255,255,.16);color:#fff}

/* ---------- 标签 ---------- */
.tag{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 9px;
  border-radius:2px;background:var(--rouge-pale);color:var(--rouge-deep);
  font-size:12.5px;font-weight:600;white-space:nowrap;flex:none}
.tag--line{background:transparent;box-shadow:inset 0 0 0 1px var(--line-2);color:var(--ink-2)}
.tag--gold{background:var(--clay-pale);color:var(--clay)}
.tag--night{background:rgba(255,255,255,.16);color:var(--ouhe-2)}
.tag--ok{background:#DCE6DD;color:#2A5540}
.tag--wait{background:#EDE0CD;color:#6F4E1E}
.sec--paper2 .tag--line,.sec--night .tag--line,.apane--night .tag--line{
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.36);color:var(--ouhe-2)}

/* ============================================================
   ① 导航 —— 夜紫黑常驻
   ============================================================ */
.nav{position:sticky;top:0;z-index:60;background:var(--night)}
.nav__in{display:flex;align-items:center;gap:30px;min-height:82px;flex-wrap:wrap;padding:12px 0}
.brand{display:flex;align-items:center;gap:12px;flex:none;color:#fff}
.brand__mark{width:40px;height:40px;flex:none}
.brand__mark svg rect:first-child{fill:var(--rouge)}
.brand__t{display:flex;flex-direction:column;line-height:1.12}
.brand__t b{font:600 19px/1.12 var(--serif);letter-spacing:.1em}
.brand__t i{font:400 9.5px/1 var(--serif);letter-spacing:.3em;color:var(--on-night-3);
  font-style:normal;margin-top:4px}
.chan{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.chan a{display:inline-flex;align-items:center;height:40px;padding:0 15px;border-radius:2px;
  font-size:15px;color:var(--on-night-2);white-space:nowrap;flex:none;transition:.16s}
.chan a:hover{background:rgba(255,255,255,.1);color:#fff}
.chan a.is-on{background:var(--rouge);color:#fff;font-weight:600}
.nav__r{display:flex;align-items:center;gap:16px;margin-left:auto;flex:none}
.ico-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;
  border-radius:2px;color:var(--ouhe-2);flex:none}
.ico-btn:hover{background:rgba(255,255,255,.1);color:#fff}
.ico-btn svg circle,.ico-btn svg path{stroke:currentColor}
.nav__login{font-size:15px;color:var(--on-night-2);white-space:nowrap;flex:none;
  display:inline-flex;align-items:center;min-height:40px}
.nav__login:hover{color:#fff}

/* ---------- 分类条 —— 胭脂满幅（大面积强调色之一） ---------- */
.catbar{background:var(--rouge)}
.catbar__in{display:flex;align-items:center;gap:12px;padding:15px 0;overflow-x:auto}
.catbar__lb{font-size:13px;color:rgba(255,255,255,.84);white-space:nowrap;flex:none;letter-spacing:.18em}
.catbar a{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 14px;
  border-radius:2px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.34);
  font-size:13.5px;color:#fff;white-space:nowrap;flex:none;transition:.16s}
.catbar a b{font:600 12px/1 var(--num);color:rgba(255,255,255,.82)}
.catbar a:hover{background:#fff;color:var(--rouge-deep);box-shadow:none}
.catbar a:hover b{color:var(--rouge)}

/* ============================================================
   ② 首屏 —— 夜紫黑满幅 + 胭脂色场
   ============================================================ */
.hero{padding:78px 0 86px;background:var(--night);color:#fff;position:relative;overflow:hidden}
.hero__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);
  gap:58px;align-items:stretch;position:relative;z-index:2}
.hero__l{display:flex;flex-direction:column}
.hero__t{margin:22px 0 0;font:600 clamp(32px,3.7vw,50px)/1.24 var(--serif);
  letter-spacing:.012em;text-wrap:balance;color:#fff}
.hero__t em{font-style:normal;color:var(--rouge-bright);
  box-shadow:inset 0 -.16em 0 rgba(224,85,111,.32)}
.hero__d{margin-top:24px;font-size:16.5px;line-height:1.98;color:var(--on-night-2);max-width:56ch}
.hero__cta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:34px}
.hero__note{margin-top:18px;font-size:13px;color:var(--on-night-3)}
.hero__stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;
  margin-top:auto;padding-top:42px}
.hero__stats div{padding-right:18px;box-shadow:inset -1px 0 0 rgba(255,255,255,.2)}
.hero__stats div:last-child{box-shadow:none;padding-right:0}
.hero__stats b{display:block;font:600 30px/1.05 var(--num);font-variant-numeric:tabular-nums;
  color:var(--ouhe-3)}
.hero__stats span{display:block;margin-top:9px;font-size:13px;color:var(--on-night-3)}
/* 图像背后的错位胭脂色板 —— 不压文字、不压主按钮 */
.hero__r{display:flex;flex-direction:column;position:relative}
.hero__r::before{content:"";position:absolute;left:-20px;bottom:-20px;right:20px;top:20px;
  background:var(--rouge)}
.hero__media{position:relative;z-index:1;flex:1;min-height:430px;overflow:hidden;border-radius:var(--r-l)}
.hero__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero__badge{position:absolute;left:0;top:0;z-index:2;display:inline-flex;align-items:center;
  height:38px;padding:0 18px;background:#fff;color:var(--rouge-deep);
  font-size:12.5px;font-weight:600;letter-spacing:.06em}
.hero__float{position:relative;z-index:1;display:flex;align-items:center;gap:16px;
  padding:20px 22px;background:var(--ouhe-3);color:var(--ink)}
.hero__float img{width:68px;height:68px;object-fit:cover;flex:none}
.hero__float b{display:block;font-size:15.5px;line-height:1.42;font-weight:600}
.hero__float span{display:block;font-size:12.5px;color:var(--ink-2);margin-top:6px}
.hero__float:hover{background:#fff}

/* ---------- 搜索 + 筛选 —— 胭脂满幅（大面积强调色之二） ---------- */
.find{background:var(--rouge);padding:32px 36px;display:grid;
  grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center}
.find__box{display:flex;align-items:center;gap:12px;background:#fff;
  padding:6px 6px 6px 20px;min-width:0}
.find__box input{flex:1;min-width:0;border:0;outline:0;background:none;font:400 15px/1.5 var(--serif);
  color:var(--ink);padding:11px 0}
.find__box input::placeholder{color:var(--ink-3)}
.find__chips{display:flex;align-items:center;gap:9px;flex-wrap:wrap;grid-column:1 / -1}
.find__chips span{font-size:12.5px;color:rgba(255,255,255,.84);white-space:nowrap;flex:none;
  letter-spacing:.14em;padding-top:2px}
.find__chips a{display:inline-flex;align-items:center;height:32px;padding:0 14px;border-radius:2px;
  color:#fff;font-size:13px;white-space:nowrap;flex:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.42);transition:.16s}
.find__chips a:hover{background:#fff;color:var(--rouge-deep);box-shadow:none}

/* ============================================================
   时间轴（浅段，保持可读性）
   ============================================================ */
.tl{display:flex;flex-direction:column;gap:44px}
.tl__day{display:grid;grid-template-columns:150px minmax(0,1fr);gap:32px;align-items:start}
.tl__stamp{position:sticky;top:108px;display:flex;flex-direction:column;gap:5px;
  background:var(--night);color:#fff;padding:18px 18px 20px}
.tl__stamp b{font:600 26px/1.1 var(--num);font-variant-numeric:tabular-nums}
.tl__stamp i{font:400 12px/1 var(--serif);font-style:normal;letter-spacing:.24em;color:var(--on-night-3)}
.tl__stamp u{text-decoration:none;font-size:12.5px;color:var(--rouge-bright);margin-top:10px}
.tl__list{display:flex;flex-direction:column;gap:16px;min-width:0}

.arow{display:grid;grid-template-columns:232px minmax(0,1fr) 216px;gap:24px;
  background:var(--card);padding:18px;align-items:stretch;transition:background .18s ease}
.arow:hover{background:#fff}
.arow__th{border-radius:var(--r-s);overflow:hidden;min-height:152px}
.arow__th img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.arow__th em{position:absolute;left:0;top:0;z-index:2;font-style:normal;
  font:600 11.5px/1 var(--serif);color:#fff;background:var(--rouge);padding:7px 11px;letter-spacing:.06em}
.arow__b{display:flex;flex-direction:column;min-width:0}
.arow__top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.arow__no{font-family:var(--num);font-variant-numeric:tabular-nums;font-size:12px;
  color:var(--ink-3);letter-spacing:.04em}
.arow__t{margin-top:10px;font:600 19.5px/1.42 var(--serif);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.arow__t a:hover{color:var(--rouge-deep)}
.arow__kv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 24px;margin-top:13px}
.arow__kv div{display:flex;gap:8px;font-size:13.5px;color:var(--ink-2);min-width:0}
.arow__kv dt{color:var(--ink-3);flex:none;font-size:13px}
.arow__kv dd{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.arow__foot{display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  margin-top:auto;padding-top:15px;border-top:1px solid var(--line)}
.arow__src{font-size:13px;color:var(--ink-2);display:inline-flex;align-items:center;gap:7px}
.arow__src b{font-weight:600;color:var(--ink)}
.arow__side{display:flex;flex-direction:column;justify-content:space-between;gap:12px;
  padding-left:22px;box-shadow:inset 1px 0 0 var(--line);text-align:right}
.arow__side b{display:block;font:600 15px/1.35 var(--serif);color:var(--ink)}
.arow__side span{display:block;font-size:12.5px;color:var(--ink-3);margin-top:6px}
.bar{height:4px;background:var(--card-2);overflow:hidden;margin-top:10px}
.bar i{display:block;height:100%;background:var(--rouge)}
.arow__act{display:flex;flex-direction:column;gap:8px;align-items:stretch;margin-top:auto}
.arow__act .btn,.arow__act .btn--ghost{width:100%;min-height:40px;font-size:14px;padding:0 12px}

/* 流程条（深段） */
.flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.22)}
.flow__i{background:var(--night-2);padding:26px 24px;display:flex;flex-direction:column}
.flow__n{font:600 15px/1 var(--num);font-variant-numeric:tabular-nums;
  color:var(--rouge-bright);letter-spacing:.12em}
.flow__i h4{margin-top:15px;font:600 17px/1.5 var(--serif);color:#fff}
.flow__i p{margin-top:10px;font-size:14px;line-height:1.8;color:var(--on-night-2)}
.flow__i em{display:block;margin-top:auto;padding-top:18px;font-style:normal;
  font-size:12.5px;color:var(--on-night-3)}
.flows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:52px}
.flows__hd{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:24px}
.flows__hd h3{font:600 22px/1.4 var(--serif);color:#fff}
.flows--thin .flow{grid-template-columns:repeat(2,minmax(0,1fr))}
.flows--thin .flow__i{padding:22px 20px}
.flows--thin .flow__i h4{font-size:16px}

/* ============================================================
   线下场地
   ============================================================ */
.vgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line)}
.vcard{display:grid;grid-template-columns:252px minmax(0,1fr);background:var(--card)}
.vcard__m{min-height:218px;overflow:hidden}
.vcard__m img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vcard__b{padding:24px 26px;display:flex;flex-direction:column}
.vcard__b h3{font:600 19px/1.45 var(--serif)}
.vcard__b .sm{margin-top:11px}
.vcard__kv{margin-top:15px;display:grid;gap:7px}
.vcard__kv div{display:flex;gap:9px;font-size:13.5px;color:var(--ink-2)}
.vcard__kv dt{color:var(--ink-3);flex:none}
.vcard__b .linkmore{margin-top:auto;padding-top:18px;align-self:flex-start}

.vrows{display:grid;gap:1px;background:var(--line)}
.vrow{display:grid;grid-template-columns:400px minmax(0,1fr);background:var(--card)}
.vrow__m{min-height:262px;overflow:hidden}
.vrow__m img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vrow__b{padding:28px 32px;display:flex;flex-direction:column;min-width:0}
.vrow__kv{margin-top:16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 28px}
.vrow__kv div{display:flex;gap:9px;font-size:14px;color:var(--ink-2);min-width:0}
.vrow__kv dt{color:var(--ink-3);flex:none}
.vrow__kv dd{min-width:0}

.tbl-wrap{overflow-x:auto;background:var(--card)}
table.tbl{width:100%;border-collapse:collapse;min-width:900px}
.tbl caption{text-align:left;padding:22px 24px 0;font:600 16px/1.5 var(--serif);color:var(--ink)}
.tbl th,.tbl td{padding:15px 20px;text-align:left;font-size:14px;color:var(--ink-2);
  border-bottom:1px solid var(--line);vertical-align:middle}
.tbl thead th{background:var(--ouhe-2);color:var(--ink);font-weight:600;font-size:13.5px;
  white-space:nowrap;letter-spacing:.04em}
.tbl tbody tr:last-child td{border-bottom:0}
.tbl td b{color:var(--ink);font-weight:600}
.tbl .tdno{font-family:var(--num);font-variant-numeric:tabular-nums;font-size:12.5px;
  color:var(--ink-3);white-space:nowrap}

/* ============================================================
   平台信息 / 卡片
   ============================================================ */
.pub{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1px;background:var(--line)}
.card{background:var(--card);padding:30px;display:flex;flex-direction:column}
.card--night{background:var(--rouge);color:#fff}
.card--night h3,.card--night h4{color:#fff}
.card--night .sm,.card--night p{color:rgba(255,255,255,.88)}
.card--night .xs{color:rgba(255,255,255,.8)}
.card h3{font:600 20px/1.45 var(--serif)}
.card h3+p{margin-top:12px}
.card .sm{margin-top:12px}
.card .btn,.card .linkmore{margin-top:auto}
.card__list{margin-top:20px;display:grid;gap:13px}
.card__list div{display:flex;gap:13px;font-size:14px;color:var(--ink-2);line-height:1.8}
.card__list i{width:24px;height:24px;background:var(--rouge);color:#fff;
  display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-style:normal;
  font-family:var(--num);flex:none;margin-top:3px}
.card--night .card__list div{color:rgba(255,255,255,.92)}
.card--night .card__list i{background:#fff;color:var(--rouge-deep)}
.reg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:22px;
  background:var(--line)}
.reg a{padding:20px;background:var(--ouhe-2);display:flex;flex-direction:column;transition:.16s}
.reg a:hover{background:var(--rouge-pale)}
.reg b{font:600 16px/1.45 var(--serif);color:var(--ink)}
.reg span{margin-top:9px;font-size:13px;line-height:1.72;color:var(--ink-2)}
.reg em{margin-top:13px;font-style:normal;font-size:13px;color:var(--rouge-deep);
  font-weight:600;text-decoration:none}
.declare{background:var(--card);border-left:5px solid var(--rouge);padding:22px 26px}
.declare p{font-size:14px;line-height:1.9;color:var(--ink-2)}
.declare b{color:var(--ink)}
.idgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:22px;
  background:var(--line)}
.idgrid div{padding:18px 20px;background:var(--ouhe-2)}
.idgrid dt{font-size:12.5px;color:var(--ink-3)}
.idgrid dd{margin-top:8px;font-size:14.5px;color:var(--ink);line-height:1.65}

/* ⚠️ 深段里的浅色面必须重置文字色：否则会继承深段的浅色文字，在白卡上直接不可见 */
.sec--paper2 .card:not(.card--night),.sec--night .card:not(.card--night),
.sec--paper2 .declare,.sec--night .declare,
.sec--paper2 .panel,.sec--night .panel{color:var(--ink)}
.sec--paper2 .card:not(.card--night) h3,.sec--night .card:not(.card--night) h3,
.sec--paper2 .card:not(.card--night) h4,.sec--night .card:not(.card--night) h4{color:var(--ink)}
.sec--paper2 .card:not(.card--night) .sm,.sec--night .card:not(.card--night) .sm,
.sec--paper2 .card:not(.card--night) p,.sec--night .card:not(.card--night) p,
.sec--paper2 .declare p,.sec--night .declare p{color:var(--ink-2)}
.sec--paper2 .card:not(.card--night) .xs,.sec--night .card:not(.card--night) .xs{color:var(--ink-3)}
.sec--paper2 .card:not(.card--night) .linkmore,.sec--night .card:not(.card--night) .linkmore{
  color:var(--rouge-deep);border-bottom-color:var(--rouge)}
.sec--paper2 .declare b,.sec--night .declare b{color:var(--ink)}
/* 深段上的眉标（标记线也要换色） */
.sec--paper2 .eyebrow,.sec--night .eyebrow{color:var(--rouge-bright)}
.sec--paper2 .eyebrow::before,.sec--night .eyebrow::before{background:var(--rouge-bright)}

/* ============================================================
   页脚 —— 夜紫黑满幅
   ============================================================ */
.foot{background:var(--night);color:var(--on-night);padding:72px 0 0;border-top:6px solid var(--rouge)}
.foot__top{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(4,minmax(0,1fr));
  gap:36px;padding-bottom:46px}
.foot__in .brand{margin-bottom:18px}
.foot__in p{font-size:13.5px;line-height:1.85;color:var(--on-night-2);max-width:36ch}
.foot__ct{margin-top:18px;display:grid;gap:7px}
.foot__ct div{font-size:13.5px;color:var(--on-night-2);display:flex;gap:8px}
.foot__ct dt{color:var(--on-night-3);flex:none}
.foot h4{font:600 14px/1.4 var(--serif);color:#fff;letter-spacing:.14em}
.foot ul{margin-top:15px;display:grid;gap:10px}
.foot ul a{font-size:13.5px;color:var(--on-night-2)}
.foot ul a:hover{color:var(--rouge-bright)}
.foot__decl{border-top:1px solid rgba(255,255,255,.16);padding:26px 0 0}
.foot__decl p{font-size:13px;line-height:1.9;color:var(--on-night-2)}
.foot__decl p+p{margin-top:10px}
.foot__decl b{color:#fff;font-weight:600}
.foot__bar{margin-top:26px;border-top:1px solid rgba(255,255,255,.16);padding:22px 0 32px;
  display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.foot__bar div{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.foot__bar span,.foot__bar a{font-size:13px;color:var(--on-night-3)}
.foot__bar a:hover{color:var(--rouge-bright)}

/* ============================================================
   内页：面包屑 / 页头 / 筛选 / 分页 / 详情 / 表单 / 个人中心
   ============================================================ */
.crumb{padding:22px 0 0}
.crumb ol{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:13px;color:var(--ink-3)}
.crumb a{color:var(--ink-2)}
.crumb a:hover{color:var(--rouge-deep)}
.crumb li+li::before{content:"›";margin-right:9px;color:var(--line-2)}
.phead{padding:28px 0 36px;display:flex;align-items:flex-end;justify-content:space-between;
  gap:30px;flex-wrap:wrap}
.phead__l{max-width:860px}
.phead__l h1{margin-top:15px;font:600 clamp(27px,3vw,40px)/1.28 var(--serif);text-wrap:balance}
.phead__l p{margin-top:15px;font-size:16px;line-height:1.9;color:var(--ink-2);max-width:74ch}
.phead__r{display:flex;align-items:center;gap:12px;flex-wrap:wrap;flex:none}

.filter{background:var(--card);padding:6px 24px}
.filter__r{display:grid;grid-template-columns:92px minmax(0,1fr);gap:18px;align-items:center;
  padding:15px 0;border-bottom:1px solid var(--line)}
.filter__r:last-child{border-bottom:0}
.filter__r>span{font-size:13px;color:var(--ink-3);letter-spacing:.1em}
.filter__opts{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.filter__opts a{display:inline-flex;align-items:center;height:32px;padding:0 13px;border-radius:2px;
  font-size:13.5px;color:var(--ink-2);white-space:nowrap;transition:.16s}
.filter__opts a:hover{background:var(--rouge-pale);color:var(--rouge-deep)}
.filter__opts a.is-on{background:var(--rouge);color:#fff;font-weight:600}
.filterbar{display:flex;align-items:center;justify-content:space-between;gap:18px;
  flex-wrap:wrap;padding:24px 0 20px}
.filterbar__c{font-size:14px;color:var(--ink-2)}
.filterbar__c b{font:600 18px/1 var(--num);color:var(--rouge-deep);margin:0 4px}
.sorts{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.sorts a{display:inline-flex;align-items:center;height:34px;padding:0 14px;border-radius:2px;
  font-size:13.5px;color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--line-2);white-space:nowrap}
.sorts a:hover{color:var(--rouge-deep);box-shadow:inset 0 0 0 1px var(--rouge)}
.sorts a.is-on{background:var(--rouge);color:#fff;box-shadow:none;font-weight:600}

.pager{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;padding-top:48px}
.pager a{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;
  padding:0 14px;border-radius:2px;font-size:14px;color:var(--ink-2);
  box-shadow:inset 0 0 0 1px var(--line-2);white-space:nowrap}
.pager a:hover{color:var(--rouge-deep);box-shadow:inset 0 0 0 1px var(--rouge)}
.pager a.is-on{background:var(--rouge);color:#fff;box-shadow:none;font-weight:600}
.pager__info{width:100%;text-align:center;font-size:13px;color:var(--ink-3);padding-top:18px}

.cats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line)}
.ccard{background:var(--card);padding:20px 22px;display:flex;flex-direction:column;transition:.16s}
.ccard:hover{background:#fff}
.ccard b{font:600 16px/1.45 var(--serif)}
.ccard span{margin-top:8px;font-size:13px;color:var(--ink-2);line-height:1.7}
.ccard em{margin-top:13px;font-style:normal;font-family:var(--num);
  font-variant-numeric:tabular-nums;font-size:12.5px;color:var(--rouge-deep)}

.dgrid{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:44px;align-items:start}
.lgrid{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:44px;align-items:start}
.lgrid__aside{display:flex;flex-direction:column;gap:18px;position:sticky;top:108px}
.dhero{height:400px;overflow:hidden;border-radius:var(--r-l)}
.dhero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dhero__ov{position:absolute;inset:auto 0 0 0;z-index:2;padding:30px 34px;
  background:linear-gradient(180deg,transparent 0%,rgba(23,16,28,.86) 100%)}
.dhero__ov h1{font:600 clamp(24px,2.5vw,33px)/1.34 var(--serif);color:#fff;text-wrap:balance}
.dhero__ov div{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:13px}
.dhero__ov .mono{color:var(--on-night-2)}
.dmeta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:28px;
  background:var(--line)}
.dmeta>div{padding:20px 24px;background:var(--card)}
.dmeta dt{font-size:12.5px;color:var(--ink-3)}
.dmeta dd{margin-top:9px;font-size:15px;color:var(--ink);line-height:1.6}
.dmeta dd b{font-weight:600}
.dbody{margin-top:38px}
.dbody h2{font:600 21px/1.45 var(--serif);padding-left:16px;
  box-shadow:inset 4px 0 0 var(--rouge);margin-bottom:18px}
.dbody p{font-size:15.5px;line-height:1.95;color:var(--ink-2);max-width:76ch}
.dbody p+p{margin-top:14px}
.dbody ul{margin-top:16px;display:grid;gap:11px;max-width:76ch}
.dbody ul li{position:relative;padding-left:20px;font-size:15px;line-height:1.85;color:var(--ink-2)}
.dbody ul li::before{content:"";position:absolute;left:3px;top:.76em;width:6px;height:6px;
  background:var(--rouge)}
.dbody+.dbody{margin-top:42px}
.steps{margin-top:10px;display:grid;gap:0}
.steps li{display:grid;grid-template-columns:100px minmax(0,1fr);gap:22px;
  padding:16px 0;border-bottom:1px solid var(--line)}
.steps li:last-child{border-bottom:0}
.steps time{font:600 14px/1.7 var(--num);font-variant-numeric:tabular-nums;color:var(--rouge-deep)}
.steps b{display:block;font:600 15.5px/1.55 var(--serif)}
.steps span{display:block;margin-top:6px;font-size:13.5px;color:var(--ink-2);line-height:1.78}
.gal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:10px}
.gal figure{overflow:hidden;height:160px;border-radius:var(--r-s)}
.gal img{width:100%;height:100%;object-fit:cover}
.gal figcaption{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:10px 12px;
  background:linear-gradient(180deg,transparent,rgba(23,16,28,.82));color:#fff;font-size:12.5px}

.aside{display:flex;flex-direction:column;gap:18px;position:sticky;top:108px}
.apane{background:var(--card);padding:26px;display:flex;flex-direction:column}
.apane--night{background:var(--night);color:#fff}
.apane--night h3{color:#fff}
.apane--night .sm,.apane--night p{color:var(--on-night-2)}
.apane--night .xs{color:var(--on-night-3)}
.apane h3{font:600 18px/1.45 var(--serif)}
.apane__st{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding-bottom:15px;border-bottom:1px solid var(--line)}
.apane--night .apane__st{border-bottom-color:rgba(255,255,255,.2)}
.apane__kv{margin-top:18px;display:grid;gap:10px}
.apane__kv div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:14px}
.apane__kv dt{color:var(--ink-3)}
.apane--night .apane__kv dt{color:var(--on-night-3)}
.apane__kv dd{color:var(--ink);text-align:right}
.apane--night .apane__kv dd{color:#fff}
.apane .btn{margin-top:22px}
.apane .btn+.btn{margin-top:10px}
.apane .xs{margin-top:15px}
.apane--night .bar{background:rgba(255,255,255,.22)}
.apane--night .bar i{background:var(--rouge-bright)}
.org{display:flex;align-items:center;gap:14px}
.org__m{width:54px;height:54px;background:var(--night);color:var(--ouhe-3);
  display:flex;align-items:center;justify-content:center;font:600 20px/1 var(--serif);flex:none}
.org b{display:block;font:600 16px/1.45 var(--serif)}
.org span{display:block;margin-top:6px;font-size:12.5px;color:var(--ink-3)}
.mini{display:grid;gap:12px;margin-top:18px}
.mini a{display:grid;grid-template-columns:66px minmax(0,1fr);gap:12px;align-items:center}
.mini img{width:66px;height:54px;object-fit:cover;border-radius:var(--r-s)}
.mini b{font-size:13.5px;font-weight:600;line-height:1.5;color:var(--ink);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mini span{display:block;margin-top:5px;font-size:12px;color:var(--ink-3)}
.mini a:hover b{color:var(--rouge-deep)}

/* ---------- 表单 ---------- */
.form{display:grid;gap:22px}
.fgroup{background:var(--card);padding:28px 30px}
.fgroup__hd{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;
  padding-bottom:17px;border-bottom:1px solid var(--line);margin-bottom:22px}
.fgroup__hd h3{font:600 18px/1.45 var(--serif)}
.fgroup__hd span{font-size:13px;color:var(--ink-3)}
.frow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.frow--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.fld{display:flex;flex-direction:column;gap:9px;min-width:0}
.fld--full{grid-column:1 / -1}
.fld label{font-size:13.5px;color:var(--ink);font-weight:600;display:flex;gap:6px;align-items:baseline}
.fld label em{font-style:normal;color:var(--rouge);font-size:12px}
.fld .hint{font-size:12.5px;color:var(--ink-3);line-height:1.65}
.fld input,.fld select,.fld textarea{width:100%;min-width:0;font:400 15px/1.6 var(--serif);
  color:var(--ink);background:var(--ouhe-3);border:1px solid var(--line-2);border-radius:2px;
  padding:13px 15px;outline:0;transition:.16s}
.fld input::placeholder,.fld textarea::placeholder{color:var(--ink-3)}
.fld input:focus,.fld select:focus,.fld textarea:focus{
  border-color:var(--rouge);background:#fff;box-shadow:0 0 0 3px var(--rouge-pale)}
.fld textarea{min-height:124px;resize:vertical}
.fld select{appearance:none;cursor:pointer}
.chips{display:flex;flex-wrap:wrap;gap:9px}
.chips label{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 14px;
  background:var(--ouhe-3);box-shadow:inset 0 0 0 1px var(--line-2);
  font-size:13.5px;font-weight:400;cursor:pointer;transition:.16s}
.chips label:hover{background:var(--rouge-pale);box-shadow:inset 0 0 0 1px var(--rouge)}
.chips input{width:15px;height:15px;padding:0;margin:0;accent-color:var(--rouge);flex:none}
.checkline{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;color:var(--ink-2);line-height:1.75}
.checkline input{width:16px;height:16px;flex:none;margin-top:4px;accent-color:var(--rouge)}
.checkline a{color:var(--rouge-deep);font-weight:600;border-bottom:1px solid var(--rouge)}
.upload{border:1px dashed var(--line-2);background:var(--ouhe-3);padding:28px;text-align:center}
.upload b{display:block;font-size:14.5px;color:var(--ink)}
.upload span{display:block;margin-top:8px;font-size:12.5px;color:var(--ink-3)}
.formfoot{display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  background:var(--night);color:var(--on-night);padding:24px 30px}
.formfoot .sm{flex:1;min-width:240px;color:var(--on-night-2)}
.formfoot a{color:var(--rouge-bright);font-weight:600}

/* ---------- 个人中心 ---------- */
.acc{display:grid;grid-template-columns:248px minmax(0,1fr);gap:36px;align-items:start}
.accnav{background:var(--night);padding:18px;position:sticky;top:108px;color:#fff}
.accnav__u{display:flex;align-items:center;gap:12px;padding:8px 10px 18px;
  border-bottom:1px solid rgba(255,255,255,.18);margin-bottom:14px}
.accnav__u .org__m{width:48px;height:48px;font-size:18px;background:var(--rouge);color:#fff}
.accnav__u b{display:block;font:600 15px/1.4 var(--serif);color:#fff}
.accnav__u span{display:block;margin-top:5px;font-size:12px;color:var(--on-night-3)}
.accnav a{display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:12px;font-size:14px;color:var(--on-night-2);min-height:44px;transition:.16s}
.accnav a:hover{background:rgba(255,255,255,.1);color:#fff}
.accnav a.is-on{background:var(--rouge);color:#fff;font-weight:600}
.accnav a.is-on i{color:rgba(255,255,255,.8)}
.accnav a i{font-style:normal;font-family:var(--num);font-variant-numeric:tabular-nums;
  font-size:12px;color:var(--on-night-3)}
.accmain{display:flex;flex-direction:column;gap:26px;min-width:0}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line)}
.stat{background:var(--card);padding:22px 24px}
.stat b{display:block;font:600 30px/1.05 var(--num);font-variant-numeric:tabular-nums;color:var(--rouge-deep)}
.stat span{display:block;margin-top:10px;font-size:13px;color:var(--ink-3)}
.panel{background:var(--card);overflow:hidden}
.panel__hd{display:flex;align-items:center;justify-content:space-between;gap:16px;
  flex-wrap:wrap;padding:22px 26px;border-bottom:1px solid var(--line)}
.panel__hd h3{font:600 18px/1.45 var(--serif)}
.panel__b{padding:8px 26px 22px}
.lirow{display:grid;grid-template-columns:minmax(0,1fr) 184px;gap:22px;align-items:center;
  padding:20px 0;border-bottom:1px solid var(--line)}
.lirow:last-child{border-bottom:0}
.lirow__t{min-width:0}
.lirow__t b{display:block;font:600 16px/1.5 var(--serif);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lirow__t .sm{margin-top:9px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.lirow__t .sm i{font-style:normal;color:var(--ink-3)}
.lirow__a{display:flex;flex-direction:column;gap:8px;align-items:stretch}
.lirow__a .btn,.lirow__a .btn--ghost{min-height:38px;font-size:13.5px;padding:0 12px}
.notice{display:grid;gap:0}
.notice li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;
  padding:16px 0;border-bottom:1px solid var(--line)}
.notice li:last-child{border-bottom:0}
.notice p{font-size:14px;line-height:1.78;color:var(--ink-2)}
.notice time{font:400 12px/1 var(--num);font-variant-numeric:tabular-nums;
  color:var(--ink-3);white-space:nowrap}

/* ---------- 账号页 ---------- */
.auth{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:calc(100vh - 82px)}
.auth__l{background:var(--night);color:#fff;padding:60px 64px;display:flex;flex-direction:column;
  position:sticky;top:82px;align-self:start;min-height:calc(100vh - 82px);overflow:hidden}
.auth__l::after{content:"";position:absolute;right:-140px;top:-120px;width:460px;height:460px;
  background:var(--rouge);opacity:.42}
.auth__l h1{margin-top:28px;font:600 clamp(28px,2.9vw,38px)/1.34 var(--serif);color:#fff;
  position:relative;z-index:2;text-wrap:balance}
.auth__l p{margin-top:20px;font-size:16px;line-height:1.95;color:var(--on-night-2);
  max-width:44ch;position:relative;z-index:2}
.auth__l ul{margin-top:28px;display:grid;gap:14px;position:relative;z-index:2}
.auth__l li{display:flex;gap:12px;font-size:14.5px;color:var(--on-night-2);line-height:1.78}
.auth__l li i{width:24px;height:24px;background:var(--rouge);color:#fff;
  display:inline-flex;align-items:center;justify-content:center;
  font:600 12px/1 var(--num);font-style:normal;flex:none;margin-top:3px}
.auth__l .auth__st{margin-top:auto;padding-top:36px;display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;position:relative;z-index:2}
.auth__l .auth__st b{display:block;font:600 24px/1.05 var(--num);font-variant-numeric:tabular-nums;
  color:var(--rouge-bright)}
.auth__l .auth__st span{display:block;margin-top:9px;font-size:12.5px;color:var(--on-night-3)}
.auth__r{padding:56px 64px;display:flex;flex-direction:column;justify-content:center;
  background:var(--ouhe)}
.auth__box{max-width:480px;width:100%}
.auth details{background:var(--card);margin-bottom:18px;overflow:hidden}
.auth summary{padding:22px 26px;cursor:pointer;list-style:none;
  display:flex;align-items:center;justify-content:space-between;gap:12px}
.auth summary::-webkit-details-marker{display:none}
.auth summary b{font:600 17px/1.45 var(--serif)}
.auth summary span{font-size:13px;color:var(--ink-3)}
.auth details[open] summary{border-bottom:1px solid var(--line)}
.auth details[open] summary b{color:var(--rouge-deep)}
.auth__f{padding:24px 26px 28px;display:grid;gap:16px}
.tabs{display:flex;gap:8px;flex-wrap:wrap}
.tabs a{display:inline-flex;align-items:center;height:36px;padding:0 15px;
  font-size:13.5px;color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--line-2);white-space:nowrap}
.tabs a:hover{color:var(--rouge-deep);box-shadow:inset 0 0 0 1px var(--rouge)}
.tabs a.is-on{background:var(--rouge);color:#fff;box-shadow:none;font-weight:600}
.auth__alt{font-size:13.5px;color:var(--ink-2);text-align:center;margin-top:6px}
.auth__alt a{color:var(--rouge-deep);font-weight:600;border-bottom:1px solid var(--rouge)}

/* ---------- 工具类 ---------- */
.u-mt{margin-top:26px}
.u-mt-s{margin-top:14px}
.u-mt-l{margin-top:54px}
.u-center{text-align:center}
.brand--dark{color:#fff}
.brand--dark .brand__t i{color:var(--on-night-3)}

/* ---------- 响应式 ---------- */
@media (max-width:1180px){
  .foot__top{grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,1fr))}
  .hero__grid{gap:36px}
  .arow{grid-template-columns:200px minmax(0,1fr) 196px;gap:18px}
  .acc{grid-template-columns:218px minmax(0,1fr);gap:26px}
  .lgrid,.dgrid{gap:28px}
  .vrow{grid-template-columns:340px minmax(0,1fr)}
}
@media (max-width:1000px){
  .sec{padding:62px 0}
  .hero{padding:48px 0 56px}
  .hero__grid{grid-template-columns:minmax(0,1fr)}
  .hero__media{min-height:360px}
  .hero__stats{padding-top:30px}
  .flows{grid-template-columns:minmax(0,1fr);gap:36px}
  .vgrid{grid-template-columns:minmax(0,1fr)}
  .cats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pub{grid-template-columns:minmax(0,1fr)}
  .dgrid,.lgrid{grid-template-columns:minmax(0,1fr)}
  .aside,.lgrid__aside{position:static}
  .dmeta{grid-template-columns:repeat(2,minmax(0,1fr))}
  .acc{grid-template-columns:minmax(0,1fr)}
  .accnav{position:static}
  .accnav__links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .auth{grid-template-columns:minmax(0,1fr);min-height:0}
  .auth__l{padding:44px 34px;position:static;min-height:0}
  .auth__r{padding:40px 34px}
  .idgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tl__day{grid-template-columns:minmax(0,1fr);gap:16px}
  .tl__stamp{position:static;flex-direction:row;align-items:baseline;gap:14px;padding-bottom:12px}
  .tl__stamp u{margin-top:0;margin-left:auto}
  .vrow{grid-template-columns:minmax(0,1fr)}
  .vrow__kv{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:820px){
  .kw,.kw--wide{width:calc(100% - 40px)}
  .nav__in{gap:14px;padding:14px 0}
  .chan{order:3;width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}
  .chan a{height:38px;padding:0 13px;font-size:14px}
  .nav__r{margin-left:auto}
  .nav__login{font-size:14px;min-height:38px}
  .arow{grid-template-columns:minmax(0,1fr);gap:16px}
  .arow__th{min-height:200px}
  .arow__side{padding-left:0;box-shadow:none;border-top:1px solid var(--line);
    padding-top:16px;text-align:left}
  .arow__act{flex-direction:row}
  .arow__act .btn,.arow__act .btn--ghost{flex:1}
  .arow__kv{grid-template-columns:minmax(0,1fr)}
  .flow{grid-template-columns:minmax(0,1fr)}
  .flows--thin .flow{grid-template-columns:minmax(0,1fr)}
  .frow,.frow--3{grid-template-columns:minmax(0,1fr)}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lirow{grid-template-columns:minmax(0,1fr)}
  .gal{grid-template-columns:repeat(2,minmax(0,1fr))}
  .find{grid-template-columns:minmax(0,1fr);padding:24px}
  .foot__top{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px}
  .reg{grid-template-columns:minmax(0,1fr)}
  .vcard{grid-template-columns:minmax(0,1fr)}
  .vcard__m{min-height:210px}
  .filter__r{grid-template-columns:minmax(0,1fr);gap:11px}
  .dhero{height:280px}
  .dmeta{grid-template-columns:minmax(0,1fr)}
  .steps li{grid-template-columns:minmax(0,1fr);gap:7px}
  .accnav__links{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:560px){
  .hero__t{font-size:29px}
  .ico-btn{display:none}
  .hero__stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 0}
  .hero__stats div:nth-child(2){box-shadow:none;padding-right:0}
  .hero__stats div:nth-child(1),.hero__stats div:nth-child(2){padding-bottom:18px}
  .cats{grid-template-columns:minmax(0,1fr)}
  .gal{grid-template-columns:minmax(0,1fr)}
  .idgrid{grid-template-columns:minmax(0,1fr)}
  .foot__top{grid-template-columns:minmax(0,1fr)}
  .kw,.kw--wide{width:calc(100% - 32px)}
  .hero__cta .btn,.hero__cta .btn--ghost{width:100%}
  .phead__r{width:100%}
  .phead__r .btn{width:100%}
  .footer-touch a,.foot ul a,.foot__bar a,.crumb a{min-height:44px;display:inline-flex;align-items:center}
  .foot ul{gap:2px}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none!important}
}


/* ==================================================================
   D 版覆盖层 —— 玫红初见（门户语言版）
   ================================================================== */

:root{
  /* --- ① E 同色系深浅阶：全站一个色相，靠明度分 6 层 --- */
  --pink-base:#FFF6F9;   /* L97 页面主底 */
  --pink-2:#FDEDF2;      /* L94 交替分区 */
  --pink-band:#FBDDE6;   /* L90 色带 / 卡片底 */
  --pink-3:#F7CBDC;      /* L86 深一档的带 */
  --rose-mid:#F7A8C0;    /* L76 中调：插画中景、装饰 */
  --rose:#FF6490;        /* L64 满饱和：**只做纯装饰**（插画 / 色带 / 遮罩），不承载文字 */
  --rose-deep:#C42B55;   /* L47 承载文字的实块：按钮 / 页脚 / 色带（白字 5.46:1） */
  --rose-deeper:#A81E45; /* L37 强调文字 */
  --rose-ink:#7C1231;    /* L25 最深，压在玫红块上的文字 */

  /* 令牌重指向：让 B 版原有规则自动跟随 */
  --night:var(--rose-deep); --night-2:#B02448; --night-3:#9C1838;
  --ouhe:var(--pink-base); --ouhe-2:var(--pink-2); --ouhe-3:#FFFFFF;
  --card:#FFFFFF; --card-2:var(--pink-2);
  --rouge:var(--rose-deep); --rouge-deep:var(--rose-deeper);
  --rouge-bright:#FFE4EC; --rouge-pale:var(--pink-band);
  --clay:#8A3A56; --clay-pale:var(--pink-band);

  --ink:#2A1622; --ink-2:#5E3F4C; --ink-3:#7A5A67;
  /* 玫红面上只剩两级文字：白 + 浅粉（第三级在数学上过不了 4.5:1） */
  --on-night:#FFFFFF; --on-night-2:#FFE4EC; --on-night-3:#FFE4EC;
  --line:#F3CDDA; --line-2:#EFA8BF;

  /* --- ④ E 楷体做标题；正文与 UI 走无衬线 --- */
  --sans:"Noto Sans SC","Source Han Sans SC","Noto Sans SC",sans-serif;
  --kai:"KaiTi","STKaiti","楷体","KaiTi_GB2312","Noto Serif SC",serif;
  --num:"Noto Sans SC","Source Han Sans SC",sans-serif;
  --serif:var(--sans);

  /* 门户语言：大圆角 */
  --r-s:10px; --r-m:16px; --r-l:22px;
  --wrap:min(1240px,100% - 40px);
  --sh:0 14px 40px rgba(214,51,95,.10), 0 2px 6px rgba(214,51,95,.05);
}

body{background:var(--pink-base);color:var(--ink)}
h1,h2,h3,p,dd,dt{margin:0}

/* ---------- ④ 楷体只做标题级 ---------- */
.h1,.h2,.h3,.sec-hd .h2,.hero__t,.flow__i h4,.artcap b{font-family:var(--kai);font-weight:700}

/* ---------- ⑤ D 单色／双色调：照片统一走玫红色罩，全站真的只有一个色相家族 ---------- */
img{filter:grayscale(.4) sepia(.24) saturate(1.5) hue-rotate(-16deg) contrast(1.06)}
.arow__th::after,.vcard__m::after,.vrow__m::after,.dhero::after,.gal figure::after,
.collage figure::after,.lock__m::after{
  content:"";position:absolute;inset:0;background:#FF6490;
  mix-blend-mode:soft-light;opacity:.32;pointer-events:none;z-index:1}

/* 插画上的信息浮标 */
.artbadge{position:absolute;left:20px;bottom:22px;z-index:2;
  background:rgba(255,255,255,.94);color:var(--rose-deeper);
  border-radius:999px;padding:9px 18px;font-size:13px;font-weight:600;
  box-shadow:0 8px 22px rgba(214,51,95,.16)}

/* ================= 波浪过渡带 ================= */
.wave{display:block;width:100%;height:70px;margin-bottom:-1px}
.bandart{display:block;width:100%;height:96px}

/* ================= 导航：粉白纸面 ================= */
.nav{background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(8px);
  box-shadow:inset 0 -1px 0 var(--line)}
.brand{color:var(--rose-deeper)}
.brand__mark svg rect:first-child{fill:var(--rose-deep)}
.brand__t i{color:var(--ink-3)}
.chan a{color:var(--ink-2);border-radius:999px}
.chan a:hover{background:var(--pink-band);color:var(--rose-deeper)}
.chan a.is-on{background:var(--rose-deep);color:#fff}
.ico-btn{color:var(--ink-2);border-radius:999px}
.ico-btn:hover{background:var(--pink-band);color:var(--rose-deeper)}
.nav__login{color:var(--ink-2)}
.nav__login:hover{color:var(--rose-deeper)}

/* 频道条：浅粉带 + 胶囊 */
.catbar{background:var(--pink-band)}
.catbar__lb{color:var(--rose-deeper)}
.catbar a{background:rgba(255,255,255,.86);box-shadow:none;color:var(--rose-deeper);
  border-radius:999px}
.catbar a b{color:var(--rose-deeper)}
.catbar a:hover{background:var(--rose-deep);color:#fff}
.catbar a:hover b{color:#FFD0DE}

/* ================= ① 首屏：通栏插画 + 破格重叠（③E） ================= */
.hero{padding:0 0 88px;background:var(--pink-base);overflow:visible}
.hero__art{position:relative;height:480px;overflow:hidden;background:var(--pink-2)}
.hero__art .art{position:absolute;inset:0;width:100%;height:100%;display:block}
.hero__wrap{position:relative;z-index:3;width:var(--wrap);margin:-64px auto 0;
  display:grid;grid-template-columns:minmax(0,1.32fr) minmax(0,1fr);
  gap:26px;align-items:start}
.hero__panel{background:#fff;border-radius:var(--r-l);padding:36px 40px 30px;
  box-shadow:var(--sh)}
.hero__t{margin:14px 0 0;font-size:clamp(28px,3vw,40px);line-height:1.38;
  letter-spacing:.01em;color:var(--ink)}
.hero__t em{font-style:normal;color:var(--rose-deeper);
  box-shadow:inset 0 -.14em 0 rgba(255,100,144,.4)}
.hero__d{margin-top:18px;font-size:16px;line-height:1.95;color:var(--ink-2);max-width:52ch}
.hero__cta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:26px}
.hero__note{margin-top:16px;font-size:13px;color:var(--ink-3)}
.hero__stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;
  margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}
.hero__stats div{padding-right:14px}
.hero__stats b{display:block;font:700 28px/1.05 var(--sans);color:var(--rose-deeper);
  font-variant-numeric:tabular-nums}
.hero__stats span{display:block;margin-top:7px;font-size:12.5px;color:var(--ink-3)}

/* 浮起筛选卡：比正文卡再向上破格 56px */
.hero__find{margin-top:-56px;background:linear-gradient(168deg,#C42B55,#9C1838);
  border-radius:var(--r-l);padding:26px 26px 24px;color:#fff;box-shadow:var(--sh)}
.hero__find h3{font:700 18px/1.4 var(--kai);color:#fff}
.hero__find p{margin-top:8px;font-size:12.5px;color:#FFE4EC;line-height:1.7}
.frow2{margin-top:16px;display:grid;gap:9px}
.fld2{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.97);
  border-radius:12px;padding:0 13px;min-height:46px}
.fld2 i{font-style:normal;font-size:12.5px;color:#9A5C73;flex:none}
.fld2 b{margin-left:auto;font-weight:600;font-size:14px;color:var(--ink)}
.fld2 b::after{content:"";display:inline-block;width:6px;height:6px;margin-left:8px;
  border-right:1.5px solid var(--rose-deep);border-bottom:1.5px solid var(--rose-deep);
  transform:translateY(-2px) rotate(45deg)}
.hero__find .btn{width:100%;margin-top:16px;background:#fff;color:var(--rose-deep);
  box-shadow:none;border-radius:12px}
.hero__find .btn:hover{background:#FFEAF1;color:var(--rose-deeper)}
.hero__find .xs{margin-top:12px;color:#FFE4EC}

/* ================= ② 按钮 / 标签：玫红实块 ================= */
.btn{background:var(--rose-deep);color:#fff;border-radius:999px;font-weight:600}
.btn:hover{background:var(--rose-deeper)}
.btn--lg{min-height:52px;padding:0 32px}
.btn--ghost{background:transparent;color:var(--rose-deeper);
  box-shadow:inset 0 0 0 1.5px var(--rose-deep)}
.btn--ghost:hover{background:var(--rose-deep);color:#fff;box-shadow:none}
.btn--ondark{background:#fff;color:var(--rose-deep)}
.btn--ondark:hover{background:#FFEAF1;color:var(--rose-deeper)}
.btn--outline-light{background:transparent;color:#fff;
  box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.62)}
.btn--outline-light:hover{background:rgba(255,255,255,.18)}
.tag{background:var(--pink-band);color:var(--rose-deeper);border-radius:999px;
  box-shadow:none}
.tag--line{background:#fff;box-shadow:inset 0 0 0 1px var(--line-2);color:var(--rose-deeper)}
.tag--gold{background:#FFF0E4;color:#8A4A22;box-shadow:none}
.tag--night{background:rgba(255,255,255,.2);color:#fff}
.tag--ok{background:#E6F4EC;color:#1F5B3D}
.tag--wait{background:#FDF0DC;color:#7A5410}

/* ================= ③ E 破格重叠：板块标题居中 + 两侧延长线 ================= */
.sec-hd{flex-direction:column;align-items:center;text-align:center;gap:16px;
  margin-bottom:36px}
.sec-hd__l{max-width:900px;margin-inline:auto}
.sec-hd__l .eyebrow{margin-bottom:13px;justify-content:center}
.sec-hd .h2{position:relative;display:inline-block;padding:0 74px}
.sec-hd .h2::before,.sec-hd .h2::after{content:"";position:absolute;top:52%;
  width:52px;height:2px;border-radius:2px;background:var(--rose-mid)}
.sec-hd .h2::before{left:0}
.sec-hd .h2::after{right:0}
.sec-hd .linkmore{margin-top:2px}
.eyebrow{color:var(--rose-deeper);font-size:12.5px;letter-spacing:.16em}
.eyebrow::before{background:var(--rose-deep);width:22px}
.sec-hd .h2{font-size:clamp(22px,2.35vw,31px);text-wrap:normal}
.h2{line-height:1.4}
.lead{color:var(--ink-2)}

/* ================= 分区底色：浅粉带交替 ================= */
.sec{padding:80px 0}
.sec--paper2{background:var(--pink-2);color:var(--ink)}
.sec--paper2 .h1,.sec--paper2 .h2,.sec--paper2 .h3{color:var(--ink)}
.sec--paper2 .lead,.sec--paper2 .sm,.sec--paper2 .xs{color:var(--ink-2)}
.sec--paper2 .eyebrow{color:var(--rose-deeper)}
.sec--paper2 .eyebrow::before{background:var(--rose-deep)}
.sec--paper2 .card:not(.card--night){background:#fff;color:var(--ink);box-shadow:none}
.sec--paper2 .card:not(.card--night) h3,.sec--paper2 .card:not(.card--night) h4{color:var(--ink)}
.sec--paper2 .card:not(.card--night) .sm,.sec--paper2 .card:not(.card--night) p,
.sec--paper2 .card:not(.card--night) .xs{color:var(--ink-2)}
.sec--paper2 .linkmore{color:var(--rose-deeper);border-bottom-color:var(--rose-deep)}
.sec--paper2 .card:not(.card--night) .linkmore{color:var(--rose-deeper);
  border-bottom-color:var(--rose-deep)}
.sec--paper2 .btn--ghost{color:var(--rose-deeper);
  box-shadow:inset 0 0 0 1.5px var(--rose-deep)}
.sec--paper2 .btn--ghost:hover{background:var(--rose-deep);color:#fff;box-shadow:none}
.sec--paper2 .tag--line{background:#fff;box-shadow:inset 0 0 0 1px var(--line-2);
  color:var(--rose-deeper)}

/* ================= 面：白卡 + 大圆角 ================= */
.card,.panel,.apane{background:#fff;border-radius:var(--r-m);box-shadow:var(--sh)}
.card--night,.apane--night{background:var(--rose-deep);color:#fff}
.card--night .sm,.card--night p{color:var(--on-night-2)}
.card--night .xs{color:var(--on-night-3)}
.card--night .card__list div{color:rgba(255,255,255,.92)}
.card__list i{background:var(--pink-band);color:var(--rose-deeper)}
.card--night .card__list i{background:#fff;color:var(--rose-deep)}
.bar{background:var(--pink-band);border-radius:999px}
.bar i{background:var(--rose-deep);border-radius:999px}
.apane--night .bar i{background:#FFD0DE}
.arow__th em{background:var(--rose-deep);border-radius:999px}
.arow{background:#fff;border-radius:var(--r-m);box-shadow:0 6px 22px rgba(214,51,95,.07)}
.tl__list{gap:16px}
.accnav__u .org__m{background:var(--rose-deep);color:#fff}
.accnav a.is-on,.tabs a.is-on,.sorts a.is-on,.pager a.is-on,.filter__opts a.is-on{
  background:var(--rose-deep);color:#fff;box-shadow:none;border-radius:999px}
.reg a:hover,.filter__opts a:hover{background:var(--pink-band)}
.chips label:hover{background:var(--pink-band);box-shadow:inset 0 0 0 1px var(--rose-mid)}
.flow{background:var(--pink-band)}
.flow__i{background:#fff}
.flow__n{color:var(--rose-deep)}
.flow__i h4{color:var(--ink)}
.flow__i p,.flow__i em{color:var(--ink-2)}
.flows__hd h3{color:var(--ink);font-family:var(--kai);font-weight:700}
.vcard,.vrow{background:#fff;border-radius:var(--r-m);box-shadow:var(--sh)}
.vgrid{background:transparent;gap:18px}
.steps li{background:transparent}
.idgrid div{background:#fff}
.declare{background:var(--pink-band);border-left:5px solid var(--rose-deep);
  border-radius:0 var(--r-s) var(--r-s) 0}
.auth__l{background:var(--rose-deep)}
.auth__l::before{background:#fff;opacity:.07}
.stats{background:var(--pink-band);border-radius:var(--r-m);gap:1px}
.stat{background:#fff}
.lirow{background:#fff;border-radius:var(--r-m)}
.mini a{background:#fff;border-radius:var(--r-s)}
.sorts a,.pager a,.tabs a,.filter__opts a,.filter__r{border-radius:999px}
.fld input,.fld select,.fld textarea{border-radius:12px;border-color:var(--line-2)}
.chips label{border-radius:999px}

/* ================= 新增模块 A：注册后可见（锁定卡） ================= */
.locks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.lock{background:#fff;border-radius:var(--r-m);overflow:hidden;box-shadow:var(--sh);
  display:flex;flex-direction:column}
.lock__m{position:relative;height:146px;overflow:hidden}
.lock__m svg{position:absolute;inset:0;width:100%;height:100%}
.lock__m::after{background:#FF6490;mix-blend-mode:soft-light;opacity:.5}
.lock__mk{position:absolute;inset:0;z-index:2;display:grid;place-items:center}
.lock__b{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
.lock__b h4{font:700 17px/1.45 var(--kai);color:var(--ink)}
.lock__b p{margin-top:9px;font-size:13.5px;line-height:1.8;color:var(--ink-2)}
.lock__t{margin-top:12px;display:inline-flex;align-items:center;gap:7px;
  font-size:12.5px;color:var(--rose-deeper);font-weight:600}
.lock__t::before{content:"";width:7px;height:7px;border-radius:2px;background:var(--rose-deep);
  transform:rotate(45deg);flex:none}
.lock__b .btn{margin-top:auto}

/* ================= 新增模块 B：往期活动拼贴墙（③E 跨栏出血） ================= */
.bleed{width:100%;padding:0 20px}
.collage{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));
  grid-auto-rows:104px;gap:12px}
.collage figure{position:relative;overflow:hidden;border-radius:var(--r-s);
  background:var(--pink-band)}
.collage figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.collage figure span{position:absolute;left:0;bottom:0;z-index:2;padding:6px 12px;
  white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;
  background:rgba(214,51,95,.9);color:#fff;font-size:12px;border-radius:0 10px 0 0}
.collage .c1{grid-column:span 2;grid-row:span 2}
.collage .c2{grid-column:span 2;grid-row:span 1}
.collage .c3{grid-column:span 1;grid-row:span 2}
.collage .c4{grid-column:span 1;grid-row:span 1}
.collage .c5{grid-column:span 2;grid-row:span 2}
.collage .c6{grid-column:span 1;grid-row:span 1}
.collage .c7{grid-column:span 1;grid-row:span 1}
.collage .c8{grid-column:span 2;grid-row:span 1}

/* ================= 新增模块 C：双列资讯列表 ================= */
.news{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px}
.news article{padding:20px 0 18px;border-bottom:1px solid var(--line)}
.news article:nth-last-child(-n+2){border-bottom:0}
.news h4{font:600 17px/1.5 var(--sans);color:var(--ink);display:flex;gap:9px}
.news h4::before{content:"";width:7px;height:7px;border-radius:2px;background:var(--rose-deep);
  transform:rotate(45deg);flex:none;margin-top:8px}
.news .k{margin-top:9px;font-size:12.5px;color:var(--rose-deeper);font-weight:600}
.news p{margin-top:6px;font-size:13.5px;line-height:1.82;color:var(--ink-2)}
.news .m{margin-top:9px;font-size:12px;color:var(--ink-3)}

/* ================= 页脚：玫红实块 + 双二维码 + 客服 ================= */
.foot{background:var(--rose-deep);color:#fff;padding:64px 0 0;border-top:0;border-radius:0}
.foot__top{grid-template-columns:minmax(0,1.3fr) minmax(0,1.5fr) minmax(0,1.1fr);
  gap:36px;padding-bottom:40px}
.foot__in p{color:#FFE4EC}
.foot__ct dt{color:#FFE4EC}
/* 玫瑰实块上文字一律走浅玫 —— 深色 --ink-3 在玫瑰底上几乎不可见 */
.foot .xs{color:#FFE4EC}
.foot__ct div{color:#fff}
.foot__qrs{display:flex;gap:22px;align-items:flex-start;justify-content:center}
.foot__qr{text-align:center}
.foot__qr span{display:block;margin-top:10px;font-size:12.5px;color:#FFE4EC}
.foot__qr .qr{background:#fff;border-radius:12px;padding:7px;display:block}
.foot__svc h4{font:700 17px/1.4 var(--kai);color:#fff}
.foot__svc p{margin-top:10px;font-size:13px;line-height:1.8;color:#FFE4EC}
.foot__svc .tel{display:block;margin-top:6px;font:700 22px/1.2 var(--sans);color:#fff;
  letter-spacing:.02em}
.foot__svc .btn{margin-top:14px;background:#fff;color:var(--rose-deep);border-radius:12px}
.foot__svc .btn:hover{background:#FFEAF1;color:var(--rose-deeper)}
.foot__decl{border-top:1px solid rgba(255,255,255,.28);padding:26px 0 4px}
.foot__decl p{color:#FFE4EC;font-size:13px;line-height:1.9;margin-top:10px}
.foot__decl p:first-child{margin-top:0}
.foot__decl b{color:#fff}
.foot ul a{color:#FFE4EC}
.foot ul a:hover,.foot__bar a:hover{color:#fff}
.foot__bar{border-top:1px solid rgba(255,255,255,.28);color:#FFE4EC}
.foot__bar a{color:#FFE4EC}

/* 侧边悬浮客服条 */
.side-svc{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:80;
  background:var(--rose-deep);color:#fff;border-radius:14px 0 0 14px;
  writing-mode:vertical-rl;padding:16px 8px;font-size:13px;letter-spacing:.16em;
  box-shadow:-6px 0 18px rgba(214,51,95,.2)}
.side-svc:hover{background:var(--rose-deeper)}

/* ================= 窄屏 ================= */
@media (max-width:1180px){
  .hero__wrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .foot__top{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px}
  .foot__qrs{justify-content:flex-start}
}
@media (max-width:1000px){
  .hero__art{height:372px}
  .hero__wrap{margin-top:-72px}
  .hero__find{margin-top:0}
  .collage{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:92px}
  .locks{grid-template-columns:repeat(2,minmax(0,1fr))}
  .news{grid-template-columns:minmax(0,1fr);gap:0}
  .news article:nth-last-child(-n+2){border-bottom:1px solid var(--line)}
  .news article:last-child{border-bottom:0}
  .sec-hd .h2{padding:0 48px}
  .sec-hd .h2::before,.sec-hd .h2::after{width:32px}
}
@media (max-width:820px){
  .hero__wrap{grid-template-columns:minmax(0,1fr)}
  .hero__art{height:300px}
  .hero__wrap{margin-top:-56px}
  .hero__panel{padding:26px 22px 24px}
  .hero__stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 0;
    border-top:0;padding-top:0}
  .hero__stats div{padding-top:16px;border-top:1px solid var(--line)}
  .foot__top{grid-template-columns:minmax(0,1fr)}
  .locks{grid-template-columns:minmax(0,1fr)}
  .collage{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:84px;gap:9px}
  .collage .c1,.collage .c5{grid-column:span 2;grid-row:span 2}
  .collage .c2,.collage .c8{grid-column:span 2;grid-row:span 1}
  .collage .c3,.collage .c4,.collage .c6,.collage .c7{grid-column:span 1;grid-row:span 1}
  .side-svc{display:none}
  .sec{padding:60px 0}
}
@media (max-width:560px){
  .hero__art{height:236px}
  .hero__wrap{margin-top:-40px}
  .hero__t{font-size:27px}
  .sec-hd .h2{padding:0 24px}
  .sec-hd .h2::before,.sec-hd .h2::after{width:16px}
  .collage{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:76px}
  .collage .c1,.collage .c5,.collage .c2,.collage .c8{grid-column:span 2;grid-row:span 2}
  .collage .c3,.collage .c4,.collage .c6,.collage .c7{grid-column:span 1;grid-row:span 1}
}

/* ================= 详情页 · 报名申请表单 ================= */
.apply{gap:20px}
.apply .fld--full{grid-column:1 / -1}
.apply__foot{display:flex;align-items:flex-end;gap:18px;flex-wrap:wrap;
  padding-top:22px;border-top:1px solid var(--line-2)}
.apply__foot .sm{flex:1;min-width:260px;margin:0;color:var(--ink-2)}


/* ==========================================================================
   Mymps 场景补充层 —— 纯静态站里没有、但后端站必须要的部分
   ========================================================================== */

/* ---------- 无图占位封面：m1~m8 图案母版 × 栏目色相着色 ----------
   Mymps 默认占位图 /images/nophoto.gif 是浅灰底，在玫红体系里非常突兀。
   新导入的条目通常没配图，所以一律用 CSS 图案兜底，不输出 <img>。 */
.cx-cover{position:relative;display:block;overflow:hidden;background:var(--pink-2)}
.cx-cover::before,.cx-cover::after{content:"";position:absolute;inset:0;pointer-events:none}
.cx-cover__idx{position:absolute;left:16px;top:12px;z-index:2;
  font:600 30px/1 var(--num);color:rgba(196,43,85,.34);letter-spacing:.04em}
.cx-cover__code{position:absolute;left:18px;bottom:14px;z-index:2;
  font:500 12.5px/1 var(--num);letter-spacing:.1em;color:rgba(124,18,49,.72)}
.cx-cover__cat{position:absolute;right:16px;top:14px;z-index:2;
  font-size:12px;font-weight:600;color:#fff;background:var(--rose-deep);
  padding:5px 11px;border-radius:999px}

.cx-m1::before{background:
  radial-gradient(circle at 78% 22%,rgba(255,255,255,.85) 0 12%,transparent 13%),
  repeating-linear-gradient(115deg,rgba(255,255,255,.5) 0 8px,transparent 8px 22px)}
.cx-m2::before{background:
  radial-gradient(circle at 22% 78%,rgba(255,255,255,.7) 0 16%,transparent 17%),
  repeating-linear-gradient(0deg,rgba(255,255,255,.42) 0 6px,transparent 6px 20px)}
.cx-m3::before{background:
  conic-gradient(from 40deg at 30% 30%,rgba(255,255,255,.6) 0 25%,transparent 0 50%,
  rgba(255,255,255,.4) 0 75%,transparent 0)}
.cx-m4::before{background:
  repeating-radial-gradient(circle at 70% 70%,rgba(255,255,255,.55) 0 10px,transparent 10px 26px)}
.cx-m5::before{background:
  linear-gradient(135deg,rgba(255,255,255,.62) 0 44%,transparent 44%),
  repeating-linear-gradient(90deg,rgba(255,255,255,.34) 0 5px,transparent 5px 18px)}
.cx-m6::before{background:
  radial-gradient(ellipse at 50% 100%,rgba(255,255,255,.66) 0 30%,transparent 31%),
  repeating-linear-gradient(45deg,rgba(255,255,255,.36) 0 7px,transparent 7px 21px)}
.cx-m7::before{background:
  conic-gradient(from 200deg at 65% 35%,rgba(255,255,255,.55) 0 30%,transparent 0 62%,
  rgba(255,255,255,.36) 0 88%,transparent 0)}
.cx-m8::before{background:
  repeating-linear-gradient(160deg,rgba(255,255,255,.5) 0 9px,transparent 9px 24px),
  radial-gradient(circle at 30% 30%,rgba(255,255,255,.5) 0 14%,transparent 15%)}
/* 色相混入：--cx-h 由模板按栏目给出 */
.cx-cover::after{background:var(--cx-h,var(--rose));opacity:.16;mix-blend-mode:multiply}
.cx-cover.is-photo::before,.cx-cover.is-photo::after{display:none}
.cx-cover img{width:100%;height:100%;object-fit:cover;display:block}

/* 栏目色相变量（六个够用；栏目多于六个时循环取） */
:root{--hue-1:#D6335F;--hue-2:#C4622F;--hue-3:#8A3E86;--hue-4:#2F6E86;
      --hue-5:#4A7A3A;--hue-6:#8A5A2B}

/* ---------- 分页 ---------- */
.pager{display:flex;flex-wrap:wrap;align-items:center;gap:8px;justify-content:center;
  margin-top:38px}
.pager a,.pager span{display:inline-flex;align-items:center;justify-content:center;
  min-width:40px;height:40px;padding:0 13px;border-radius:12px;font-size:14px;
  color:var(--ink-2);background:var(--card);box-shadow:inset 0 0 0 1px var(--line-2)}
.pager a:hover{color:var(--rose-deep);box-shadow:inset 0 0 0 1px var(--rose-deep)}
.pager .is-on{background:var(--rose-deep);color:#fff;box-shadow:none;font-weight:600}
.pager .is-off{opacity:.42;cursor:not-allowed}

/* ---------- 筛选条（列表页顶部的胶囊条） ---------- */
.fbar{background:var(--card);border-radius:var(--r-l);padding:20px 24px;
  display:grid;gap:14px;box-shadow:0 12px 34px rgba(196,43,85,.07)}
.fbar__r{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.fbar__k{flex:none;width:66px;font-size:13px;color:var(--ink-3);font-weight:600}
.fbar__v{display:flex;flex-wrap:wrap;gap:8px;min-width:0}
.fbar__v a,.fbar__v span{display:inline-flex;align-items:center;height:32px;padding:0 14px;
  border-radius:999px;font-size:13.5px;color:var(--ink-2);background:var(--pink-2)}
.fbar__v a:hover{background:var(--pink-band);color:var(--rose-deeper)}
.fbar__v .is-on{background:var(--rose-deep);color:#fff;font-weight:600}

/* ---------- 信息行（列表页主体） ---------- */
.irow{display:grid;grid-template-columns:224px minmax(0,1fr) 208px;gap:24px;
  background:var(--card);border-radius:var(--r-l);padding:20px;align-items:start}
.irow__m{position:relative;border-radius:var(--r-m);overflow:hidden;
  aspect-ratio:16/10;background:var(--pink-2)}
.irow__b{min-width:0;display:flex;flex-direction:column;gap:11px}
.irow__t{margin:0;font-size:19px;line-height:1.5;font-weight:700;color:var(--ink)}
.irow__t a:hover{color:var(--rose-deep)}
.irow__meta{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:13.5px;color:var(--ink-2)}
.irow__meta b{color:var(--ink);font-weight:600}
.irow__tags{display:flex;flex-wrap:wrap;gap:8px}
.irow__s{font-size:13.5px;color:var(--ink-3);line-height:1.7}
.irow__r{display:flex;flex-direction:column;gap:10px;align-items:stretch;
  border-left:1px solid var(--line);padding-left:20px}
.irow__r .num{font:600 26px/1 var(--num);color:var(--rose-deep)}
.irow__r .num i{font-style:normal;font-size:13px;color:var(--ink-3);font-weight:400}
.irow + .irow{margin-top:16px}

/* ---------- 发布表单 ---------- */
.fsec{background:var(--card);border-radius:var(--r-l);padding:30px 32px}
.fsec + .fsec{margin-top:20px}
.fsec__hd{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;
  padding-bottom:16px;margin-bottom:22px;border-bottom:1px solid var(--line)}
.fsec__hd h3{margin:0;font-size:19px;font-weight:700}
.fsec__hd span{font-size:13px;color:var(--ink-3)}
.fg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.fg--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.fg--1{grid-template-columns:minmax(0,1fr)}
.fl{display:flex;flex-direction:column;gap:9px;min-width:0}
.fl label{font-size:13.5px;font-weight:600;color:var(--ink);display:flex;gap:6px;align-items:baseline}
.fl label em{font-style:normal;color:var(--rose-deep);font-size:12px}
.fl .hint{font-size:12.5px;color:var(--ink-3);line-height:1.65}
.fl input,.fl select,.fl textarea{width:100%;min-width:0;font:400 15px/1.6 var(--serif);
  color:var(--ink);background:var(--pink-2);border:1px solid var(--line-2);
  border-radius:12px;padding:12px 14px;outline:none}
.fl textarea{min-height:150px;resize:vertical}
.fl input:focus,.fl select:focus,.fl textarea:focus{
  border-color:var(--rose-deep);background:#fff;
  box-shadow:0 0 0 3px rgba(214,51,95,.12)}
.fl select{appearance:none;cursor:pointer;background-image:
  linear-gradient(45deg,transparent 50%,var(--ink-3) 50%),
  linear-gradient(135deg,var(--ink-3) 50%,transparent 50%);
  background-position:calc(100% - 19px) 20px,calc(100% - 14px) 20px;
  background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:38px}
.fchips{display:flex;flex-wrap:wrap;gap:9px}
.fchips label{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 15px;
  border-radius:999px;font-size:13.5px;background:var(--pink-2);cursor:pointer}
.fchips input{width:15px;height:15px;padding:0;margin:0;accent-color:var(--rose-deep);flex:none}
.ffoot{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:26px;
  padding-top:22px;border-top:1px solid var(--line)}
.ffoot .sm{flex:1;min-width:260px;margin:0;color:var(--ink-2)}

/* ---------- 会员 / 登录注册外框 ---------- */
.mwrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:0;
  border-radius:var(--r-l);overflow:hidden;background:var(--card);
  box-shadow:0 24px 60px rgba(196,43,85,.10)}
.mwrap__l{background:var(--night);color:#fff;padding:52px 56px;display:flex;
  flex-direction:column;position:relative;overflow:hidden}
.mwrap__l h2{margin:0 0 14px;font-size:28px;font-weight:700;color:#fff}
.mwrap__l p{color:#FFE4EC;font-size:14.5px;line-height:1.9}
.mwrap__r{padding:48px 56px}
.mwrap__r h3{margin:0 0 8px;font-size:22px;font-weight:700}
.mlist{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:12px}
.mlist li{display:flex;gap:10px;font-size:14px;color:#FFE4EC;line-height:1.7}
.mlist li::before{content:"";flex:none;width:6px;height:6px;margin-top:.66em;border-radius:50%;
  background:var(--rose);opacity:.9}
.linkline{margin-top:20px;font-size:14px;color:var(--ink-2)}
.linkline a{color:var(--rose-deep);font-weight:600}

/* ---------- 空状态 ---------- */
.empty{text-align:center;padding:80px 24px;background:var(--card);border-radius:var(--r-l)}
.empty h3{margin:0 0 10px;font-size:22px}
.empty p{color:var(--ink-2);margin:0 0 22px}

/* ---------- 表格化信息（台账 / 会员） ---------- */
.tbl{width:100%;border-collapse:collapse;background:var(--card);border-radius:var(--r-l);
  overflow:hidden}
.tbl th,.tbl td{padding:14px 18px;text-align:left;font-size:14px;
  border-bottom:1px solid var(--line)}
.tbl th{background:var(--pink-2);font-weight:600;color:var(--ink);white-space:nowrap}
.tbl td{color:var(--ink-2)}
.tbl tr:last-child td{border-bottom:none}

/* ---------- 小工具类 ---------- */
.clamp1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.clamp2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.skip{position:absolute;left:-9999px}
.skip:focus{left:16px;top:16px;z-index:99;background:#fff;padding:10px 16px;border-radius:10px}

@media (max-width:1180px){
  .irow{grid-template-columns:190px minmax(0,1fr) 180px;gap:18px}
}
@media (max-width:1000px){
  .irow{grid-template-columns:180px minmax(0,1fr)}
  .irow__r{border-left:none;border-top:1px solid var(--line);padding:16px 0 0;grid-column:1/-1}
  .mwrap{grid-template-columns:minmax(0,1fr)}
  .mwrap__l{padding:38px 32px}
  .mwrap__r{padding:38px 32px}
}
@media (max-width:820px){
  .irow{grid-template-columns:minmax(0,1fr)}
  .irow__m{aspect-ratio:16/9}
  .fg,.fg--3{grid-template-columns:minmax(0,1fr)}
  .fsec{padding:24px 20px}
  .fbar{padding:16px 18px;border-radius:var(--r-m)}
}
