.dph-heatmap {
    --dph-cell: 20px;          /* 每个方块的边长，调大这里即可让方格更大 */
    display: inline-block;
    max-width: 100%;
    overflow-x: auto;
    padding: 4px 0;
}
.dph-grid {
    display: grid;
    grid-template-rows: repeat(7, var(--dph-cell));
    grid-auto-flow: column;
    grid-auto-columns: var(--dph-cell);
    gap: 4px;
    justify-content: start;
}
.dph-cell {
    width: var(--dph-cell);
    height: var(--dph-cell);
    border-radius: 3px;
    display: block;
    position: relative;        /* 让 1 号小三角能居中定位 */
    cursor: pointer;
    transition: transform .1s, box-shadow .1s;
    background: #ebedf0;
}
.dph-cell:hover {
    transform: scale(1.2);
    box-shadow: 0 0 0 2px rgba(0,0,0,0.08);
    z-index: 1;
}
.dph-cell.dph-empty {
    background: transparent !important;
    cursor: default;
    pointer-events: none;
}
/* 今天：外面套一圈不显眼的虚线方块，不写文字 */
.dph-cell.dph-today {
    outline: 1px dashed #9a9a9a;
    outline-offset: 2px;
}
/* 每月 1 号：方块正中间一个小三角 */
.dph-first {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -60%);
    width: 0;
    height: 0;
    border-left: 3px solid transparent;
    border-right: 3px solid transparent;
    border-bottom: 5px solid rgba(0,0,0,0.55);
    pointer-events: none;
}
/* 底部月份标签：均匀排布（最多就是上/本/下三个月） */
.dph-months {
    display: flex;
    justify-content: space-around;
    margin-top: 8px;
    color: #8a8f8c;
    font-size: 12px;
    line-height: 1;
    white-space: nowrap;
}
.dph-month {
    overflow: visible;
}

/* 后台区块编辑时的占位提示 */
.dph-block-edit {
    border: 1px dashed #c7ccc9; border-radius: 8px; padding: 14px; background: #fafbfa;
}
.dph-block-edit label { margin-left: 6px; }
.dph-block-edit input { width: 90px; padding: 4px 8px; }
