/* ====== 日记本 ====== */
@keyframes peekBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.diary-mood-chip{padding:4px 10px;border-radius:20px;border:1.5px solid var(--gl);font-size:13px;cursor:pointer;background:var(--card);transition:all .15s;display:flex;align-items:center;gap:3px;white-space:nowrap;flex-shrink:0}
.diary-mood-chip.selected{border-color:var(--blue);background:rgba(0,122,255,.06)}
.diary-mood-chip:active{transform:scale(.95)}
.diary-weather-chip{padding:4px 10px;border-radius:20px;border:1.5px solid var(--gl);font-size:13px;cursor:pointer;background:var(--card);transition:all .15s;display:flex;align-items:center;gap:3px;white-space:nowrap;flex-shrink:0}
.diary-weather-chip.selected{border-color:var(--blue);background:rgba(0,122,255,.06)}
.diary-weather-chip:active{transform:scale(.95)}
.diary-cal-cell{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:10px;cursor:pointer;position:relative;transition:all .15s}
.diary-cal-cell:active{transform:scale(.9)}
.diary-cal-cell.today{background:var(--blue)}
.diary-cal-cell.today .diary-cal-num{color:white;font-weight:700}
.diary-cal-cell.other-month .diary-cal-num{color:var(--gl)}
.diary-cal-num{font-size:13px;font-weight:500;color:var(--b);line-height:1}
.diary-cal-mood{font-size:15px;line-height:1}
.diary-cal-dot{width:4px;height:4px;border-radius:50%;background:var(--blue);position:absolute;bottom:2px;display:none}
.diary-cal-cell.has-diary .diary-cal-dot{display:block}
.diary-cal-cell.today .diary-cal-dot{background:white}
.diary-cal-lock{position:absolute;top:1px;right:2px;font-size:8px;opacity:.7}
.diary-item{background:var(--card);border-radius:18px;margin-bottom:10px;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.05);cursor:pointer;transition:transform .15s}
.diary-item:active{transform:scale(.98)}
.diary-comment-item{padding:12px 16px;border-bottom:.5px solid var(--gl);display:flex;gap:10px}
.diary-comment-item:last-child{border-bottom:none}
.diary-comment-item.peek{background:rgba(255,149,0,.04)}
.diary-comment-av{width:30px;height:30px;border-radius:50%;background:var(--gl);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0;overflow:hidden}
.diary-comment-av img{width:100%;height:100%;object-fit:cover}
.diary-peek-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:10px;background:rgba(255,149,0,.1);color:var(--orange);font-size:11px;font-weight:500}
.diary-detail-tag{padding:3px 10px;border-radius:10px;font-size:12px;font-weight:500;display:inline-block}
.diary-bg-preset{height:64px;border-radius:12px;cursor:pointer;border:2px solid transparent;transition:all .2s;overflow:hidden}
.diary-bg-preset.selected{border-color:var(--blue);transform:scale(.95)}
.diary-bg-preset:active{transform:scale(.92)}
.diary-crack-option{padding:14px 16px;border-radius:14px;border:1.5px solid var(--gl);cursor:pointer;display:flex;align-items:center;gap:12px;margin-bottom:10px;transition:all .15s}
.diary-crack-option:active{transform:scale(.98)}
.diary-crack-option.primary{border-color:var(--blue);background:rgba(0,122,255,.04)}
.diary-progress-bar{height:6px;background:var(--gl);border-radius:3px;overflow:hidden;margin-bottom:10px}
.diary-progress-fill{height:100%;background:linear-gradient(90deg,var(--blue),var(--purple));border-radius:3px;transition:width .1s linear}
@keyframes diaryCrackSpin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
