.ph-heatmap-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;}
.ph-heatmap-title{font-size:18px;font-weight:600;margin:0;}
.ph-heatmap-year-selector{font-size:14px;}
.ph-year-select{padding:4px 8px;border:1px solid #ddd;border-radius:4px;cursor:pointer;transition:border-color 0.2s;}
.ph-year-select:focus{outline:none;}
.ph-heatmap{display:flex;align-items:flex-start;gap:8px;}
.ph-heatmap-weekdays{display:flex;flex-direction:column;gap:2px;margin-top:18px;margin-right:2px;}
.ph-heatmap-weekday{width:13px;height:13px;font-size:10px;text-align:center;line-height:13px;}
.ph-heatmap-main{position:relative;}
.ph-heatmap-months{position:absolute;top:0;left:0;display:flex;gap:1px;width:100%;}
.ph-heatmap-month{position:absolute;font-size:12px;font-weight:600;transform:translateX(-50%);}
.ph-heatmap-grid{display:grid !important;grid-template-rows:repeat(7, 13px) !important;gap:2px !important;}
.ph-heatmap-cell{width:13px;height:13px;border-radius:2px;background-color:#ebedf0;cursor:pointer;transition:background-color 0.2s;}
.ph-heatmap-cell.level-1{background-color:#c6e48b;}
.ph-heatmap-cell.level-2{background-color:#7bc96f;}
.ph-heatmap-cell.level-3{background-color:#239a3b;}
.ph-heatmap-cell.level-4{background-color:#196127;}
.ph-heatmap-legend-color.level-0{background-color:#ebedf0;}
.ph-heatmap-legend-color.level-1{background-color:#c6e48b;}
.ph-heatmap-legend-color.level-2{background-color:#7bc96f;}
.ph-heatmap-legend-color.level-3{background-color:#239a3b;}
.ph-heatmap-legend-color.level-4{background-color:#196127;}
.ph-heatmap-tooltip{position:absolute;padding:8px 10px;background:#24292e;color:#fff;font-size:12px;border-radius:4px;pointer-events:none;opacity:0;transition:opacity 0.2s;z-index:9999;white-space:nowrap;}
.ph-heatmap-year-column{display:flex;align-items:center;margin-left:10px;}
.ph-heatmap-year-label{font-size:18px;font-weight:600;white-space:nowrap;writing-mode:vertical-lr;text-orientation:unset;line-height:1;margin-left:3px;margin-top:8px;}
.ph-heatmap-legend{display:flex;align-items:center;gap:8px;font-size:11px;padding-bottom:5px;}
.ph-heatmap-legend-colors{display:flex;gap:2px;}
.ph-heatmap-legend-color{width:13px;height:13px;border-radius:2px;}
.ph-heatmap-container .ph-heatmap{min-height:135px;}
.ph-heatmap-right-info{display:flex;align-items:flex-start;gap:15px;padding:10px 0;}
.ph-heatmap-stats-card{min-width:200px;font-size:14px;display:flex;}
.ph-stats-title{font-size:16px;font-weight:600;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid #e1e4e8;}
.ph-stats-item{display:flex;justify-content:space-between;margin:6px 0;line-height:1.5;}
@media(max-width:992px){
.ph-heatmap-right-info{gap:12px;}
.ph-heatmap-year-label{font-size:16px;}
.ph-heatmap-stats-card{min-width:200px;}
.ph-stats-item{justify-content:normal;}
}
@media(max-width:768px){ .ph-heatmap{gap:5px;}
.ph-heatmap-weekdays{margin-top:18px;width:12px;}
.ph-heatmap-stats-card{width:100%;}
.ph-heatmap-title{font-size:16px;}
.ph-stats-item{justify-content:normal;flex-wrap:wrap;}
.ph-heatmap-right-info{width:100%;}
} .ph-stats-base{flex-shrink:0;}
.ph-stats-rhythm{flex-shrink:0;padding-left:8px;}
.ph-stats-category{flex:1;min-width:180px;padding-left:8px;}
.ph-stats-item{display:flex;justify-content:space-between;margin:6px 0;line-height:1.5;}
.rhythm-item{display:flex;align-items:center;margin:6px 0;line-height:1.5;}
.category-item{display:flex;align-items:center;margin:6px 0;line-height:1.5;}
.category-label{width:40px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.category-bar{flex:1;height:8px;background:#ebedf0;border-radius:4px;}
.bar-fill{height:100%;background:#7bc96f;border-radius:4px;transition:width 0.3s ease;}
.category-percent {
width: 40px;
text-align: right;
font-size: 12px;
}