.recommendation{padding:24px;border:1px solid #a7ba98;background:#fdfbf1;border-radius:14px;margin:0 0 24px}.recommendation h2{margin-bottom:10px;font-size:27px}.recommendation .excerpt{margin-bottom:10px}.candidategrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.candidate{background:#f4f0e4;padding:17px;border-radius:10px}.candidate h3{margin-bottom:8px}.reading-clock{padding:14px 16px;border:1px solid #ccd7bc;background:#eff2e6;border-radius:10px;margin:18px 0;font:13px/1.8 "Microsoft YaHei",sans-serif}.clockrow{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.clockrow b{font-variant-numeric:tabular-nums;color:#284d3b;font-size:18px}.clockrow button{border:1px solid #bcc8ab;background:#fffdf5;border-radius:6px;color:var(--ink);padding:4px 10px}.rewardpanel{border:1px solid #c8d2b8;border-radius:14px;padding:24px;background:#e9eddf;margin:25px 0}.rewardpanel h2{font-size:25px;margin-bottom:10px}.rewardgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}.rewardcard{background:#fffdf5;border:1px solid #d3dac5;padding:16px;border-radius:10px}.rewardcard .symbol{font-size:25px;color:#9d7746}.rewardcard.locked{background:#e5e7dc;color:#7b8271}.rewardcard p{font-size:12px;margin:6px 0 12px}.rewardcard b{font-size:14px}.goalbuttons{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.goalbuttons button{border:1px solid #aab99d;background:#fffef6;border-radius:20px;padding:6px 13px;color:var(--ink)}.goalbuttons button.active{background:var(--green);color:white}.timehistory{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-top:15px}.daycell{border-radius:7px;padding:10px 5px;background:#fffdf5;text-align:center;font-size:11px}.daycell b{display:block;font-size:17px}.bookmark-line{border-left:5px solid var(--accent,#8d9c6d);padding-left:15px}.microtoast{position:fixed;bottom:20px;right:20px;max-width:320px;background:#254c3f;color:#fff7e4;padding:15px 20px;border-radius:12px;z-index:15;box-shadow:0 5px 20px #142b2333}.rewardnotice{font-size:12px;color:#75643c;margin:12px 0}.tiny-link{font-size:12px;display:block;margin:10px 0}.goal-meter{height:5px;background:#d3dbc7;border-radius:5px;margin:12px 0}.goal-meter span{height:100%;display:block;background:#65865d;border-radius:5px;max-width:100%}@media(max-width:750px){.candidategrid{grid-template-columns:1fr}.rewardgrid{grid-template-columns:1fr 1fr}.rewardpanel{padding:18px}.timehistory{gap:4px}.daycell{padding:8px 1px;font-size:10px}.daycell b{font-size:14px}}
/* Reading dashboard: open paper background with warm, distinct reward cards. */
.rewardpanel{background:transparent;border:0;border-bottom:1px solid #ded7c9;border-radius:0;padding:6px 0 28px;margin:0 0 32px}
.rewardpanel h2{font-size:28px;margin:8px 0 18px}
.rewardpanel .clockrow{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.rewardpanel .clockrow>span{background:#fffdf8;border:1px solid #e4ddcf;border-radius:12px;padding:14px 18px;color:#777365;font-size:13px}
.rewardpanel .clockrow b{display:block;font-size:25px;line-height:1.5;color:#34433a}
.rewardpanel .rewardcard{background:#fffdf8;border:1px solid #e2dacb;border-top:3px solid #b99a64;border-radius:12px;padding:18px;box-shadow:0 3px 10px #55452a05}
.rewardpanel .rewardcard.locked{background:#faf8f1;color:#77756c;border-top-color:#d6cbb7}
.rewardpanel .rewardcard b{color:#464b42;font-size:15px}
.rewardpanel .rewardcard .symbol{color:#a1814e}
.rewardpanel .rewardcard button:disabled{color:#8d887d;background:#f1eee6;border-color:#e2dcce;cursor:default}
.rewardpanel .goalbuttons button{border-color:#d4c8b4;background:#fffdf8}
.rewardpanel .goalbuttons button.active{background:#705c3e;color:#fffdf5;border-color:#705c3e}
.rewardpanel .goal-meter{background:#e6dfd2;height:6px}
.rewardpanel .goal-meter span{background:#b29769}
.rewardpanel .rewardnotice{color:#81745d}
@media(max-width:600px){.rewardpanel h2{font-size:24px}.rewardpanel .clockrow{gap:7px}.rewardpanel .clockrow>span{padding:10px 8px;font-size:11px}.rewardpanel .clockrow b{font-size:19px}.rewardpanel .rewardcard{padding:14px}}.rewardpanel .clockrow .reading-day-stat>span{display:block}
.rewardpanel .clockrow .reading-day-stat>div{display:flex;align-items:baseline;gap:5px;white-space:nowrap}