/* 日历布局规则：从 lulu style.css 提取（只保留 .wnl-/.hl-/.cal- 相关） */
.cal-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap}
.cal-kicker{font-size:11px;letter-spacing:.14em;color:var(--accent);font-weight:700}
.cal-title{font-size:20px;font-weight:700;margin-top:3px;font-variant-numeric:tabular-nums}
.cal-nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.cal-nav select{font-size:12px;padding:6px 8px;border:1px solid var(--btn-line);border-radius:8px;background:var(--card);color:var(--ink)}
.cal-meta{margin:10px 0 12px;font-size:12px;color:var(--ink-2);background:var(--head-bg);border:1px solid var(--line-2);
          border-radius:9px;padding:8px 11px;line-height:1.6}
.cal-weekheads{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:6px}
.cal-weekheads span{text-align:center;font-size:11px;font-weight:700;color:var(--ink-2);padding:3px 0}
.cal-weekheads .we{color:var(--rest-ink,var(--rest));font-weight:800}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.cal-cell{position:relative;min-height:64px;border:1px solid var(--line-2);border-radius:10px;background:var(--flow-item-bg);
          padding:6px 5px;text-align:left;transition:.14s;overflow:hidden}
.cal-cell:hover{border-color:var(--hover-line);background:var(--hover-bg)}
.cal-cell.blank{background:transparent;border-color:transparent;pointer-events:none}
.cal-cell .d{font-size:15px;font-weight:650;font-variant-numeric:tabular-nums;color:var(--ink)}
.cal-cell .badge{position:absolute;top:5px;right:5px;font-size:10px;font-weight:800;line-height:1;
                 padding:3px 4px;border-radius:5px;color:var(--badge-ink);background:var(--rest)}
.cal-cell .nm{display:block;margin-top:6px;font-size:10px;line-height:1.25;color:var(--ink-2);
              overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.cal-cell .cdot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--accent);margin-left:4px;vertical-align:2px}
.cal-cell.rest{background:linear-gradient(180deg,var(--rest-cell),var(--rest-cell-2,var(--rest-cell)));border-color:var(--rest-line);border-left:3px solid var(--rest)}
.cal-cell.rest .d{color:var(--rest-ink);font-weight:700}
.cal-cell.rest .badge{background:var(--rest);color:#0A0F18;font-size:11px;padding:3px 6px;font-weight:900}
.cal-cell.rest .nm{color:var(--rest-ink);font-weight:600}
.cal-cell.holiday{background:var(--holiday-bg);border-color:var(--holiday-line)}
.cal-cell.holiday .badge{background:var(--holiday)}
.cal-cell.work{background:var(--work-bg);border-color:var(--work-line)}
.cal-cell.work .badge{background:var(--work)}
.cal-cell.school{background:var(--school-bg);border-color:var(--school-line)}
.cal-cell.school .badge{background:var(--school)}
.cal-cell.pending::after{content:"";position:absolute;left:5px;right:5px;bottom:0;height:2px;
                         background:repeating-linear-gradient(90deg,var(--pending) 0 4px,transparent 4px 8px)}
.cal-cell.today{outline:2px solid var(--live);outline-offset:-2px}
.cal-cell.today .d{color:var(--live)}
.cal-cell.selected{box-shadow:0 0 0 2px var(--now);border-color:var(--now)}
.cal-cell.edit{cursor:pointer}
.cal-legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:12px;font-size:11.5px;color:var(--ink-2)}
.cal-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px}
.cal-detail{margin-top:14px;border-top:1px solid var(--line-2);padding-top:12px;min-height:64px}
/* 编辑面板 */
.cal-editor{margin-top:14px;border:1px dashed var(--editor-line);border-radius:12px;background:var(--sub-bg);padding:12px}
.cal-grid{gap:4px}
.cal-weekheads{gap:4px}
.cal-cell{min-height:56px;padding:5px 4px;border-radius:8px}
.cal-cell .d{font-size:13px}
.cal-cell .badge{font-size:9px;top:4px;right:3px;padding:2px 3px}
.cal-cell .nm{font-size:9px;margin-top:5px}
.cal-title{font-size:17px}
.cal-nav{gap:5px}
.cal-nav .ghost{padding:6px 8px;font-size:11px}
.demo,.viewbar,.cal-editor,.cal-nav,.todayflow,.tools{display:none!important}
.cal-cell.now{overflow:visible}
html[data-theme="light"] .cal-cell.rest .badge{color:#fff}
html[data-theme="light"] .cal-cell .badge{color:#fff}
:root[data-theme="star"] .tablewrap,
:root[data-theme="star"] .status,
:root[data-theme="star"] .calendar,
:root[data-theme="star"] .foot,
:root[data-theme="star"] .cal-cell,
:root[data-theme="star"] .flow-item,
:root[data-theme="star"] .todayflow{
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  box-shadow:0 8px 34px rgba(0,6,26,.48),inset 0 1px 0 rgba(150,195,255,.07)}
/* 主题切换的平滑过渡 */
body,.tablewrap,.status,.calendar,.foot,.cal-cell,.flow-item,.todayflow,
.wx-card,.wx-panel,.wx-astro,.wx-chip,.ghost,.theme-toggle,td.cell,th,td{
  transition:background-color .8s ease,color .8s ease,border-color .8s ease,box-shadow .8s ease}
