/* 「今天」：首页卡片 + quest 整页（2026-09-23）。颜色全走现有变量，深浅两套主题自动跟。 */
.quest-card{cursor:pointer;padding:18px 20px}
.q-more{display:block;width:100%;margin-top:12px;padding:8px 0 0;border:0;border-top:1px solid var(--line);background:none;color:var(--muted);font-size:.8rem;text-align:right}
.q-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}
.q-card-title{font:italic 1.5rem Georgia,"Songti SC",serif;color:var(--ink);line-height:1.2}
.q-points{text-align:right;white-space:nowrap}
.q-points b{display:block;font:italic 1.9rem Georgia,serif;color:var(--accent);line-height:1}
.q-points small{color:var(--muted);font-size:.74rem}
.q-plan{display:grid;gap:6px;margin:4px 0 10px}
.q-plan>div{display:grid;grid-template-columns:2.6em 1fr;gap:8px;align-items:baseline}
.q-plan span{color:var(--muted);font-size:.78rem}
.q-plan p{margin:0;color:var(--ink);font-size:.9rem;line-height:1.45}
.q-plan-note{grid-column:1/-1;color:var(--muted);font-size:.82rem;margin:2px 0 0}
.q-plan-empty{color:var(--muted);font-size:.86rem;margin:6px 0}
.q-water{display:flex;align-items:center;gap:10px;margin:6px 0 8px}
.q-cups{display:flex;gap:4px;flex-wrap:wrap;flex:1}
.q-cups i{width:13px;height:17px;border:1.5px solid var(--line);border-top:0;border-radius:0 0 4px 4px}
.q-cups i.on{background:rgba(var(--accent-rgb),.55);border-color:rgba(var(--accent-rgb),.8)}
.q-water>span{color:var(--muted);font-size:.8rem;white-space:nowrap}
.q-btn{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.14);color:var(--ink);border-radius:12px;padding:6px 12px;font-size:.84rem;white-space:nowrap}
.q-btn:disabled{opacity:.4}
.q-tasks,.q-rewards,.q-ledger{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:8px}
.q-task,.q-rewards li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-top:1px solid var(--line)}
.q-task-main,.q-rewards li>div{display:grid;gap:2px;min-width:0}
.q-task-main b,.q-rewards b{font-weight:600;color:var(--ink);font-size:.93rem}
.q-task-main small,.q-rewards small{color:var(--muted);font-size:.76rem;line-height:1.4}
.q-task.done b{text-decoration:line-through;text-decoration-color:rgba(var(--accent-rgb),.6);opacity:.7}
.q-review{color:var(--danger)!important}
.q-state{font-size:.78rem;white-space:nowrap;color:var(--muted)}
.q-state.ok{color:var(--accent)}.q-state.bad{color:var(--danger)}
.q-surprise{margin:10px 0 0;color:var(--muted);font:italic .86rem Georgia,"Songti SC",serif}
.quest-page{display:grid;gap:16px}
.q-section{padding:18px}
.q-chart{width:100%;height:150px;display:block;margin-top:6px}
.q-dot{fill:rgba(var(--accent-rgb),.45)}
.q-avg{fill:none;stroke:var(--accent);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.q-target{stroke:var(--danger);stroke-width:1.4;stroke-dasharray:5 5;vector-effect:non-scaling-stroke}
.q-chart-legend{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:.76rem;margin-top:4px}
.q-chart-legend b{color:var(--ink)}
.q-target-label{color:var(--danger)}
.q-body-form{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
.q-body-form label{display:grid;gap:4px;color:var(--muted);font-size:.74rem}
.q-body-form input,.q-body-form select,.q-set input[type=number]{width:100%;box-sizing:border-box;border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:10px;padding:8px;font-size:16px}
.q-body-form select{grid-column:3;font-size:.84rem}
.q-save{width:100%;margin-top:10px}
.q-pending{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}
.q-pending span{font-size:.76rem;padding:4px 9px;border-radius:999px;background:rgba(var(--accent-rgb),.16);color:var(--ink)}
.q-ledger li{display:flex;justify-content:space-between;gap:10px;font-size:.82rem;color:var(--muted)}
.q-ledger b.up{color:var(--accent)}.q-ledger b.down{color:var(--danger)}
.q-set{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0 0;color:var(--ink);font-size:.86rem}
.q-set input[type=range]{flex:1;accent-color:var(--accent)}
.q-set input[type=number]{width:5em}
.q-check{justify-content:flex-start}
.q-level-desc{margin:4px 0 0;color:var(--muted);font-size:.8rem}
.q-sheet-sub{color:var(--muted);font-size:.86rem;margin:0 0 10px}
.q-photo-pick{display:block;text-align:center;margin-top:8px}
.q-photos{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.q-photos img{width:64px;height:64px;object-fit:cover;border-radius:10px}
.q-ledger-top{display:grid;grid-template-columns:92px 1fr;gap:14px;align-items:center;position:relative;margin:4px 0 12px}
.q-ring{width:92px;height:92px}
.q-ring-track{fill:none;stroke:var(--line);stroke-width:9}
.q-ring-value{fill:none;stroke:var(--accent);stroke-width:9;stroke-linecap:round;transition:stroke-dasharray .6s}
.q-ring-value.over{stroke:var(--danger)}
.q-ring-text{position:absolute;left:0;top:0;width:92px;height:92px;display:grid;place-content:center;text-align:center;line-height:1.1}
.q-ring-text b{font:italic 1.35rem Georgia,serif;color:var(--ink)}
.q-ring-text small{font-size:.62rem;color:var(--muted)}
.q-ledger-nums{display:grid;gap:5px;min-width:0}
.q-ledger-nums>div{display:grid;grid-template-columns:3.2em auto 1fr;gap:6px;align-items:baseline;min-width:0}
.q-ledger-nums span{color:var(--muted);font-size:.76rem}
.q-ledger-nums b{color:var(--ink);font-size:.98rem}
.q-ledger-nums b.over{color:var(--danger)}
.q-ledger-nums small{color:var(--muted);font-size:.68rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.q-progress{margin:2px 0 10px}
.q-progress-row{display:flex;justify-content:space-between;align-items:baseline;color:var(--muted);font-size:.74rem}
.q-progress-row b{color:var(--ink);font:italic 1.05rem Georgia,serif}
.q-bar{height:7px;border-radius:99px;background:var(--line);overflow:hidden;margin:4px 0}
.q-bar i{display:block;height:100%;background:linear-gradient(90deg,rgba(var(--accent-rgb),.6),var(--accent));border-radius:99px}
.q-progress small{color:var(--muted);font-size:.74rem}
.q-food{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:6px}
.q-food li{display:grid;grid-template-columns:2.6em 1fr auto;gap:8px;align-items:baseline;font-size:.88rem}
.q-food li span{color:var(--muted);font-size:.76rem}
.q-food li p{margin:0;color:var(--ink)}
.q-food li b{color:var(--muted);font-weight:500;font-size:.8rem}
.q-sub{margin-top:14px}
.q-meal-pick{display:flex;gap:14px;margin-bottom:8px;color:var(--ink);font-size:.9rem}
.q-plan p.q-plan-note{color:var(--muted);font-size:.82rem}
