/* ===== 藏宝页：沿用首页浅色体系，功能模块只占一张卡片 ===== */
:root{
  --tb-paper:#fbf5e7;
  --tb-paper-line:#efe4cf;
  --tb-panel:#faf7f2;
}

/* ---------- 文字介绍 ---------- */
.tb-hero{padding:60px 0 40px;text-align:center;border-bottom:1px solid var(--line)}
.tb-hero .hero-kicker{font-family:var(--font-serif-cn);font-size:15px;letter-spacing:.32em;color:var(--accent);margin:0 0 14px}
.tb-hero .hero-title{font-family:var(--font-serif-cn);font-size:clamp(34px,6vw,54px);letter-spacing:.18em;margin:0 0 18px;font-weight:500}
.tb-hero .hero-desc{max-width:640px;margin:0 auto;color:var(--ink-2);font-size:15px;line-height:2.1}

.tb-section{padding:40px 0 0}
.tb-section-last{padding-bottom:20px}

/* ---------- 模块卡片 ---------- */
.tb-card{
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--bg);
  padding:28px 28px 26px;
}
.tb-card-head{margin-bottom:20px}
.tb-card-title{margin:0 0 6px;font-family:var(--font-serif-cn);font-size:22px;font-weight:500;letter-spacing:.08em}
.tb-card-sub{margin:0;font-size:13px;color:var(--ink-3)}

/* 页签 */
.tb-tabs{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:999px;background:var(--panel,var(--bg-soft));margin-bottom:22px}
.tb-tab{
  border:0;background:transparent;color:var(--ink-2);
  font-size:14px;font-family:inherit;letter-spacing:.06em;
  padding:7px 20px;border-radius:999px;cursor:pointer;transition:all .15s ease;
}
.tb-tab:hover{color:var(--accent)}
.tb-tab.on{background:#fff;color:var(--accent);border:1px solid var(--accent-soft);box-shadow:0 1px 2px rgba(28,25,23,.05)}
.tb-panel{animation:tb-fade .28s ease both}
@keyframes tb-fade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}

/* ---------- 读一句：纸感区块 ---------- */
.tb-paper{
  background:var(--tb-paper);
  border:1px solid var(--tb-paper-line);
  border-radius:var(--radius);
  padding:34px 30px 26px;
  min-height:176px;
  display:flex;flex-direction:column;justify-content:center;
  position:relative;
}
.tb-paper:before{
  content:"";position:absolute;inset:0;border-radius:var(--radius);
  background:repeating-linear-gradient(0deg,rgba(120,95,55,.045) 0 1px,transparent 1px 28px);
  pointer-events:none;
}
.tb-paper > *{position:relative}
.tb-paper-empty{margin:0;text-align:center;color:var(--ink-3);font-size:14px}
.tb-text{
  margin:0 0 14px;
  font-family:var(--font-serif-cn);
  font-size:clamp(19px,2.6vw,25px);
  line-height:1.95;letter-spacing:.05em;color:#2a2016;font-weight:500;
  word-break:break-word;white-space:pre-wrap;
}
.tb-to{margin:0 0 10px;font-size:13px;letter-spacing:.06em;color:#8a6a3a}
.tb-meta{margin:0;font-size:12.5px;color:var(--ink-3)}
.tb-media{margin:0 0 12px}
.tb-media img{max-width:100%;border-radius:8px;border:1px solid var(--tb-paper-line)}
.tb-media audio{width:100%;max-width:420px}

/* ---------- 按钮 ---------- */
.tb-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.tb-btn{
  font-size:13px;letter-spacing:.06em;font-family:inherit;
  padding:9px 20px;border-radius:999px;
  border:1px solid var(--line);background:#fff;color:var(--ink-2);
  cursor:pointer;transition:all .15s ease;
}
.tb-btn:hover{border-color:var(--accent);color:var(--accent)}
.tb-btn:disabled{opacity:.5;cursor:not-allowed}
.tb-btn-main{background:var(--accent);border-color:var(--accent);color:#fff}
.tb-btn-main:hover{background:#7c2a0e;border-color:#7c2a0e;color:#fff}
.tb-btn-ghost{border-color:transparent;background:transparent}
.tb-btn-block{width:100%;padding:12px;margin-top:20px;font-size:14px}

.tb-note{margin:16px 0 0;font-size:12.5px;line-height:1.9;color:var(--ink-3)}

/* ---------- 藏一句：表单 ---------- */
.tb-form{background:var(--tb-panel);border:1px solid var(--line);border-radius:var(--radius);padding:24px 24px 22px}
.tb-label{display:block;margin:0 0 8px;font-size:13px;letter-spacing:.08em;color:var(--ink-2)}
.tb-textarea{
  width:100%;border:1px solid var(--line);border-radius:10px;background:#fff;
  padding:14px 16px;font-family:inherit;font-size:15px;line-height:1.85;color:var(--ink);
  resize:vertical;outline:none;transition:border-color .15s ease;
}
.tb-textarea:focus{border-color:var(--accent)}
.tb-input{
  width:100%;border:1px solid var(--line);border-radius:10px;background:#fff;
  padding:10px 14px;font-family:inherit;font-size:14px;color:var(--ink);
  outline:none;transition:border-color .15s ease;
}
.tb-input:focus{border-color:var(--accent)}
.tb-form-foot{display:flex;justify-content:space-between;align-items:center;margin-top:8px}
.tb-hint{margin:0;font-size:12px;color:var(--ink-3)}
.tb-count{font-size:12px;color:var(--ink-3);font-variant-numeric:tabular-nums}
.tb-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}
.tb-field{min-width:0}

.tb-seg{display:inline-flex;gap:4px;padding:4px;margin-top:20px;border:1px solid var(--line);border-radius:999px;background:#fff}
.tb-seg-btn{
  border:0;background:transparent;color:var(--ink-2);
  font-size:13px;font-family:inherit;padding:6px 16px;border-radius:999px;cursor:pointer;transition:all .15s ease;
}
.tb-seg-btn:hover{color:var(--accent)}
.tb-seg-btn.on{background:var(--accent-soft);color:var(--accent)}

.tb-upload{margin-top:16px;padding:14px 16px;border:1px dashed var(--line);border-radius:10px;background:#fff}
.tb-upload-box{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.tb-preview{margin-top:12px}
.tb-preview img{max-width:220px;border-radius:8px;border:1px solid var(--line)}

/* ---------- 藏好了 ---------- */
.tb-result{margin-top:18px;padding:24px;border:1px solid var(--accent-soft);border-radius:var(--radius);background:var(--accent-soft);text-align:center}
.tb-result-title{margin:0 0 10px;font-family:var(--font-serif-cn);font-size:20px;letter-spacing:.16em;color:var(--accent)}
.tb-result-code{margin:0 0 4px;font-size:14px;color:var(--ink-2);letter-spacing:.1em}
.tb-result .tb-actions{justify-content:center}

/* ---------- 说明 ---------- */
.tb-explain{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-soft);padding:36px 30px;text-align:center}
.tb-explain-line{margin:0 0 14px;font-family:var(--font-serif-cn);font-size:24px;letter-spacing:.2em;color:var(--ink)}
.tb-explain-desc{margin:0 auto;max-width:620px;color:var(--ink-2);font-size:14.5px;line-height:2.1}

@media(max-width:720px){
  .tb-hero{padding:44px 0 30px}
  .tb-card{padding:22px 18px}
  .tb-form{padding:18px 16px}
  .tb-row{grid-template-columns:1fr}
  .tb-paper{padding:26px 20px;min-height:150px}
  .tb-tabs,.tb-seg{width:100%;justify-content:center}
  .tb-tab,.tb-seg-btn{flex:1}
  .tb-explain{padding:28px 18px}
  .tb-explain-line{font-size:20px;letter-spacing:.14em}
}
