/* Cove 桌面 2x2 小月历（iOS 风格可拖动小组件）+ 聊天热力着色 + 大月历面板 */
/* 桌面网格缩到和恋爱卡片同一条竖线上：
   卡片左边缘 = .page 的 22px 内边距 + 卡片自己的 10px margin = 32px。
   .cove-desk 是绝对定位，left 从视口算起不吃父级 padding，
   再减掉小组件自身的 5px 内边距，就是 27px。这样月历吸附到任意一列，
   左右两条边都和卡片齐。 */
#page-cove .cove-desk{
  left:calc(22px + 10px - 5px);
  right:calc(22px + 10px - 5px);
}
.cove-cal{
  position:absolute;
  width:50%;                 /* 占 2 列 */
  height:28.5714%;           /* 老浏览器回退：2 行 */
  aspect-ratio:1;            /* iOS 小组件是正方形，高度跟着宽度走 */
  height:auto;
  padding:5px;
  box-sizing:border-box;
  container-type:inline-size;
  touch-action:none;
  user-select:none;
  -webkit-user-select:none;
  z-index:2;
}
.cove-cal-inner{
  width:100%;
  height:100%;
  box-sizing:border-box;
  padding:11px 12px 10px;
  padding:6.5cqi 7cqi 6cqi;
  display:flex;
  flex-direction:column;
  border-radius:clamp(16px,11cqi,26px);
  background:rgba(255,255,255,.34);
  -webkit-backdrop-filter:blur(30px) saturate(170%);
  backdrop-filter:blur(30px) saturate(170%);
  border:1px solid rgba(255,255,255,.5);
  box-shadow:0 8px 28px rgba(83,60,105,.13),inset 0 1px 0 rgba(255,255,255,.6);
  transition:.16s transform,.16s box-shadow;
  overflow:hidden;
}
.cove-cal.dragging{z-index:11}
.cove-cal.dragging .cove-cal-inner{
  transform:scale(1.06);
  box-shadow:0 22px 40px rgba(83,60,105,.24),inset 0 1px 0 rgba(255,255,255,.6);
}
.cove-cal-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:4px;
  line-height:1;
  margin-bottom:6px;
  margin-bottom:4cqi;
}
.cove-cal-month{
  font-size:clamp(11px,9cqi,20px);
  font-weight:700;
  letter-spacing:.04em;
  color:#e0607f;
}
.cove-cal-year{
  font-size:clamp(8px,6cqi,13px);
  font-weight:600;
  color:rgba(77,65,88,.5);
  letter-spacing:.06em;
}
.cove-cal-week,.cove-cal-days{
  display:grid;
  grid-template-columns:repeat(7,1fr);
}
.cove-cal-week{
  font-size:clamp(7px,5.4cqi,12px);
  font-weight:650;
  color:rgba(77,65,88,.42);
  text-align:center;
  letter-spacing:.02em;
  padding-bottom:4px;
  padding-bottom:2.5cqi;
}
.cove-cal-days{
  flex:1;
  align-content:stretch;
  gap:1cqi;                  /* 热力色块之间留条缝，连成一片就看不出档了 */
  font-size:clamp(8px,6.4cqi,14px);
  font-weight:550;
  color:#4d4158;
  text-align:center;
}
.cove-cal-days span{
  display:grid;
  place-items:center;
  min-height:0;
  line-height:1;
  border-radius:20%;
}
.cove-cal-days span.dim{color:transparent;border-radius:0}
/* 聊天热力四档：相对全库峰值 25/50/75/100%，随主题 accent 走 */
.cove-cal-days span.h1{background:color-mix(in srgb,var(--accent) 16%,transparent)}
.cove-cal-days span.h2{background:color-mix(in srgb,var(--accent) 34%,transparent)}
.cove-cal-days span.h3{background:color-mix(in srgb,var(--accent) 58%,transparent);color:#fff}
.cove-cal-days span.h4{background:color-mix(in srgb,var(--accent) 88%,transparent);color:#fff}
.cove-cal-days span.today{
  font-weight:750;
  color:#fff;
  position:relative;
  z-index:0;
  isolation:isolate;
}
.cove-cal-days span.today::before{
  content:"";
  position:absolute;
  width:clamp(13px,10cqi,22px);
  aspect-ratio:1;
  border-radius:50%;
  background:#e0607f;
  box-shadow:0 2px 6px rgba(224,96,127,.45);
  z-index:-1;
}
/* 今天恰好有热力色时，粉圆会盖住色块——换成描边圈 */
.cove-cal-days span.today.h1::before,.cove-cal-days span.today.h2::before,
.cove-cal-days span.today.h3::before,.cove-cal-days span.today.h4::before{display:none}
.cove-cal-days span.today.h1,.cove-cal-days span.today.h2,
.cove-cal-days span.today.h3,.cove-cal-days span.today.h4{
  box-shadow:inset 0 0 0 2px #e0607f;
}
@media(prefers-reduced-motion:reduce){
  .cove-cal-inner{transition:none}
}

/* ---- 大月历面板（轻点小组件弹出），配色跟 cove-sheet 主题变量走 ---- */
.cove-heat-wrap{max-width:520px;margin:0 auto}
.cove-heat-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 16px}
.cove-heat-nav button{width:46px;height:46px;flex:0 0 46px;border:0;border-radius:50%;background:var(--solid-bar);color:var(--accent);font-size:26px;line-height:1}
.cove-heat-title{text-align:center;line-height:1.2}
.cove-heat-title strong{display:block;font:700 21px/1.15 Georgia,serif}
.cove-heat-title span{color:var(--text-dim);font-size:13px;letter-spacing:.06em}
.cove-heat-week,.cove-heat-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}
.cove-heat-week{margin:0 0 9px;font-size:12px;font-weight:650;color:var(--text-dim);text-align:center}
.cove-heat-grid{margin:0 0 16px}
.cove-heat-grid .blank{display:block}
.cove-heat-cell{aspect-ratio:1;border:0;padding:0;border-radius:13px;background:transparent;color:var(--text);display:grid;place-items:center;font:inherit;cursor:pointer}
.cove-heat-cell b{font-size:15px;font-weight:600;opacity:.85}
.cove-heat-cell.h1{background:color-mix(in srgb,var(--accent) 16%,transparent)}
.cove-heat-cell.h2{background:color-mix(in srgb,var(--accent) 34%,transparent)}
.cove-heat-cell.h3{background:color-mix(in srgb,var(--accent) 58%,transparent)}
.cove-heat-cell.h4{background:color-mix(in srgb,var(--accent) 88%,transparent)}
.cove-heat-cell.h3 b,.cove-heat-cell.h4 b{color:#fff;opacity:1}
.cove-heat-cell.now{box-shadow:inset 0 0 0 2px #e0607f}
.cove-heat-info{min-height:22px;text-align:center;color:var(--text);font-size:14px;margin-bottom:14px}
.cove-heat-legend{display:flex;align-items:center;justify-content:center;gap:5px;color:var(--text-dim);font-size:12px;margin-bottom:6px}
.cove-heat-legend i{width:13px;height:13px;border-radius:4px;background:color-mix(in srgb,var(--accent) 10%,transparent)}
.cove-heat-legend i.h1{background:color-mix(in srgb,var(--accent) 16%,transparent)}
.cove-heat-legend i.h2{background:color-mix(in srgb,var(--accent) 34%,transparent)}
.cove-heat-legend i.h3{background:color-mix(in srgb,var(--accent) 58%,transparent)}
.cove-heat-legend i.h4{background:color-mix(in srgb,var(--accent) 88%,transparent)}
.cove-heat-sum{text-align:center;color:var(--text-dim);font-size:12px}
