/* ═══════════════════════════════════════════
   寻呼1998 · PAGE 1998  独立版样式 v2
   银蓝液晶 + 深灰蓝图 · 移动端优先适配
   ═══════════════════════════════════════════ */
:root{
  --bg:#0b0e14;
  --bg2:#111726;
  --ink:#e6ecf7;
  --dim:#a4b0c6;
  --accent:#aebacb;
  --lcd:#9fdcff;
  --lcd-dim:#5b8cab;
  --gold:#e0af57;
  --red:#e06161;
  --ok:#79d69b;
  --line:#26314a;
}
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{font-size:16px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{
  min-height:100%;
  background:
    radial-gradient(1200px 600px at 70% -10%, #16203a66, transparent),
    radial-gradient(900px 500px at 10% 110%, #1b24384d, transparent),
    var(--bg);
  color:var(--ink);
  font-family:"Noto Serif SC","Source Han Serif SC","SimSun",serif;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
.hidden{display:none !important}
button{font-family:inherit;cursor:pointer;touch-action:manipulation}

/* ── 扫描线氛围层 ── */
body.fx-on::after{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:60;
  background:repeating-linear-gradient(0deg,#ffffff05 0 1px,transparent 1px 3px);
  mix-blend-mode:overlay;
}

/* ══ 标题画面 ══ */
#title-screen{
  min-height:100vh;min-height:100dvh;
  display:flex;align-items:center;justify-content:center;text-align:center;
  padding:max(24px, env(safe-area-inset-top)) 24px max(24px, env(safe-area-inset-bottom));
}
.t-series{color:var(--dim);letter-spacing:.45em;text-indent:.45em;font-size:.95rem;margin-bottom:20px}
#game-title{
  font-size:clamp(2.2rem,8.5vw,3.4rem);font-weight:700;letter-spacing:.12em;color:var(--ink);
  text-shadow:0 0 24px #9fdcff33;position:relative;
}
body.fx-on #game-title{animation:titleShift 4s steps(1) infinite}
@keyframes titleShift{
  0%,96.5%{text-shadow:0 0 24px #9fdcff33;transform:none}
  97%{text-shadow:-3px 0 0 #ff5555aa,3px 0 0 #4dc3ffaa;transform:translateX(1px)}
  98%{text-shadow:-3px 0 0 #4dc3ffaa,3px 0 0 #ff5555aa}
  98.5%,100%{transform:none}
}
.t-year{color:var(--lcd);margin-left:.15em}
.t-en{color:var(--dim);letter-spacing:.3em;font-size:.95rem;margin-top:12px}
.t-date{color:var(--lcd);font-size:.9rem;margin-top:10px;letter-spacing:.15em}
.t-menu{margin-top:46px;display:flex;flex-direction:column;gap:16px;align-items:center}
.t-btn{
  width:min(260px,78vw);padding:15px 30px;font-size:1.08rem;letter-spacing:.35em;text-indent:.35em;
  color:var(--lcd);background:linear-gradient(#101a2c,#0d1524);
  border:1px solid #35507a;border-radius:3px;
  box-shadow:0 0 18px #2a62a822,inset 0 0 22px #12305522;
  transition:.18s;min-height:50px;
}
.t-btn:hover{border-color:var(--lcd);box-shadow:0 0 26px #4da6ff44}
.t-btn.ghost{opacity:.88}
.t-author{margin-top:48px;color:var(--dim);font-size:.9rem;letter-spacing:.18em}
.t-grade{margin-top:10px;color:#67748c;font-size:.78rem;letter-spacing:.05em;padding:0 10px}

/* ══ 状态栏 ══ */
#status-bar{
  position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:12px;
  padding:max(11px, env(safe-area-inset-top)) 20px 11px;
  font-family:"Noto Sans SC","Microsoft YaHei",sans-serif;font-size:.92rem;
  background:#0d1322ee;border-bottom:1px solid var(--line);backdrop-filter:blur(4px);
}
.sb-dot{width:4px;height:4px;border-radius:50%;background:var(--lcd);box-shadow:0 0 6px var(--lcd);flex:none}
#sb-place{color:var(--dim);letter-spacing:.12em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:52vw}
#sb-time{color:var(--lcd);letter-spacing:.22em;white-space:nowrap}
#sb-cred{color:var(--gold);letter-spacing:.28em;margin-left:auto;font-size:.82rem;white-space:nowrap}

/* ══ 主区域 ══ */
#game-main{max-width:720px;margin:0 auto;padding:36px 24px 140px}
#scene-box p{line-height:2.15;margin:0 0 1.25em;font-size:1.05rem;color:var(--ink)}
#scene-box .sys{
  color:var(--lcd-dim);font-family:"Noto Sans SC",monospace;font-size:.85rem;letter-spacing:.1em;
}
#scene-box .stamp-note{color:var(--red)}
em.hot{color:var(--gold);font-style:normal}
.caret::after{content:"▍";color:var(--lcd);animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}

/* 选择项：大触区 */
#choice-list{display:flex;flex-direction:column;gap:13px;margin-top:30px}
.choice{
  text-align:left;padding:16px 19px;font-size:.95rem;line-height:1.85;min-height:54px;
  color:var(--ink);background:#0f1626cc;border:1px solid var(--line);border-radius:4px;
  transition:.16s;width:100%;
}
.choice:hover{border-color:#48658f;background:#13203acc;transform:translateX(3px)}
.choice.continue{text-align:center;color:var(--gold);border-color:var(--gold);background:transparent;min-height:46px;width:auto;align-self:center;padding:12px 34px;font-size:.9rem;letter-spacing:.15em;cursor:pointer}
.choice.continue:hover{border-color:var(--gold);background:#e0af5711;transform:none}
.choice .tag-danger{color:var(--red);font-weight:bold;margin-right:.5em}
.choice .tag-risk{color:var(--gold);margin-right:.5em}

/* 寻呼机面板 */
.pager-panel{
  border:1px solid #35507a;background:linear-gradient(#0c1424,#0a1120);border-radius:8px;
  padding:clamp(14px,3.5vw,22px);margin:26px 0;box-shadow:0 0 24px #14284a55,inset 0 0 40px #0a183044;
}
.pager-head{display:flex;justify-content:space-between;gap:8px;color:var(--lcd-dim);
  font-family:"Noto Sans SC",monospace;font-size:.82rem;letter-spacing:.16em;margin-bottom:14px;flex-wrap:wrap}
.wt-msg{padding:12px 15px;margin:11px 0;border-radius:5px;line-height:2;font-size:.9rem}
.wt-msg .sender{display:block;font-family:"Noto Sans SC",monospace;font-size:.78rem;letter-spacing:.14em;margin-bottom:4px;opacity:.85}
.wt-msg .msg-body{display:block;white-space:pre-wrap}
.wt-msg.them{background:#10263caa;border-left:3px solid var(--lcd);color:#d6ebff}
.wt-msg.them .sender{color:var(--lcd-dim)}
.wt-msg.me{background:#18243ab3;border-right:3px solid var(--gold);color:var(--ink);text-align:right}
.wt-msg.me .sender{color:var(--gold)}
.wt-msg.sysline{background:none;border:none;color:#71859f;font-family:monospace;font-size:.9rem;text-align:center}

/* 预算输入条（输入字号≥16px 防 iOS 聚焦缩放） */
.budget-wrap{margin-top:16px}
.budget-bar{height:9px;background:#0a101e;border:1px solid var(--line);border-radius:5px;overflow:hidden;margin-bottom:9px}
.budget-fill{height:100%;width:100%;background:var(--lcd);transition:width .15s,background-color .15s}
.budget-fill.warn{background:var(--gold)}
.budget-fill.bad{background:var(--red)}
.budget-meta{display:flex;justify-content:space-between;color:var(--dim);
  font-family:monospace;font-size:.85rem;margin-bottom:9px}
.send-row{display:flex;gap:10px}
#budget-input,.combo-input,.ledger-note-input{
  flex:1;min-width:0;background:#091020;border:1px solid #2c4066;border-radius:5px;color:var(--lcd);
  padding:13px 13px;font-size:16px;font-family:inherit;outline:none;
}
#budget-input:focus,.combo-input:focus{border-color:var(--lcd);box-shadow:0 0 10px #4da6ff33}
.btn-send{
  flex:none;padding:0 24px;min-height:50px;background:#12263f;border:1px solid #35507a;border-radius:5px;
  color:var(--lcd);letter-spacing:.18em;font-size:1rem;
}
.btn-send:hover{border-color:var(--lcd)}
.hint-text{margin-top:12px;color:#8a9cb8;font-size:.95rem;line-height:1.8}
.budget-extra{display:flex;justify-content:flex-end;margin-top:10px}
.hint-btn{
  background:transparent;border:1px dashed #2c4066;border-radius:4px;color:var(--dim);
  padding:7px 14px;font-size:.85rem;letter-spacing:.08em;transition:.15s;min-height:36px;
}
.hint-btn:hover{border-color:var(--gold);color:var(--gold)}
.hint-btn:disabled{border-style:solid;opacity:.45;cursor:default}
.budget-prompt{
  margin:10px 2px 4px;padding:9px 12px;border-left:3px solid var(--gold);
  background:#1a1f2eaa;color:#d9c39a;font-size:.9rem;line-height:1.7;border-radius:0 4px 4px 0;
}

/* 数字电报谜题 */
.num-panel{border:1px dashed #3a5580;border-radius:6px;padding:18px;margin:20px 0;text-align:center;background:#0c1526}
.num-code{
  font-family:"Courier New",monospace;font-size:clamp(1.3rem,5vw,1.8rem);letter-spacing:.35em;
  color:var(--lcd);text-shadow:0 0 14px #4da6ff44;margin:6px 0 2px;
}
.num-sub{color:var(--dim);font-size:.9rem;margin-bottom:8px}
.num-opts{display:flex;flex-direction:column;gap:10px;margin-top:16px}
.num-opt{
  text-align:left;padding:14px 16px;font-size:.98rem;line-height:1.7;min-height:50px;
  background:#0e1728bb;border:1px solid var(--line);border-radius:4px;color:var(--ink);transition:.15s;
}
.num-opt:hover{border-color:var(--lcd)}

/* 台账核对 */
.ledger-list{display:flex;flex-direction:column;gap:9px;margin:20px 0}
.ledger-row{
  display:flex;align-items:flex-start;gap:10px;text-align:left;
  padding:13px 15px;font-size:1rem;line-height:1.75;
  background:#0e172899;border:1px solid var(--line);border-radius:4px;color:var(--ink);
  transition:.14s;min-height:50px;
}
.ledger-row .lno{color:var(--lcd-dim);font-family:monospace;flex:none;margin-top:2px}
.ledger-row.picked{border-color:var(--gold);background:#231d10aa}
.ledger-row.right{border-color:var(--ok);background:#10241aaa}
.ledger-row.wrongpick{border-color:var(--red);background:#2a1214aa}
.ledger-hint{color:var(--dim);font-size:.92rem;line-height:1.8}

/* 调查点 */
.invest-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:13px;margin:26px 0}
.inv-point{
  padding:18px 16px;border:1px dashed #34486e;border-radius:5px;background:#0e1728bb;
  color:var(--ink);font-size:1rem;line-height:1.65;transition:.16s;min-height:56px;
}
.inv-point:hover{border-color:var(--lcd);color:var(--lcd);background:#0d2230}
.inv-point.done{border-style:solid;border-color:var(--gold);color:var(--gold);background:#2a241211}
.inv-point.done:hover{background:#352d17;color:var(--gold)}
.invest-done-btn,.deploy-submit{
  display:block;margin:22px auto 0;padding:14px 44px;font-size:1.02rem;letter-spacing:.3em;text-indent:.3em;
  color:var(--lcd);background:#101c30;border:1px solid #35507a;border-radius:4px;min-height:52px;
}

/* 布防预案 */
.deploy-node{border:1px solid var(--line);border-radius:5px;padding:16px;margin:13px 0;background:#0e1626}
.deploy-node h4{font-size:1rem;color:var(--gold);letter-spacing:.08em;margin-bottom:12px}
.deploy-opts{display:flex;flex-wrap:wrap;gap:9px}
.deploy-opt{
  margin:0;padding:12px 15px;font-size:.98rem;line-height:1.55;min-height:46px;
  border:1px solid #2c4066;border-radius:4px;background:#0b1322;color:var(--dim);transition:.14s;
}
.deploy-opt.sel{color:var(--lcd);border-color:var(--lcd);background:#13253f}
.deploy-result{margin-top:16px;border-top:1px dashed var(--line);padding-top:14px;line-height:2;color:var(--ink)}

/* 推理矩阵 */
.logic-clues{color:var(--dim);font-size:.98rem;line-height:2;margin-bottom:16px}
.logic-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:8px -6px;padding:0 6px}
.logic-table{border-collapse:collapse;margin:6px auto 16px;font-family:"Noto Sans SC";font-size:.92rem}
.logic-table td,.logic-table th{border:1px solid #263350;padding:9px 11px;text-align:center;color:var(--dim);white-space:nowrap}
.logic-cell{cursor:pointer;width:52px;height:48px;font-size:1.15rem;color:var(--lcd);user-select:none}
.logic-hintbtn{display:block;margin:0 auto;padding:11px 30px;font-size:.95rem;letter-spacing:.2em;
  color:var(--dim);background:#0e1930;border:1px solid #293c5e;border-radius:4px;min-height:46px}

/* 面板（证物袋/底单册） */
#overlay{position:fixed;inset:0;z-index:80;background:#04060ccc;display:flex;align-items:flex-end;justify-content:center}
@media (min-width:701px){ #overlay{align-items:center} }
#panel{
  width:min(580px,100vw);max-height:86vh;display:flex;flex-direction:column;
  background:#0d1526;border:1px solid #35507a;border-radius:10px 10px 0 0;box-shadow:0 0 60px #000;
  padding-bottom:env(safe-area-inset-bottom);
}
@media (min-width:701px){
  #panel{border-radius:8px;width:min(580px,94vw);padding-bottom:0}
}
.panel-head{display:flex;justify-content:space-between;align-items:center;padding:15px 18px;border-bottom:1px solid var(--line);
  font-family:"Noto Sans SC";letter-spacing:.28em;color:var(--lcd);font-size:1rem;position:sticky;top:0;background:#0d1526}
#panel-close{background:none;border:none;color:var(--dim);font-size:1.25rem;padding:4px 10px;min-width:44px;min-height:44px}
#panel-body{overflow-y:auto;-webkit-overflow-scrolling:touch;padding:16px 18px calc(18px + env(safe-area-inset-bottom));line-height:1.95}
.clue-item{border-left:3px solid #2c4066;padding:10px 13px;margin:12px 0;background:#0f1728}
.clue-item b{color:var(--lcd);font-weight:normal;display:block;margin-bottom:4px;letter-spacing:.08em;font-size:1.02rem}
.clue-item span{color:var(--dim);font-size:.95rem}
.book-progress{color:var(--gold);font-size:.9rem;letter-spacing:.15em;margin:4px 0 12px;font-family:"Noto Sans SC"}

/* 结案报告 */
.report-box{border:1px solid #35507a;border-radius:6px;background:#0c1424;padding:18px;margin:20px 0}
.report-line{display:flex;justify-content:space-between;gap:14px;padding:10px 4px;border-bottom:1px dashed #223052;
  font-size:1rem;line-height:1.8}
.report-line:last-child{border-bottom:none}
.report-line b{color:var(--dim);font-weight:normal;letter-spacing:.1em}
.report-line span{color:var(--lcd);text-align:right}

/* 角落开关 & 通知 */
#corner-switches{
  position:fixed;right:calc(12px + env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom));z-index:90;
  display:flex;flex-direction:column;gap:11px;
}
#corner-switches button{
  width:48px;height:48px;border-radius:50%;border:1px solid #2c4066;background:#0c1524dd;
  color:var(--lcd);font-size:1.15rem;transition:.15s;box-shadow:0 2px 10px #00000066;
}
#corner-switches button.off{opacity:.4}
#toast{
  position:fixed;left:50%;transform:translateX(-50%);
  bottom:calc(84px + env(safe-area-inset-bottom));z-index:95;
  background:#0e1c30f0;border:1px solid #35507a;color:var(--lcd);border-radius:5px;
  padding:12px 22px;font-size:.98rem;letter-spacing:.1em;white-space:nowrap;
  box-shadow:0 4px 18px #000a;
}

/* 特效：闪烁与撕裂 */
#fx-flashlayer{position:fixed;inset:0;z-index:70;pointer-events:none;opacity:0;transition:opacity .18s}
#fx-flashlayer.ok{background:#17362733;opacity:1}
#fx-flashlayer.err{background:#3a121233;opacity:1}
body.fx-on .glitching{animation:gshake .28s steps(2) both}
@keyframes gshake{
  0%{filter:hue-rotate(0)}33%{transform:translateX(-3px) skewX(1deg);filter:hue-rotate(18deg)}
  66%{transform:translateX(3px);filter:hue-rotate(-14deg)}100%{transform:none;filter:none}
}

/* 无障碍降级 */
@media (prefers-reduced-motion: reduce){
  body.fx-on::after{display:none}
  body.fx-on #game-title,body.fx-on .glitching{animation:none !important}
}
body.fx-off::after{display:none}

/* ═══════════ 移动端优先的收敛适配 ═══════════ */
@media (max-width:700px){
  html{font-size:16px}                       /* 与第一部一致，正文≈16.8px */
  #status-bar{padding-left:14px;padding-right:14px;font-size:.82rem;gap:8px}
  #sb-place{flex:1;min-width:0;max-width:none;white-space:nowrap}
  #sb-time{flex:none}
  #sb-cred{margin-left:auto;letter-spacing:.12em;font-size:.72rem}
  #game-main{padding:26px 16px 150px}
  #scene-box p{font-size:1.05rem;line-height:2.2;margin-bottom:1.3em}
  #status-bar{padding-left:14px;padding-right:14px;font-size:.88rem;gap:9px}
  .choice{padding:16px 15px;font-size:.95rem}
  .wt-msg{font-size:.9rem;padding:12px 13px}
  .invest-grid{grid-template-columns:1fr 1fr;gap:10px}
  .inv-point{padding:15px 12px;font-size:1rem}
  .deploy-node{padding:13px}
  .deploy-opt{width:auto;flex:1 1 auto;padding:12px 13px}
  .logic-table th,.logic-table td{padding:8px 9px}
  .logic-cell{width:58px;height:52px}
  .report-line{font-size:.98rem}
  .send-row{flex-wrap:wrap}
  .btn-send{flex:1 1 100%;height:50px}
}
@media (max-width:400px){
  #sb-cred{letter-spacing:.18em}
  .t-btn{letter-spacing:.28em;text-indent:.28em}
  .invest-grid{grid-template-columns:1fr}
}

/* ═══════════════════════════════════════════
   主题曲片尾播放器（《隔着一年半》）
   ═══════════════════════════════════════════ */
/* 片尾收束献词：与正文同基准、居中 */
.ending-verse{
  text-align:center;letter-spacing:.12em;line-height:2.2;
  max-width:560px;margin:1.4em auto;color:var(--ink);
}
.ending-verse.sys{color:var(--lcd-dim)}
.ending-verse.stamp-note{color:var(--red)}

/* ═══════════ 片尾结局屏（对标第一部 ending-screen） ═══════════ */
#ending-screen{
  position:fixed;inset:0;z-index:100;overflow-y:auto;-webkit-overflow-scrolling:touch;
  background:
    radial-gradient(900px 520px at 50% -12%, #16203a77, transparent),
    var(--bg);
  display:flex;flex-direction:column;align-items:center;
}
#ending-screen.hidden{display:none}
.ending-content{
  width:min(680px,92vw);margin:auto;
  padding:max(46px, env(safe-area-inset-top)) 4px calc(64px + env(safe-area-inset-bottom));
  text-align:center;
}
#ending-title{
  font-family:"Noto Serif SC","SimSun",serif;font-size:clamp(1.9rem,7.2vw,2.9rem);font-weight:700;
  letter-spacing:.1em;color:var(--ink);text-shadow:0 0 22px #9fdcff33;margin-bottom:6px;
}
#ending-verse{margin:18px auto 4px;max-width:560px}
#ending-verse p{
  text-align:center;letter-spacing:.1em;line-height:2.2;margin:1.05em auto;
  max-width:560px;color:var(--ink);font-size:1.05rem;
}
#ending-verse .sys{color:var(--lcd-dim);font-family:"Noto Sans SC",monospace;font-size:.9rem;letter-spacing:.1em}
#ending-verse .stamp-note{color:var(--red)}

/* 结案回执卡 */
#ending-casefile{
  margin:26px auto 0;max-width:560px;text-align:left;
  border:1px solid #2c4066;border-radius:8px;
  background:linear-gradient(180deg,#0c1424,#0a1120);
  padding:20px 22px;box-shadow:0 0 26px #14284a55,inset 0 0 40px #0a183044;
}
.casefile-signal{display:flex;align-items:center;justify-content:space-between;gap:.4rem;
  color:var(--lcd-dim);font:.66rem "Courier New",monospace;letter-spacing:.12em;margin-bottom:.6rem}
.casefile-signal::before{content:"";width:34px;height:5px;margin-right:.55rem;flex:none;
  background:repeating-linear-gradient(90deg,var(--lcd) 0 2px,transparent 2px 5px);box-shadow:0 0 8px #4da6ff66}
.casefile-signal span{margin-left:auto;color:var(--lcd-dim)}
.casefile-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;
  padding:0 0 .9rem;border-bottom:1px solid rgba(224,175,87,.26)}
.casefile-kicker{color:var(--dim);font-family:"Courier New",monospace;font-size:.68rem;letter-spacing:.08em;line-height:1.5}
.casefile-title{color:var(--ink);font-family:"Noto Serif SC",serif;font-size:1.16rem;margin-top:.2rem}
.casefile-stamp{flex:0 0 auto;color:var(--gold);border:1px solid var(--gold);padding:.3rem .5rem;
  font:700 .7rem "Courier New",monospace;letter-spacing:.08em;transform:rotate(-4deg);
  box-shadow:inset 0 0 0 2px rgba(224,175,87,.08)}
.casefile-role{margin:1rem 0 .8rem;color:var(--ink);font-family:"Noto Serif SC",serif;font-size:1.24rem}
.casefile-role span{display:block;margin-bottom:.3rem;color:var(--dim);
  font-family:"Courier New",monospace;font-size:.66rem;letter-spacing:.12em}
.casefile-route{color:var(--dim);font-size:.92rem;line-height:1.75;padding:.82rem 0;
  border-top:1px dashed rgba(224,175,87,.18);border-bottom:1px dashed rgba(224,175,87,.18)}
.casefile-trust{color:var(--lcd);font:.7rem "Courier New",monospace;letter-spacing:.06em}
.casefile-badges{margin-top:.9rem;border-top:1px solid rgba(224,175,87,.16)}
.casefile-badge{display:grid;grid-template-columns:2.2rem 1fr;gap:.4rem;min-width:0;
  padding:.68rem 0;border-bottom:1px solid rgba(224,175,87,.14)}
.casefile-index{color:var(--lcd);font:.78rem "Courier New",monospace;padding-top:.12rem}
.casefile-badge strong{display:block;color:var(--gold);font-family:"Noto Serif SC",serif;font-size:.92rem}
.casefile-badge span{display:block;margin-top:.2rem;color:var(--dim);font-size:.72rem;line-height:1.35}

/* 回执分享 */
#ending-share{margin:20px auto 0;max-width:560px;text-align:center}
#ending-share-btn{
  padding:11px 30px;border-radius:5px;cursor:pointer;
  background:#0e1c30;border:1px solid #35507a;color:var(--lcd);
  letter-spacing:.18em;font-size:.95rem;transition:.15s;
}
#ending-share-btn:hover{background:#152a46}
#ending-share-btn:disabled{opacity:.5;cursor:default}
#ending-share-status{color:var(--dim);font-size:.82rem;letter-spacing:.05em;margin-top:12px}

/* 制作署名 */
#ending-credit{margin:26px auto 0;max-width:560px;color:var(--dim);font-size:.92rem;line-height:1.9;letter-spacing:.05em}
#ending-credit strong{color:var(--gold);font-weight:400}

/* 主题曲播放器 */
#ending-song{margin:24px auto 0;max-width:560px;text-align:center;
  background:linear-gradient(180deg,#0d1626,#0a0f1a);border:1px solid #223650;
  border-radius:8px;padding:20px 22px 24px;color:var(--dim)}
#ending-song-actions{display:flex;justify-content:center;align-items:center;gap:16px;flex-wrap:wrap}
#ending-song-btn{
  padding:10px 26px;border-radius:5px;cursor:pointer;
  background:#0e1c30;border:1px solid #35507a;color:var(--lcd);
  letter-spacing:.2em;font-size:.94rem;transition:.15s;
}
#ending-song-btn:hover{background:#152a46}
#ending-song-btn.playing{border-color:var(--lcd);box-shadow:0 0 18px #4da6ff44}
#ending-song-link{color:var(--lcd);font-size:.78rem;opacity:.85;text-decoration:none;letter-spacing:.05em}
#ending-song-link:hover{opacity:1;text-decoration:underline}
#ending-song-status{margin-top:14px;color:var(--gold);letter-spacing:.1em;font-size:1rem}
#ending-song-meta{margin-top:6px;color:var(--dim);font-size:.78rem;letter-spacing:.06em}
#ending-lyrics{margin:18px auto 0;max-width:540px;text-align:center;max-height:200px;overflow-y:auto;padding:2px;scrollbar-width:thin}
#ending-lyrics.hidden{display:none}
.lyrics-title{color:var(--dim);font-size:.72rem;letter-spacing:.3em;margin-bottom:10px}
.lyrics-body{padding:2px}
.lyric-line{margin:5px 0;font-size:.92rem;color:#7c8aa7;transition:color .25s,transform .25s;line-height:1.7;cursor:default}
.lyric-line.active{color:var(--lcd);font-weight:600;transform:scale(1.03)}
#ending-lyrics.signal-live{border-top:1px dashed #223650;padding-top:14px}

/* 回到标题 */
#ending-restart{
  margin:30px auto 0;padding:13px 40px;font-size:1rem;letter-spacing:.3em;text-indent:.3em;
  color:var(--lcd);background:#101c30;border:1px solid #35507a;border-radius:4px;min-height:52px;transition:.15s;
}
#ending-restart:hover{border-color:var(--lcd);background:#152a46}

/* 片尾滚动（复用 .credits-roll） */
#ending-roll{margin:0;max-width:560px}
#ending-roll.hidden{display:none}

/* ══ 结案回执（报告屏） ══ */
.receipt-zone{margin:30px auto 0;max-width:560px;text-align:center}
.receipt-status{color:var(--dim);font-size:.82rem;letter-spacing:.05em;margin-bottom:12px}
.receipt-btn{
  padding:11px 30px;border-radius:5px;cursor:pointer;
  background:#0e1c30;border:1px solid #35507a;color:var(--lcd);
  letter-spacing:.18em;font-size:.95rem;transition:.15s;
}
.receipt-btn:hover{background:#152a46}
.receipt-btn:disabled{opacity:.5;cursor:default}

/* ══ 滚动演职员表（片尾） ══ */
.credits-roll{
  position:relative;height:230px;margin:34px auto 0;max-width:560px;
  overflow:hidden;color:var(--dim);border-radius:6px;text-align:center;
  background:linear-gradient(180deg,#0b0e14 0%,transparent 18%,transparent 78%,#0b0e14 100%),
    rgba(255,255,255,0.012);
}
.credits-roll .credits-track{
  position:absolute;left:0;right:0;bottom:-280px;
  animation:rollUp 46s linear infinite;
}
.credits-roll p{margin:.62rem 0;font-size:1rem;letter-spacing:.08em;line-height:1.7}
.credits-roll .roll-title{color:var(--gold);font-size:1.32rem;font-weight:700}
.credits-roll .roll-label{color:var(--lcd);font-size:.74rem;letter-spacing:.28em}
.credits-roll .roll-final{color:var(--gold);font-size:1.06rem}
.credits-roll .roll-gap{height:1.9rem}
@keyframes rollUp{from{transform:translateY(0)}to{transform:translateY(-700px)}}
@media (prefers-reduced-motion:reduce){
  .credits-roll .credits-track{position:static;animation:none;padding:1rem 0}
  .credits-roll{height:auto;max-height:240px;overflow-y:auto}
}
