/* PMH Companion — 来访者端
   墨青 + 冷白纸面；标题用宋体，正文用系统黑体。单栏、左对齐、手机优先。 */
:root{
  --ink:#1b2624; --ink-2:#55635f; --paper:#f6f8f6; --surface:#ffffff; --line:#d9e1dc;
  --teal:#1f5a54; --teal-soft:#e2eeea; --amber:#9a6412; --amber-soft:#f6ecd8; --rose:#9c3f3a; --rose-soft:#f7e6e4;
  --serif:"Songti SC","Noto Serif SC","Source Han Serif SC",STSong,SimSun,serif;
  --sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",sans-serif;
}
@media (prefers-color-scheme:dark){
  :root{--ink:#e7eeeb;--ink-2:#a3b1ac;--paper:#131a19;--surface:#1b2422;--line:#2e3a37;
    --teal:#7cc4b8;--teal-soft:#20322f;--amber:#e0b260;--amber-soft:#33291a;--rose:#e79a94;--rose-soft:#3a2221;}
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body.tc{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 var(--sans);
  padding:env(safe-area-inset-top,0) 0 env(safe-area-inset-bottom,0)}
.tc a{color:var(--teal)}
.tc :focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.tc-top,.tc-main,.tc-foot{max-width:34rem;margin:0 auto;padding:0 20px}
.tc-top{padding-top:18px;padding-bottom:6px}
.tc-brand{display:inline-flex;align-items:center;gap:8px;font:600 16px/1 var(--serif);color:var(--ink)!important;text-decoration:none;letter-spacing:.06em}
.tc-brand img{width:28px;height:28px;display:block}
.tc-back{display:inline-flex;align-items:center;min-height:44px;font-size:15px;color:var(--ink-2)!important;text-decoration:none}
/* v2.6.0 入口（登录/注册）：大号渡心标识 */
.tc-login .tc-top{display:none}
.tc-entry{text-align:center;margin:36px 0 8px}
.tc-entry img{width:88px;height:88px;display:block;margin:0 auto 10px}
.tc-entry p{font:600 1.35rem/1.3 var(--serif);letter-spacing:.12em;margin:0;color:var(--ink)}
.tc-main{padding-top:12px;padding-bottom:28px}
.tc h1{font:600 1.7rem/1.35 var(--serif);margin:0 0 .5rem;text-wrap:balance}
.tc h2{font:600 1.05rem/1.4 var(--sans);margin:0 0 .6rem;color:var(--ink-2)}
.tc p{margin:0 0 .9rem}
.tc small{color:var(--ink-2);font-size:.82rem;font-weight:400}
.tc-lede{color:var(--ink-2);font-size:1rem}
.tc-hero{margin:14px 0 22px}
.tc-note{color:var(--ink-2);font-size:.86rem}
.tc-alt{margin-top:18px;font-size:.92rem}
.tc-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.tc-hp{position:absolute;left:-9999px}

.tc-ok,.tc-error{padding:10px 14px;border-radius:8px;margin:0 0 16px}
.tc-ok{background:var(--teal-soft);color:var(--teal)}
.tc-error{background:var(--rose-soft);color:var(--rose)}

/* 表单 */
.tc-form{display:grid;gap:20px}
.tc-form label{display:grid;gap:6px;font-weight:600}
.tc-form fieldset{border:0;border-top:1px solid var(--line);margin:0;padding:18px 0 0;display:grid;gap:14px;min-width:0}
.tc-form legend{font:600 1.15rem/1.45 var(--serif);padding:0;margin-bottom:10px}
.tc input[type=email],.tc input[type=password],.tc input[type=number],.tc input[type=datetime-local],.tc select,.tc textarea{
  font:inherit;font-weight:400;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:11px 12px;width:100%}
.tc textarea{resize:vertical;line-height:1.6}
.tc-check{display:flex!important;gap:10px;align-items:flex-start;font-weight:400!important}
.tc-check input{margin-top:.45em;width:18px;height:18px;accent-color:var(--teal)}
.tc-consent{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:12px 14px;max-height:14rem;overflow:auto;font-size:.92rem}
.tc-btn{display:inline-block;font:600 1rem/1 var(--sans);text-align:center;text-decoration:none;cursor:pointer;
  background:var(--teal);color:var(--paper)!important;border:1px solid var(--teal);border-radius:8px;padding:14px 22px}
.tc-btn-2{background:transparent;color:var(--teal)!important}
.tc-link{background:none;border:0;color:var(--ink-2);font:inherit;text-decoration:underline;cursor:pointer;padding:0;justify-self:start}
.tc-inline{display:flex;gap:10px;flex-wrap:wrap}

/* 单选：整行可点 */
.tc-choices{display:grid;gap:8px}
.tc-choices label{display:block;font-weight:400;position:relative}
.tc-choices input{position:absolute;opacity:0}
.tc-choices span{display:block;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}
.tc-choices input:checked+span{border-color:var(--teal);background:var(--teal-soft);color:var(--teal);font-weight:600}
.tc-choices input:focus-visible+span{outline:2px solid var(--teal);outline-offset:2px}

/* 量表 */
.tc-intro{color:var(--ink-2);margin:0}
.tc-item{padding:14px 0;border-bottom:1px solid var(--line)}
.tc-item:last-child{border-bottom:0}
.tc-item>p{margin:0 0 10px;font-weight:600}
.tc-scale{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:4px}
.tc-scale label{display:block;position:relative;font-weight:400}
.tc-scale input{position:absolute;opacity:0}
.tc-scale span{display:grid;place-items:center;min-height:44px;padding:4px 2px;text-align:center;font-size:.8rem;line-height:1.25;
  border:1px solid var(--line);border-radius:6px;background:var(--surface);font-variant-numeric:tabular-nums}
.tc-scale input:checked+span{background:var(--teal);border-color:var(--teal);color:var(--paper);font-weight:600}
.tc-scale input:focus-visible+span{outline:2px solid var(--teal);outline-offset:2px}
.tc-anchors{display:flex;justify-content:space-between;font-size:.8rem;color:var(--ink-2);margin-top:6px}

/* 今天 */
.tc-next{margin:14px 0 30px;padding:24px 22px;background:var(--teal);color:#f6f8f6;border-radius:14px}
.tc-next h1{color:inherit}
.tc-next .tc-when{opacity:.8;margin:0 0 6px;font-size:.92rem}
.tc-next .tc-btn{background:#f6f8f6;border-color:#f6f8f6;color:#1f5a54!important;margin-top:10px}
.tc-next.tc-quiet{background:var(--surface);color:var(--ink);border:1px solid var(--line)}
.tc-next.tc-quiet .tc-btn{background:var(--teal);border-color:var(--teal);color:var(--paper)!important}
.tc-next.tc-quiet .tc-btn-2{background:transparent;color:var(--teal)!important}

/* 我想记住的 —— 全站唯一的引文样式 */
.tc-remember blockquote,.tc-script{margin:0 0 12px;padding:4px 0 4px 16px;border-left:3px solid var(--teal);font:1.12rem/1.75 var(--serif)}
.tc-script{border-left-color:var(--amber);font-size:1.02rem}

/* 进展：三行信号 */
.tc-signals{border-top:1px solid var(--line);margin-bottom:22px}
.tc-signal{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}
.tc-signal-text{display:grid}
.tc-signal-title{color:var(--ink-2);font-size:.88rem}
.tc-signal strong{font:600 1.25rem/1.4 var(--serif)}
.tc-spark{width:120px;height:32px;flex:none;color:var(--ink-2)}
.tc-tone-good strong,.tc-tone-good .tc-spark{color:var(--teal)}
.tc-tone-attention strong,.tc-tone-attention .tc-spark{color:var(--amber)}
.tc-tone-pending strong{color:var(--ink-2);font-weight:400;font-size:1rem;font-family:var(--sans)}
.tc-reading{margin-bottom:30px}
.tc-reading>p:first-child{font-size:1.05rem}
.tc-timeline{list-style:none;margin:0;padding:0;border-left:1px solid var(--line)}
.tc-timeline li{padding:0 0 18px 16px;position:relative}
.tc-timeline li::before{content:"";position:absolute;left:-4px;top:.65em;width:7px;height:7px;border-radius:50%;background:var(--teal)}
.tc-timeline time{color:var(--ink-2);font-size:.82rem}
.tc-timeline p{margin:0;font-family:var(--serif)}

/* Navigate */
.tc-flows{list-style:none;margin:0 0 18px;padding:0;border-top:1px solid var(--line)}
.tc-flows a{display:grid;gap:2px;padding:18px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.tc-flows strong{font:600 1.15rem/1.4 var(--serif)}
.tc-flows span{color:var(--ink-2);font-size:.9rem}
.tc-understand,.tc-scripts,.tc-privacy{border-top:1px solid var(--line);padding-top:18px;margin-bottom:22px}
.tc-understand ul{margin:0 0 .9rem;padding-left:1.2em}
.tc-details{border-top:1px solid var(--line);padding:12px 0}
.tc-details summary{cursor:pointer;font-weight:600}

/* 安全页 */
.tc-safety h1{color:var(--rose)}
.tc-resources{list-style:none;margin:18px 0;padding:0;border-top:1px solid var(--line)}
.tc-resources li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
.tc-resources strong{font-size:1.3rem;font-variant-numeric:tabular-nums;white-space:nowrap}

/* 页脚 */
.tc-foot{display:grid;gap:2px;padding-top:14px;padding-bottom:14px;border-top:1px solid var(--line);font-size:.8rem;color:var(--ink-2)}
.tc-foot a{color:var(--rose);font-weight:600}
/* v2.6.0 主导航：页头下方，吸顶 */
.tc-tabs{position:sticky;top:0;z-index:10;background:var(--paper);border-bottom:1px solid var(--line)}
.tc-tabs>div{max-width:34rem;margin:0 auto;padding:0 8px;display:flex}
.tc-tabs a{flex:1;text-align:center;text-decoration:none;color:var(--ink-2);font-size:.95rem;min-height:48px;display:flex;align-items:center;justify-content:center}
.tc-tabs a[aria-current]{color:var(--teal);font-weight:600;box-shadow:inset 0 -2px 0 var(--teal)}

/* Formidable 表单容器：只做最小的版式约束，题目样式沿用表单自身设置 */
.tc-frm{margin-bottom:18px;max-width:100%;overflow-x:auto}
.tc-frm .frm_forms{max-width:100%}
.tc-frm input[type=submit],.tc-frm button[type=submit]{font:600 1rem/1 var(--sans);background:var(--teal);color:var(--paper);border:1px solid var(--teal);border-radius:8px;padding:14px 22px;cursor:pointer}

/* v1.2.0 */
.tc-why dl{margin:12px 0}
.tc-why dt{font-weight:600;margin-top:10px}
.tc-why dd{margin:2px 0 0}
.tc-tag{display:inline-block;margin:4px 6px 0 0;padding:1px 8px;border:1px solid var(--line);border-radius:999px;font-size:.76rem;color:var(--ink-2);white-space:nowrap}
.tc-charter li{margin-bottom:14px}
.tc-charter strong{display:block}
.tc-past{list-style:none;padding:0;margin:0}
.tc-past li{padding:8px 0;border-top:1px solid var(--line);font-size:.92rem}
/* v1.3.0 */
.tc-records p{margin:0 0 10px}
/* v1.6.0 */
.tc-signal-text small{margin-top:4px}
.tc-remember blockquote footer{margin-top:4px;color:var(--ink-2)}
/* v1.8.0 */
.tc-predict{width:100%;max-width:420px;height:auto;display:block;color:var(--teal)}
.tc-predict-box{margin-bottom:18px}
/* v1.9.0 */
.tc-expert figure{margin:0 0 14px}
.tc-expert blockquote{margin:0;padding-left:14px;border-left:3px solid var(--teal)}
.tc-expert figcaption{margin-top:6px;font-size:.9rem;color:var(--ink-2)}
.tc-ai-out{padding:12px 14px;border:1px dashed var(--line);border-radius:8px;margin-bottom:8px}
/* v2.5.0 手机端 */
.tc [hidden]{display:none!important}
html{scroll-padding-top:16px}
body.tc{-webkit-tap-highlight-color:transparent;overflow-wrap:anywhere}
.tc-top,.tc-main,.tc-foot{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}
.tc-brand{padding:8px 0}
/* 输入框：至少 16px，避免 iPhone 点进输入框时页面被放大；高度够手指点 */
.tc input[type=email],.tc input[type=password],.tc input[type=number],.tc input[type=datetime-local],.tc input[type=text],.tc select{min-height:48px;font-size:16px}
.tc textarea{font-size:16px}
.tc input[type=datetime-local]{-webkit-appearance:none;appearance:none;display:block;text-align:left}
.tc-check{padding:6px 0;cursor:pointer}
.tc-check input{flex:none;width:22px;height:22px;margin-top:.2em}
.tc-btn{min-height:48px;touch-action:manipulation}
.tc-btn:disabled,.tc-btn[disabled]{opacity:.6;cursor:default}
.tc-link{min-height:44px;padding:10px 0}
.tc-choices span{min-height:48px;display:flex;align-items:center}
.tc-details summary{padding:10px 0;min-height:44px}
.tc-inline .tc-btn{flex:1 1 auto}
/* 表单里的主按钮：手机上通栏，拇指好点 */
.tc-form>.tc-btn,.tc-form>button.tc-btn{width:100%}
@media (min-width:40rem){.tc-form>.tc-btn,.tc-form>button.tc-btn{width:auto;justify-self:start}}
/* 选项文字较长的量表（如 7 级且每级都有文字）：窄屏改为竖排，每个选项整行可点 */
@media (max-width:30rem){
  .tc-scale-long{grid-template-columns:1fr}
  .tc-scale-long span{justify-items:start;place-items:center start;padding:10px 14px;font-size:.95rem;min-height:46px}
}
/* 主导航：横屏安全区 */
.tc-tabs{padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0)}
/* 页脚链接：手机上分行、留足点按空间 */
.tc-foot a{display:inline-block;padding:6px 0}
/* 安全页：电话可点，长号码可换行 */
.tc-resources li{flex-wrap:wrap}
.tc-resources strong{white-space:normal}
.tc-resources strong a{display:inline-block;padding:4px 0;text-decoration:none;border-bottom:2px solid currentColor;white-space:nowrap}
/* 加到桌面的提示 */
.tc-a2hs{margin:8px 0 24px;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.tc-a2hs p{margin:0 0 8px}
/* Formidable 问卷：手机上选项整行可点、输入不触发放大；深色模式下放在浅色卡片里，保证表单自身的配色可读 */
.tc-frm{overflow-x:visible}
.tc-frm input[type=text],.tc-frm input[type=email],.tc-frm input[type=number],.tc-frm input[type=tel],.tc-frm select,.tc-frm textarea{font-size:16px!important;min-height:44px;max-width:100%}
.tc-frm .frm_radio label,.tc-frm .frm_checkbox label{display:flex!important;align-items:center;gap:10px;min-height:44px;padding:8px 2px;cursor:pointer}
.tc-frm .frm_radio input,.tc-frm .frm_checkbox input{flex:none;width:20px;height:20px;margin:0!important}
.tc-frm .frm_submit{margin-top:12px}
.tc-frm input[type=submit],.tc-frm button[type=submit]{width:100%;min-height:48px}
.tc-frm table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
@media (prefers-color-scheme:dark){
  .tc-frm{background:#f6f8f6;color:#1b2624;color-scheme:light;border-radius:12px;padding:16px 14px}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* v3.0.0 参加研究的说明、研究抽奖 */
.tc-unlock{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:16px 18px;margin:22px 0}
.tc-unlock h2{color:var(--ink);font-size:1rem}
.tc-unlock ul{margin:0 0 14px;padding-left:1.2em}
.tc-unlock li{margin-bottom:6px}
.tc-unlock .tc-btn{width:100%}
.tc-incentive{border-top:1px solid var(--line);padding:16px 0 4px;margin-bottom:18px}
.tc-incentive h2{color:var(--ink)}
.tc-meter{display:flex;gap:6px;margin:4px 0 8px}
.tc-meter span{flex:1;height:8px;border-radius:4px;background:var(--line)}
.tc-meter span.on{background:var(--teal)}
.tc-reward-card{background:var(--amber-soft);border-radius:10px;padding:14px 16px;margin:0 0 22px}
.tc-reward-card .tc-btn{width:100%}
.tc input[type=file]{font:inherit;font-weight:400;padding:10px 0;width:100%}

/* v3.0.4 我的：下一次会谈 */
.tc-when-big{font:600 1.2rem/1.4 var(--serif);margin:0 0 4px}
#tc-next .tc-inline{align-items:center}
#tc-next form{margin:0}
#tc-next{margin-bottom:22px}
/* v3.0.5 我的记录（可打印为 PDF） */
.tc-save{margin:0 0 22px}
.tc-save .tc-btn{width:100%}
.tc-rec-journey{border-top:1px solid var(--line);padding-top:16px;margin-bottom:22px}
.tc-rec-journey h2{color:var(--ink);font-size:1.1rem}
.tc-rec{padding:12px 0;border-bottom:1px solid var(--line);break-inside:avoid}
.tc-rec h3{font:600 1rem/1.4 var(--sans);margin:0 0 6px}
.tc-rec p{margin:0 0 6px}
.tc-rec-k{display:block;font-size:.82rem;color:var(--ink-2)}
.tc-rec-v{display:block;white-space:pre-wrap}
.tc-rec-sub{font:600 1rem/1.4 var(--sans);margin:18px 0 0}
.tc-printonly{display:none}
@page{margin:16mm 14mm}
@media print{
  :root{--ink:#000;--ink-2:#444;--paper:#fff;--surface:#fff;--line:#ccc}
  body.tc{background:#fff;padding:0}
  .tc-top,.tc-tabs,.tc-foot,.tc-noprint{display:none!important}
  .tc-printonly{display:block}
  .tc-print-head{display:flex!important;align-items:center;gap:12px;border-bottom:2px solid #1f5a54;padding-bottom:10px;margin-bottom:8px}
  .tc-print-head img{width:40px;height:40px}
  .tc-print-head strong{display:block;font:600 18px/1.2 var(--serif);letter-spacing:.08em}
  .tc-print-head span{font-size:13px;color:#444}
  .tc-main{max-width:none;padding:0}
  .tc a{color:#000;text-decoration:none}
}

/* v3.0.6 会谈页：改期、我的记录入口 */
.tc-next #tc-next{margin:10px 0 0}
.tc-records-link{border-top:1px solid var(--line);padding-top:14px;margin-top:22px}
.tc-records-link a{font-weight:600}
.tc-reading ul{margin:0 0 .9rem;padding-left:1.2em}
.tc-reading li{margin-bottom:6px}

/* v3.1.2 关于渡心 */
.tc-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.tc-about{font-size:13px;color:var(--ink-2)!important;text-decoration:none;padding:10px 0 10px 8px;white-space:nowrap}
.tc-about::after{content:" ↗";font-size:11px}
.tc-entry .tc-about{display:inline-block;margin-top:6px;padding:6px 0}

/* v3.1.3 页脚：一句话 + 链接 + 柔和的说明；安全页落款 */
.tc-foot p{margin:0}
.tc-slogan{font:600 .95rem/1.5 var(--serif);color:var(--teal);letter-spacing:.04em;margin-bottom:4px!important}
.tc-foot-links{display:flex;flex-wrap:wrap;gap:4px 18px}
.tc-foot-links a{color:var(--ink-2);font-weight:400}
.tc-foot-links a.tc-help{color:var(--rose);font-weight:600}
.tc-foot-note{font-size:.78rem;color:var(--ink-2)}
.tc-safety-sign{display:flex;align-items:center;gap:8px;color:var(--ink-2);font-size:.86rem;margin-top:18px}
.tc-safety-sign img{width:22px;height:22px;flex:none}
body.tc-safety .tc-foot-note{display:none}

/* v3.1.4 卡片里需要看清的提示（不用浅灰色） */
.tc-callout{color:var(--ink);background:var(--teal-soft);border-radius:8px;padding:10px 12px;font-size:.95rem;margin:0 0 14px}

/* v3.1.7 结束治疗的两种情况 */
.tc-sep{border:0;border-top:1px solid var(--line);margin:18px 0}
.tc-last-link{margin:12px 0 0!important;font-size:.88rem}
.tc-next .tc-last-link a{color:inherit;opacity:.85}

/* v3.2.0 怎么从咨询中得到更多 */
.tc-guide{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:12px;counter-reset:g}
.tc-guide li{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px 18px;counter-increment:g}
.tc-guide h2{color:var(--ink);font-size:1.02rem;margin:0 0 .35rem}
.tc-guide h2::before{content:counter(g);display:inline-block;min-width:1.6em;color:var(--teal);font-family:var(--serif)}
.tc-guide p{margin:0}
.tc-guide-outro{color:var(--ink-2)}
.tc-guide-sign{text-align:right;color:var(--ink-2);font-size:.9rem}
.tc-guide-invite{background:var(--teal-soft);border-radius:12px;padding:14px 16px;margin:0 0 18px}
.tc-guide-invite p{margin:0 0 10px;color:var(--ink)}

/* v3.7.0 认识渡心·心伴 */
.tc-about-hero img{display:block;margin-bottom:10px}
.tc-about-block{margin:30px 0}
.tc-about-block h2{color:var(--ink);font-size:1.2rem;margin-bottom:12px}
.tc-about-shot{display:block;width:100%;height:auto;margin:0 0 10px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-sizing:border-box}
.tc-about-feature .tc-about-shot{margin:10px 0 0}
.tc-about-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.tc-about-list li{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 16px}
.tc-about-list strong{display:block;margin-bottom:2px}
.tc-about-list span{color:var(--ink-2)}
.tc-about-feature{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin:12px 0}
.tc-about-feature h3{margin:0 0 4px;font-size:1.05rem}
.tc-about-feature p{margin:0 0 6px;color:var(--ink-2)}
.tc-about-privacy{margin:24px 0}
.tc-person{display:grid;grid-template-columns:96px 1fr;gap:14px;align-items:start;margin:0 0 18px;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:12px}
.tc-person-photo{width:96px;height:96px;object-fit:cover;object-position:center 20%;border-radius:12px}
.tc-person figcaption strong{display:block;font-size:1.05rem;margin:2px 0 6px}
.tc-person-role{font-size:.82rem;color:var(--teal);font-weight:600}
.tc-person ul{margin:0;padding-left:1.1em;color:var(--ink-2);font-size:.88rem;line-height:1.6}
@media (min-width:640px){.tc-person{grid-template-columns:140px 1fr}.tc-person-photo{width:140px;height:140px}}

.tc-entry-intro{display:block;margin-top:0;font-size:.9rem}
