/* 对话模拟器共用样式 —— 交通页与医院页共用。
   类名沿用 ts-*（transport simulator），改名会牵连两个页面的全部断言，不值得。
   改这里 = 同时改两个页面，改完两个页面都要重跑验收。 */
.ts-hero { background: linear-gradient(135deg, #7f1d1d 0%, #b91c1c 100%); color:#fff; padding:58px 0 46px; text-align:center; }
  .ts-hero .badge { display:inline-block; padding:6px 16px; border-radius:100px; background:rgba(251,191,36,.18); border:1px solid rgba(251,191,36,.5); color:#fde68a; font-weight:700; font-size:13px; margin-bottom:14px; }
  .ts-hero h1 { font-size:clamp(25px,3.8vw,41px); font-weight:800; line-height:1.14; margin-bottom:13px; }
  .ts-hero p { font-size:16.5px; opacity:.93; max-width:760px; margin:0 auto; line-height:1.65; }
  .ts-hero .stats { margin-top:22px; display:flex; gap:30px; justify-content:center; flex-wrap:wrap; font-size:13.5px; }
  .ts-hero .stats b { display:block; font-size:22px; font-weight:800; color:#fde68a; }

  .ts-sec { padding:44px 0; }
  .ts-sec.alt { background:#fafaf9; }
  .ts-h2 { font-size:23px; font-weight:800; margin-bottom:6px; }
  .ts-h2 .zh { color:#b91c1c; font-size:.72em; margin-left:8px; }
  .ts-sub { color:#57534e; font-size:14.5px; margin-bottom:20px; max-width:820px; line-height:1.75; }
  .ts-sub a, .ts-body a { color:#b91c1c; font-weight:600; }
  [hidden] { display:none !important; }

  /* ---------- 场景选择 ---------- */
  .ts-tabs { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:20px; }
  .ts-tab { padding:11px 17px; border-radius:100px; border:1.5px solid #e7e5e4; background:#fff; color:#57534e; font-size:14px; font-weight:700; cursor:pointer; font-family:inherit; display:inline-flex; align-items:center; gap:7px; }
  .ts-tab:hover { border-color:#fca5a5; }
  .ts-tab.on { border-color:#b91c1c; background:#b91c1c; color:#fff; }
  .ts-tab .py { font-size:11.5px; font-weight:600; opacity:.72; }

  /* ---------- 面板 ---------- */
  .ts-panel { background:#fff; border:1px solid #e7e5e4; border-radius:18px; padding:24px 24px 26px; box-shadow:0 1px 3px rgba(0,0,0,.05); }
  .ts-head { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; flex-wrap:wrap; border-bottom:1px solid #f5f5f4; padding-bottom:16px; margin-bottom:18px; }
  .ts-head h3 { font-size:20px; font-weight:800; margin-bottom:4px; }
  .ts-head h3 span { color:#b91c1c; font-size:15px; margin-left:7px; }
  .ts-head .blurb { font-size:13.5px; color:#57534e; max-width:560px; line-height:1.6; }
  .ts-bar { display:flex; gap:16px; align-items:center; font-size:13px; font-weight:700; color:#78716c; white-space:nowrap; }
  .ts-bar .sc { color:#b91c1c; }

  /* ---------- 关键句速览 ---------- */
  .ts-kit { margin-bottom:18px; }
  .ts-kit summary { cursor:pointer; font-size:13.5px; font-weight:700; color:#b91c1c; padding:9px 0; }
  .ts-kit summary::marker { color:#b91c1c; }
  .ts-kit-in { border:1px dashed #e7e5e4; border-radius:12px; padding:12px 14px; margin-top:6px; background:#fcfcfb; }
  .ts-kit-in p { font-size:12.5px; color:#78716c; margin-bottom:9px; line-height:1.6; }
  .ts-kit-in .row { display:flex; align-items:center; gap:9px; padding:5px 0; font-size:14px; }
  .ts-kit-in .row .zh { font-weight:700; color:#1c1917; font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",sans-serif; }
  .ts-kit-in .row .py { color:#b91c1c; font-size:12.5px; }
  .ts-kit-in .row .en { color:#78716c; font-size:12.5px; }

  /* ---------- 情境 / 对话 ---------- */
  .ts-ctx { background:#fef2f2; border-left:4px solid #b91c1c; border-radius:0 10px 10px 0; padding:12px 16px; margin-bottom:16px; }
  .ts-ctx .lbl { font-size:11px; font-weight:800; letter-spacing:.6px; text-transform:uppercase; color:#b91c1c; margin-bottom:3px; }
  .ts-ctx .en { font-size:14px; color:#1c1917; line-height:1.6; }
  .ts-ctx .zh { font-size:12.5px; color:#78716c; margin-top:3px; line-height:1.6; }
  .ts-ctx.hazard { background:#fffbeb; border-left-color:#b45309; }
  .ts-ctx.hazard .lbl { color:#b45309; }

  .ts-said { background:#fafaf9; border:1px solid #e7e5e4; border-radius:14px; padding:14px 16px; margin-bottom:18px; }
  .ts-said .who { font-size:12px; font-weight:800; color:#a8a29e; margin-bottom:6px; letter-spacing:.3px; }
  .ts-said .zh { font-size:21px; font-weight:700; color:#1c1917; line-height:1.5; font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",sans-serif; }
  .ts-said .py { font-size:13.5px; color:#b91c1c; margin-top:2px; }
  .ts-said .en { font-size:13.5px; color:#78716c; margin-top:3px; }

  .ts-ask { font-size:14.5px; font-weight:800; color:#1c1917; margin-bottom:11px; }
  .ts-ask .zh { color:#b91c1c; font-size:.86em; font-weight:600; }
  .ts-opts { display:grid; gap:10px; }
  .ts-opt { text-align:left; padding:13px 16px; border:2px solid #e7e5e4; border-radius:13px; background:#fff; cursor:pointer; font-family:inherit; }
  .ts-opt:hover:not(:disabled) { border-color:#b91c1c; background:#fef2f2; }
  .ts-opt:disabled { cursor:default; }
  .ts-opt .zh { display:block; font-size:16.5px; font-weight:700; color:#1c1917; line-height:1.5; font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",sans-serif; }
  .ts-opt .py { display:block; font-size:12.5px; color:#b91c1c; margin-top:2px; }
  .ts-opt.correct { border-color:#16a34a; background:#f0fdf4; }
  .ts-opt.correct .py { color:#15803d; }
  .ts-opt.wrong { border-color:#dc2626; background:#fef2f2; opacity:.92; }
  .ts-opt.wrong .py { color:#dc2626; }

  .ts-feed { border-radius:13px; padding:15px 17px; margin-top:16px; font-size:14px; line-height:1.72; }
  .ts-feed.ok { background:#f0fdf4; border:1px solid #bbf7d0; }
  .ts-feed.no { background:#fef2f2; border:1px solid #fecaca; }
  .ts-feed .hd { font-weight:800; margin-bottom:6px; font-size:14.5px; }
  .ts-feed.ok .hd { color:#15803d; }
  .ts-feed.no .hd { color:#b91c1c; }
  .ts-feed .tx { color:#44403c; }
  .ts-feed .tx b { color:#1c1917; font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif; }
  .ts-feed .fix { margin-top:9px; padding-top:9px; border-top:1px dashed #e7e5e4; font-size:13.5px; color:#57534e; }
  .ts-feed .fix .zh { font-weight:700; color:#1c1917; font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif; }

  .ts-actions { display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-top:18px; }
  .ts-btn { padding:12px 22px; border-radius:10px; font-size:15px; font-weight:700; cursor:pointer; border:1.5px solid #b91c1c; background:#b91c1c; color:#fff; font-family:inherit; }
  .ts-btn:hover { background:#7f1d1d; border-color:#7f1d1d; }
  .ts-btn.ghost { background:#fff; color:#b91c1c; }
  .ts-btn.ghost:hover { background:#fef2f2; }
  .ts-btn:disabled { opacity:.5; cursor:not-allowed; }
  .ts-mini { border:none; background:#fef3c7; border-radius:50%; width:30px; height:30px; font-size:14px; cursor:pointer; flex:none; }
  .ts-mini:hover { background:#fde68a; }
  .ts-mini.flat { border-radius:8px; width:auto; padding:5px 11px; font-size:13px; font-weight:700; font-family:inherit; }

  /* ---------- 完成态 ---------- */
  .ts-done { text-align:center; padding:12px 0 4px; }
  .ts-done .big { font-size:44px; font-weight:800; color:#b91c1c; line-height:1.1; }
  .ts-done .cap { font-size:14.5px; color:#57534e; margin-top:8px; }
  .ts-phr { margin-top:22px; text-align:left; }
  .ts-phr h4 { font-size:15px; font-weight:800; margin-bottom:10px; }
  .ts-phr table { width:100%; border-collapse:collapse; font-size:13.5px; }
  .ts-phr th { text-align:left; font-size:11.5px; text-transform:uppercase; letter-spacing:.4px; color:#a8a29e; padding:7px 10px; border-bottom:1.5px solid #e7e5e4; }
  .ts-phr td { padding:9px 10px; border-bottom:1px solid #f5f5f4; vertical-align:top; }
  .ts-phr td.zh { font-size:15.5px; font-weight:700; color:#1c1917; font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",sans-serif; white-space:nowrap; }
  .ts-phr td.py { color:#b91c1c; white-space:nowrap; }
  .ts-phr td.en { color:#57534e; }

  .ts-warn { background:#fffbeb; border:1px solid #fde68a; border-radius:10px; padding:12px 16px; font-size:13.5px; color:#78350f; line-height:1.7; margin-top:14px; }
  .ts-tip { background:#f0f9ff; border:1px solid #bae6fd; border-radius:10px; padding:13px 16px; font-size:13.5px; color:#075985; line-height:1.7; margin-top:16px; }
  .ts-cta { background:linear-gradient(135deg,#78350f 0%,#b45309 100%); color:#fff; border-radius:18px; padding:32px 28px; text-align:center; margin:34px 0 4px; }
  .ts-cta h3 { font-size:21px; font-weight:800; margin-bottom:8px; }
  .ts-cta p { opacity:.93; font-size:14.5px; margin-bottom:16px; }
  .ts-faq { border-top:1px solid #e7e5e4; padding:16px 0; }
  .ts-faq summary { cursor:pointer; font-weight:700; font-size:15px; color:#1c1917; }
  .ts-faq p { margin-top:9px; font-size:14px; color:#57534e; line-height:1.8; }

  /* ---------- 打印：只留关键句清单 ---------- */
  @media print {
    .nav, .ts-hero, .ts-sec:not(#simulate), .ts-cta, .footer, .back-to-top,
    .ts-tabs, .ts-head, .ts-kit, .ts-ctx, .ts-said, .ts-ask, .ts-opts,
    .ts-feed, .ts-actions, .ts-tip, .ts-warn, .cookie-banner,
    .mobile-menu, .mobile-menu-overlay, .lang-hint-banner { display:none !important; }
    .ts-panel { border:none; padding:0; box-shadow:none; }
    .ts-done .big, .ts-done .cap { display:none; }
    .ts-phr td, .ts-phr th { border-color:#ccc; }
    .ts-phr { print-color-adjust:exact; -webkit-print-color-adjust:exact; }
  }
