:root{--bg:#fffaf3;--paper:#fffefa;--ink:#332c32;--muted:#827781;--line:#eee3d9;--accent:#e28b77;--shadow:#9d6f6214}*{box-sizing:border-box}body{margin:0;background:linear-gradient(145deg,#fff6ed,var(--bg));font-family:"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink)}main{width:min(100%,860px);margin:auto;padding:24px 18px 60px}header{display:flex;justify-content:space-between;align-items:center}.brand b{font-size:25px;letter-spacing:-1px}.brand span{margin-left:9px;font-size:12px;color:var(--muted)}button,input,select,textarea{font:inherit}button{cursor:pointer}header button,.view-head button{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:8px 12px;color:var(--muted);font-size:12px}.intro{padding:50px 4px 26px}.intro p,.kicker{color:var(--accent);font-weight:800;letter-spacing:.1em;font-size:12px}.intro h1{font-size:clamp(29px,7vw,48px);line-height:1.22;margin:8px 0;letter-spacing:-.045em}.panel{background:var(--paper);border:1px solid var(--line);border-radius:26px;padding:24px;box-shadow:0 15px 35px var(--shadow)}.section-head,.view-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.section-head h2,.view h2{margin:3px 0;font-size:21px}.section-head img{width:78px;height:78px;object-fit:cover;border-radius:22px;box-shadow:0 7px 18px var(--shadow)}.moods{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin:20px 0}.mood{min-height:112px;border:1px solid var(--line);border-radius:18px;background:#fffaf7;padding:10px 6px;color:var(--ink)}.mood.active{outline:2px solid var(--accent);background:#fff0e7}.mood i{display:block;margin:auto auto 7px;width:42px;height:42px;border-radius:50%;background:var(--tone);box-shadow:inset 0 -4px #00000012;position:relative}.mood i:after{content:"•ᴗ•";position:absolute;inset:9px 0;text-align:center;font-style:normal;font-size:14px}.mood span{display:block;font-size:11px;line-height:1.35}.details{display:grid;grid-template-columns:1fr 1fr;gap:12px}.details label{font-size:12px;color:var(--muted)}.details input,.details select,.details textarea{display:block;width:100%;margin-top:6px;border:1px solid var(--line);border-radius:12px;padding:11px;background:#fff;color:var(--ink)}.details .note{grid-column:1/-1}.details textarea{min-height:82px;resize:vertical}.primary{border:0;background:var(--ink);color:#fff;border-radius:14px;padding:13px 18px;width:100%;font-weight:800;margin-top:15px}.privacy,.hint{font-size:12px;color:var(--muted);line-height:1.6}nav{display:flex;gap:8px;margin:24px 0 12px}.tab{border:0;background:transparent;color:var(--muted);padding:10px 16px;border-radius:999px}.tab.active{background:#f2dfd5;color:var(--ink);font-weight:800}.hidden{display:none}.entries{margin-top:14px}.entry{display:grid;grid-template-columns:38px 1fr auto;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}.entry:last-child{border:0}.badge{width:34px;height:34px;background:var(--tone);border-radius:50%;box-shadow:inset 0 -3px #00000015}.entry b{font-size:13px}.entry p{margin:5px 0;font-size:13px;line-height:1.55}.entry .meta{color:var(--muted);font-size:11px}.delete{border:0;background:none;color:#b87d73;font-size:12px;align-self:start}.empty{text-align:center;padding:32px;color:var(--muted)}.week,.grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;text-align:center}.week{font-size:11px;color:var(--muted);margin:17px 0 8px}.day{min-height:42px;border-radius:11px;padding-top:10px;font-size:12px}.day.has{background:var(--soft);position:relative}.day.has:after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:var(--accent);bottom:6px;left:calc(50% - 2px)}.bars{display:grid;gap:13px;margin-top:20px}.bar{display:grid;grid-template-columns:88px 1fr 28px;gap:10px;align-items:center;font-size:12px}.track{height:10px;border-radius:99px;background:#f1e9e3;overflow:hidden}.fill{height:100%;border-radius:99px;background:var(--tone)}body.dark{--bg:#24252e;--paper:#30313d;--ink:#f9f1ec;--muted:#b8b1b2;--line:#484956;--accent:#f0a98c;--shadow:#00000033}body.dark{background:linear-gradient(145deg,#1c1e26,var(--bg))}body.dark .mood,body.dark .details input,body.dark .details select,body.dark .details textarea{background:#373845;color:var(--ink)}body.dark .tab.active{background:#594a50;color:var(--ink)}@media(max-width:570px){.moods{grid-template-columns:repeat(3,1fr)}.details{grid-template-columns:1fr}.panel{padding:18px}.intro{padding-top:38px}.section-head img{width:58px;height:58px}}
