/* 参赛版视觉修订：声音字幕、题名、家庭数字见证 */
[hidden]{display:none!important}

/* 声音开篇：播放页不重复题名，以逐句动态字幕承接声音 */
.continuous-audio{width:min(1080px,92vw);min-height:84vh;justify-content:center}
.continuous-audio .eyebrow{margin-bottom:22px}
.continuous-audio .sound-orbit{width:118px;height:118px;margin:0 auto 34px}
.continuous-audio .sound-orbit:before{inset:19px}
.continuous-audio .sound-orbit:after{inset:38px}
.continuous-audio .sound-orbit span:nth-child(2){inset:7px}
.continuous-audio .sound-orbit span:nth-child(3){inset:29px}
.audio-caption{width:min(980px,100%);min-height:235px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:10px 3vw 20px}
.audio-caption>span{display:block;margin-bottom:17px;color:#bfa46d;font:11px/1.2 -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;letter-spacing:.5em}
.audio-caption>p{margin:0;color:#eee4d2;font:clamp(34px,4.3vw,62px)/1.55 "STKaiti","KaiTi","FangSong","Songti SC",serif;letter-spacing:.045em;text-wrap:balance;animation:caption-rise .72s cubic-bezier(.2,.75,.2,1) both;text-shadow:0 8px 30px #000}
.audio-caption em{display:inline-block;color:#d9b971;font-size:1.16em;font-style:normal;letter-spacing:.09em;animation:caption-breathe 2.2s ease-in-out both}
.audio-caption small{display:inline;font:inherit;font-size:.78em;color:#bcb5a6;letter-spacing:.03em}
.audio-caption.role-mother>p{color:#f1dfbd}
.audio-caption.role-son>p{font-size:clamp(31px,4vw,56px);color:#dde4d8}
.audio-caption.waiting{opacity:.55}
.audio-caption.ending>p{font-size:clamp(42px,5vw,70px)}
.continuous-audio .opening-progress{margin-top:8px}
@keyframes caption-rise{0%{opacity:0;transform:translateY(22px) scale(.97);filter:blur(5px)}100%{opacity:1;transform:none;filter:none}}
@keyframes caption-breathe{0%{transform:scale(.92);opacity:.45}55%{transform:scale(1.06);opacity:1}100%{transform:scale(1);opacity:1}}

/* 书名：一行完成题名，使用离线可用的楷体字族与错落字阶 */
.edition-title h1.edition-display{position:relative;display:flex;align-items:baseline;gap:.05em;width:max-content;max-width:100%;margin:24px 0 34px;white-space:nowrap;font-family:"STKaiti","KaiTi","FangSong","Songti SC",serif;font-size:clamp(62px,7.4vw,112px);font-weight:400;line-height:1.06;letter-spacing:.015em}
.edition-display span{font-size:.7em;letter-spacing:.12em}
.edition-display i{margin:0 -.1em 0 -.16em;color:#a54335;font:normal .52em/1 "Songti SC",serif;transform:translateY(-.18em)}
.edition-display b{position:relative;color:#173a31;font-size:1em;font-weight:400;letter-spacing:.09em}
.edition-display b:after{content:"";position:absolute;left:.03em;right:.02em;bottom:-.12em;height:2px;background:linear-gradient(90deg,#a54335,#a5433500);transform:rotate(-1.2deg)}
.edition-title{overflow:visible}
.edition-title .edition-subtitle{font-family:"STKaiti","KaiTi","FangSong","Songti SC",serif}
.zy-hero-copy h1{max-width:none;white-space:nowrap;font-family:"STKaiti","KaiTi","FangSong","Songti SC",serif;font-size:clamp(42px,4.8vw,74px);letter-spacing:.03em}
.edition-toc h2,.gate-title h1,.space-opening h1{text-wrap:balance}
.gate-title h1 br,.space-opening h1 br{display:none}

/* 家庭见证：四个数字组成一座纪念墙，而非数据表 */
.witness-v9{background:linear-gradient(145deg,#f3eee2 0%,#eee5d8 55%,#e7ddd0 100%)}
.witness-v9 .witness-opening{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);align-items:center;padding-bottom:30px}
.witness-v9 .witness-opening h1{max-width:none;margin:18px 0 28px;white-space:nowrap;font-family:"STKaiti","KaiTi","FangSong","Songti SC",serif;font-size:clamp(48px,6vw,88px);font-weight:400;letter-spacing:.04em}
.witness-v9 .witness-intro{max-width:860px;color:#4d5b52}
.witness-callout{margin:0;padding:36px 0 36px 42px;border-left:1px solid #a23f36;color:#4a514a;font:clamp(22px,2.3vw,34px)/1.7 "STKaiti","KaiTi","FangSong",serif}
.witness-callout em{color:#9c312b;font-size:1.25em;font-style:normal}
.family-monument{position:relative;max-width:1380px;margin:65px auto 55px;padding:58px 58px 42px;overflow:hidden;background:radial-gradient(circle at 80% 15%,#b6423838 0,transparent 28%),linear-gradient(135deg,#321b1b 0%,#5b2421 48%,#1d2724 100%);color:#f2e6d3;box-shadow:0 35px 90px #5b29232d}
.family-monument:before{content:"周";position:absolute;right:-.06em;top:-.23em;color:#ffffff08;font:390px/1 "STKaiti","KaiTi",serif}
.family-monument:after{content:"1926 · 箭厂河";position:absolute;right:22px;bottom:18px;color:#d9b99466;font:11px Georgia,serif;letter-spacing:.25em}
.monument-heading{position:relative;z-index:1;display:grid;grid-template-columns:260px 1fr;gap:55px;align-items:start;padding-bottom:42px;border-bottom:1px solid #ead7ba2f}
.monument-heading small{color:#d8b57d;letter-spacing:.22em}
.monument-heading p{max-width:800px;margin:0;font:20px/1.9 "Songti SC",serif;color:#d8cbb8}
.monument-numbers{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr 1fr .8fr .8fr;margin-top:30px}
.monument-numbers article{position:relative;min-height:330px;padding:28px 25px;border-right:1px solid #ead7ba30;display:flex;flex-direction:column;justify-content:flex-end}
.monument-numbers article:last-child{border-right:0}
.monument-numbers strong{display:inline-block;color:#edcf9a;font:clamp(88px,10vw,160px)/.8 Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.08em;text-shadow:0 12px 35px #0006}
.monument-numbers .m7 strong{color:#d35549}
.monument-numbers .m4 strong{color:#d9a455}
.monument-numbers article>span{position:absolute;top:38px;right:28px;color:#cbb99f;font-size:12px;letter-spacing:.22em}
.monument-numbers h2{margin:30px 0 8px;color:#f1e4d0;font:clamp(21px,2vw,30px)/1.3 "STKaiti","KaiTi","Songti SC",serif;font-weight:400;white-space:nowrap}
.monument-numbers p{margin:0;color:#aeb2a8;font-size:12px;letter-spacing:.08em}
.family-marks{position:relative;z-index:1;display:grid;grid-template-columns:repeat(23,1fr);gap:6px;height:112px;margin-top:34px;padding-top:22px;border-top:1px solid #ead7ba28}
.family-marks i{position:relative;display:block;height:68px;align-self:end;background:#d7c6ae35;border-top:2px solid #d7c6ae5c}
.family-marks i:nth-child(3n){height:82px}.family-marks i:nth-child(4n){height:58px}
.family-marks i.fallen{background:#821f1f;border-color:#dd5c50}
.family-marks i.fallen:after{content:"";position:absolute;left:50%;top:-5px;width:1px;height:calc(100% + 8px);background:#e56c60;transform:rotate(32deg)}
.family-marks i.scarred{background:#9d3b2e;border-color:#d8ad63}
.family-marks i.scarred:after{content:"";position:absolute;left:35%;top:6px;width:2px;height:74%;background:#e0b96f;transform:rotate(11deg)}
.family-marks i.joined{background:#aa3f34;border-color:#e07865}
.family-marks i span{position:absolute;left:50%;bottom:5px;transform:translateX(-50%) rotate(-90deg);color:#f4e7d3a8;font:8px Georgia,serif}
.mark-legend{position:relative;z-index:1;display:flex;gap:28px;flex-wrap:wrap;padding:17px 0 0;color:#cbbdaa;font-size:10px;letter-spacing:.08em}
.mark-legend span:before{content:"";display:inline-block;width:20px;height:3px;margin-right:8px;vertical-align:middle;background:#b64238}
.mark-legend span:nth-child(1):before{background:#d7c6ae70}.mark-legend span:nth-child(3):before{background:#7d1d1d}.mark-legend span:nth-child(4):before{background:#d8a452}
.witness-v9 .witness-quote{color:#7f2925;border-color:#b14941;font-family:"STKaiti","KaiTi","FangSong","Songti SC",serif}
.witness-source{max-width:1000px;margin:0 auto 58px;border-top:1px solid #b9a78c;border-bottom:1px solid #b9a78c;padding:18px 0}
.witness-source summary{cursor:pointer;color:#7f623c;font-size:12px;letter-spacing:.16em}
.witness-source p{font-size:12px;line-height:1.8;color:#667068}

.creator-list{display:grid;gap:12px}
.creator-list span{display:grid;grid-template-columns:90px 1fr;align-items:baseline;font:19px/1.6 "Songti SC",serif}
.creator-list small{color:#9b7844;font-size:11px;letter-spacing:.14em}

@media(max-width:900px){
  .continuous-audio{min-height:78vh}
  .continuous-audio .sound-orbit{width:92px;height:92px;margin-bottom:24px}
  .audio-caption{min-height:245px;padding-left:0;padding-right:0}
  .audio-caption>p{font-size:clamp(27px,7vw,42px);line-height:1.55}
  .edition-title h1.edition-display{font-size:clamp(42px,12vw,66px);gap:0}
  .edition-display span{font-size:.64em}.edition-display i{font-size:.42em}
  .zy-hero-copy h1{font-size:clamp(27px,7.5vw,48px);letter-spacing:0}
  .witness-v9 .witness-opening{grid-template-columns:1fr;gap:22px}
  .witness-v9 .witness-opening h1{font-size:clamp(42px,12vw,68px)}
  .witness-callout{padding:22px 0;border-left:0;border-top:1px solid #a23f36}
  .family-monument{margin-top:38px;padding:36px 22px 30px}
  .monument-heading{grid-template-columns:1fr;gap:18px}
  .monument-numbers{grid-template-columns:1fr 1fr}
  .monument-numbers article{min-height:245px;border-bottom:1px solid #ead7ba30}
  .monument-numbers article:nth-child(2){border-right:0}
  .monument-numbers strong{font-size:clamp(78px,24vw,120px)}
  .monument-numbers h2{white-space:normal}
  .family-marks{grid-template-columns:repeat(23,22px);overflow-x:auto;padding-bottom:8px}
  .mark-legend{gap:12px 20px}
}

@media(max-width:430px){
  .edition-title h1.edition-display{font-size:39px}
  .edition-title .edition-subtitle{letter-spacing:3px}
  .witness-v9 .witness-opening h1{font-size:42px}
  .monument-numbers article{min-height:220px;padding:22px 12px}
  .monument-numbers article>span{right:12px}
}

@media(prefers-reduced-motion:reduce){.audio-caption>p,.audio-caption em{animation:none}}
