/* 念念生活助手 - 工具模块样式（tools）
 * 命名空间 .tools-* / .t-* 隔离，绝不污染整站其它模块。
 * 配色沿用整站暖橙 + 蓝：accent #ff7a45 / blue #5b8def / ink #2b2b2b / paper #faf6ee
 */
.tools-scope{max-width:1120px;margin:0 auto;padding:10px 6px}
.tools-root .t-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:4px 0 14px}
.tools-root .t-title{font-size:21px;font-weight:800;letter-spacing:1px}
.tools-root .t-sub{color:#6b7280;font-size:13px}
.tools-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.t-panel{background:#fff;border:1px solid #eceef1;border-radius:14px;padding:16px;box-shadow:0 1px 3px rgba(20,20,40,.04)}
.t-panel h4{margin:0 0 10px;font-size:15px;font-weight:700;display:flex;align-items:center;gap:6px;color:#2b2b2b}
.t-muted{color:#8a93a0;font-size:12px;line-height:1.65}
.t-tip{background:#fff7ef;border:1px solid #ffe0c2;color:#9a5b2e;font-size:12px;padding:8px 10px;border-radius:8px;margin-bottom:12px;line-height:1.6}
.t-btn{border:0;border-radius:9px;padding:9px 14px;font-size:14px;cursor:pointer;background:linear-gradient(135deg,#ff7a45,#ffb088);color:#fff;font-weight:600}
.t-btn.secondary{background:#eef2f7;color:#3b4a5a}
.t-btn.ghost{background:#fff;border:1px solid #d8dee6;color:#3b4a5a}
.t-btn.sm{padding:6px 10px;font-size:13px}
.t-input,.t-select,.t-area{width:100%;padding:9px 11px;border:1px solid #dbe0e6;border-radius:9px;font-size:14px;box-sizing:border-box;font-family:inherit}
.t-area{resize:vertical;min-height:64px}
.t-form label{display:block;font-size:13px;color:#5a6473;margin:0 0 4px}
.t-form .field{margin-bottom:10px}
.t-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.t-list{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.t-item{background:#f8fafc;border:1px solid #eef1f5;border-radius:10px;padding:10px 12px;font-size:14px}
.t-item .t-meta{color:#9aa3af;font-size:12px;margin-top:3px}
.t-empty{color:#aab2bd;text-align:center;padding:18px 0;font-size:13px}
.t-del{float:right;color:#cbd2db;cursor:pointer;font-size:13px;border:none;background:none}
.t-del:hover{color:#ef4444}

/* 今日精选 */
.today-pick .lucky-num{font-size:34px;font-weight:800;color:#ff7a45;line-height:1}
.today-pick .fortune-bar{height:8px;border-radius:6px;background:linear-gradient(90deg,#ffb088,#5b8def);margin:10px 0 4px}

/* 习惯打卡 */
.habit-card{background:#f8fafc;border:1px solid #eef1f5;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:10px}
.habit-top{display:flex;align-items:center;gap:10px}
.habit-emoji{font-size:26px}
.habit-name{font-weight:700;font-size:15px}
.habit-streak{margin-left:auto;text-align:right;font-size:12px;color:#6b7280}
.habit-streak b{font-size:18px;color:#ff7a45;display:block}
.heat{display:grid;grid-template-columns:repeat(14,1fr);gap:3px;margin-top:6px}
.heat i{aspect-ratio:1;border-radius:3px;background:#eef1f5;display:block}
.heat i.on{background:#5b8def}
.heat i.today{border:2px solid #ff7a45}

/* 健康记录 */
.health-row{display:flex;align-items:center;gap:10px;border-bottom:1px dashed #eef1f5;padding:8px 0;font-size:14px}
.health-row:last-child{border-bottom:0}
.health-tag{font-size:12px;padding:2px 8px;border-radius:20px;background:#eef2f7;color:#3b4a5a;white-space:nowrap}
.health-val{font-weight:700;margin-left:auto}
.bar{height:6px;border-radius:4px;background:#eef1f5;overflow:hidden;margin-top:3px}
.bar > span{display:block;height:100%;background:#5b8def}

/* 家庭账本 */
.ledger-row{display:flex;align-items:center;gap:8px;padding:9px 0;border-bottom:1px dashed #eef1f5;font-size:14px}
.ledger-row:last-child{border-bottom:0}
.ledger-cat{font-size:12px;color:#6b7280}
.ledger-amt{margin-left:auto;font-weight:700}
.amt-in{color:#16a34a}.amt-out{color:#dc2626}
.sum-card{background:linear-gradient(135deg,#fff7f2,#eefaf7);border:1px solid #ffd9c2;border-radius:12px;padding:14px;display:flex;gap:18px;flex-wrap:wrap}
.sum-card .s b{display:block;font-size:20px;margin-top:2px}

/* 时间胶囊 */
.capsule-card{background:#f8fafc;border:1px solid #eef1f5;border-radius:12px;padding:14px;position:relative}
.capsule-card.locked{background:linear-gradient(135deg,#f3f0ff,#eefaf7)}
.capsule-date{font-size:12px;color:#9aa3af}
.capsule-body{margin-top:8px;white-space:pre-wrap;line-height:1.7;font-size:14px}
.capsule-open{margin-top:10px}

/* 年度回顾 */
.review-hero{background:linear-gradient(135deg,#ff7a45,#5b8def);color:#fff;border-radius:16px;padding:22px;margin-bottom:14px}
.review-hero h3{margin:0 0 8px;font-size:22px}
.review-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin:14px 0}
.review-stat{background:#f8fafc;border:1px solid #eef1f5;border-radius:12px;padding:14px;text-align:center}
.review-stat b{display:block;font-size:26px;color:#ff7a45;font-weight:800}
.review-stat span{font-size:12px;color:#6b7280}
.review-line{line-height:1.9;font-size:15px}

/* ===== 今日精选 V2：四张卡全部真实可用 ===== */
.today-pick .t-panel{display:flex;flex-direction:column}
.today-pick .tp-wide{grid-column:1/-1}
.today-pick .tp-kv{display:flex;justify-content:space-between;align-items:center;font-size:13.5px;color:#6b7280;padding:4px 0;border-bottom:1px dashed #f1f3f6}
.today-pick .tp-kv:last-of-type{border-bottom:0}
.today-pick .tp-kv b{color:#2b2b2b;font-weight:700}
.today-pick .tp-yi-lab{font-size:13px;font-weight:800;color:#16a34a;margin:6px 0 4px}
.today-pick .tp-yi-lab.ji{color:#dc2626;margin-top:10px}
.today-pick .tp-tags{display:flex;flex-wrap:wrap;gap:6px}
.today-pick .tp-yi{background:#eafaf0;color:#15803d;border:1px solid #c8ecd6;border-radius:20px;padding:3px 10px;font-size:13px}
.today-pick .tp-ji{background:#fdeeee;color:#b91c1c;border:1px solid #f7d3d3;border-radius:20px;padding:3px 10px;font-size:13px}
.today-pick .tp-quote{margin-top:12px;padding-top:12px;color:#8a93a0;font-size:12.5px;line-height:1.7;border-top:1px dashed #f1f3f6}
.today-pick .tp-mini{margin-left:auto;border:1px solid #dbe0e6;background:#fff;color:#5b6473;font-size:12px;border-radius:8px;padding:3px 9px;cursor:pointer;font-weight:600}
.today-pick .tp-mini:hover{border-color:#ffb088;color:#e0622c}
.today-pick .tp-his{display:flex;gap:10px;align-items:flex-start;background:#f8fafc;border:1px solid #eef1f5;border-radius:10px;padding:9px 11px;font-size:13.5px;line-height:1.6}
.today-pick .tp-year{flex:0 0 auto;color:#c2410c;font-weight:800;font-size:12.5px;background:#fff3e9;border-radius:6px;padding:2px 7px;white-space:nowrap}
.today-pick .tp-txt{color:#334}
.today-pick .tp-fes{font-style:normal;color:#b45309;background:#fef3c7;border-radius:5px;padding:1px 6px;font-size:11.5px;margin-left:4px}
.today-pick .tp-hot-item{display:flex;gap:9px;align-items:flex-start;padding:8px 10px;border-radius:10px;background:#fff;border:1px solid #f1f3f6;text-decoration:none;color:#2b2b2b;font-size:13.5px;line-height:1.55}
.today-pick .tp-hot-item:hover{background:#fff8f4;border-color:#ffd9c2}
.today-pick .tp-rank{flex:0 0 auto;width:18px;height:18px;line-height:18px;text-align:center;border-radius:5px;background:#eef2f7;color:#8a93a0;font-size:11.5px;font-style:normal;font-weight:700;margin-top:1px}
.today-pick .tp-rank.top{background:linear-gradient(135deg,#ff7a45,#ffb088);color:#fff}
.today-pick .tp-hint{font-size:12px;color:#a3aab5;font-weight:400;margin-left:4px}
.today-pick .tp-note textarea{min-height:76px}
@media (max-width:720px){
  .today-pick .tp-wide{grid-column:auto}
}

/* 响应式：移动端侧栏变顶部，模块单列 */
@media (max-width:720px){
  .heat{grid-template-columns:repeat(10,1fr)}
  .tools-grid{grid-template-columns:1fr}
}
