body.rose-calendar-page .rose-calendar-main{padding-top:40px;padding-bottom:70px}
.rose-calendar-intro{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:50px;align-items:center;margin-bottom:42px}
.rose-calendar-intro h1{font-size:55px;line-height:1.3;font-weight:400;letter-spacing:-.015em;margin:10px 0 15px}
.rose-calendar-intro header>p{font-size:21px;line-height:1.8;color:var(--rose-muted);margin:0}
.rose-calendar-today{border-block:1px solid var(--rose-line);padding-block:17px;min-width:0}
.rose-calendar-today h2{font-size:18px;font-weight:400;line-height:1.5;color:var(--rose-accent);display:flex;align-items:center;gap:10px;margin:0 0 10px}
.rose-calendar-today h2 i{height:6px;width:6px;border-radius:50%;background:var(--rose-accent);box-shadow:0 0 0 4px var(--rose-tint)}
.rose-calendar-today .entry-stack{margin:0}.rose-calendar-today-content{display:grid;gap:7px}.rose-calendar-today-content strong{font-size:26px;font-weight:400;line-height:1.5;overflow-wrap:anywhere}.rose-calendar-today-content>span{font-size:18px;color:var(--rose-muted)}
.rose-calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,330px);gap:30px;align-items:start;min-width:0}
.rose-month-panel{min-width:0;border:1px solid var(--rose-line);border-radius:8px;background:var(--rose-surface);padding:24px;scroll-margin-top:24px}
body.rose-calendar-page .calendar-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}
body.rose-calendar-page .month-title{font-size:42px;line-height:1.4;font-weight:400;letter-spacing:-.01em;margin:0;color:var(--rose-ink)}
body.rose-calendar-page .head-actions{display:flex;flex-wrap:wrap;gap:7px}
body.rose-calendar-page .head-btn{min-height:43px;padding:7px 13px;font-size:18px;line-height:1.5;font-weight:400;border:1px solid var(--rose-line);border-radius:4px;background:var(--rose-bg);color:var(--rose-ink);box-shadow:none;transition:background .2s,border-color .2s,transform .2s}
body.rose-calendar-page .head-btn:hover{background:var(--rose-tint);border-color:var(--rose-accent);transform:translateY(-2px)}
body.rose-calendar-page #todayMonth{background:var(--rose-accent);border-color:var(--rose-accent);color:var(--rose-bg)}
.rose-calendar-legend{display:flex;flex-wrap:wrap;gap:9px 18px;margin-bottom:19px;color:var(--rose-muted);font-size:16px}
.rose-calendar-legend>span{display:flex;align-items:center;gap:8px}
body.rose-calendar-page .marker{display:inline-block;flex-shrink:0;width:6px;height:6px;margin:0;border-radius:50%;background:var(--rose-accent);box-shadow:none}
body.rose-calendar-page .marker.diary{background:transparent;border:1px solid var(--rose-accent)}
body.rose-calendar-page .marker.special{border-radius:1px;rotate:45deg;background:var(--rose-muted)}
body.rose-calendar-page .calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;min-width:0}
body.rose-calendar-page .dow{text-align:center;font-size:18px;font-weight:400;padding:4px 0 11px;color:var(--rose-muted)}
body.rose-calendar-page .dow:first-child{color:var(--rose-accent)}
body.rose-calendar-page .day-cell{aspect-ratio:auto;min-width:0;min-height:112px;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:9px;padding:11px 9px;border:1px solid var(--rose-line)!important;border-radius:5px;background:var(--rose-surface)!important;color:var(--rose-ink);box-shadow:none;opacity:1;text-align:left;transition:background .2s,border-color .2s,transform .2s}
body.rose-calendar-page .day-cell:hover{border-color:var(--rose-accent)!important;background:var(--rose-tint)!important;transform:translateY(-2px)}
body.rose-calendar-page .day-top{display:flex;align-items:center;justify-content:space-between;gap:3px;min-width:0}
body.rose-calendar-page .day-num{font-size:25px;line-height:1.2;font-weight:400;color:var(--rose-ink)}
body.rose-calendar-page .marker-wrap{display:flex;align-items:center;flex-wrap:wrap;gap:3px;min-height:6px}
body.rose-calendar-page .day-snippet{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;white-space:normal;overflow-wrap:anywhere;word-break:keep-all;font-size:17px;line-height:1.55;color:var(--rose-muted)}
body.rose-calendar-page .day-cell.muted{background:var(--rose-soft)!important}.rose-calendar-page .day-cell.muted .day-num{color:var(--rose-muted)}
body.rose-calendar-page .day-cell.today{border:2px solid var(--rose-accent)!important;animation:roseCalendarToday 3s ease-in-out infinite}
body.rose-calendar-page .day-cell.selected{background:var(--rose-accent)!important;border-color:var(--rose-accent)!important;color:var(--rose-bg);animation:none}
body.rose-calendar-page .day-cell.selected :is(.day-num,.day-snippet){color:var(--rose-bg)}
body.rose-calendar-page .day-cell.selected .marker{background:var(--rose-bg)}body.rose-calendar-page .day-cell.selected .marker.diary{background:transparent;border-color:var(--rose-bg)}
.rose-calendar-hint{font-size:17px;color:var(--rose-muted);line-height:1.7;margin:20px 0 0}
.rose-calendar-detail{position:sticky;top:24px;min-width:0;max-height:calc(100dvh - 48px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--rose-pink) transparent;padding-right:4px;scroll-margin-top:24px}
body.rose-calendar-page .rose-calendar-detail .side-title{font-size:31px;font-weight:400;line-height:1.5;color:var(--rose-ink);margin:10px 0 6px;letter-spacing:-.01em}
body.rose-calendar-page .selected-date{color:var(--rose-muted);font-size:18px;line-height:1.7;margin-bottom:22px}
.rose-calendar-back{display:none;font-size:18px;color:var(--rose-accent);padding:7px 0;margin-bottom:17px}
body.rose-calendar-page .entry-stack{display:grid;gap:16px;min-width:0}
body.rose-calendar-page .entry-card{min-width:0;margin:0;padding:22px;border:1px solid var(--rose-line)!important;border-radius:7px;background:var(--rose-surface)!important;color:var(--rose-ink)!important;box-shadow:none}
body.rose-calendar-page .entry-kind{font-size:17px;font-weight:400;color:var(--rose-accent);margin:0 0 8px}
body.rose-calendar-page .entry-title{font-size:27px;line-height:1.5;font-weight:400;color:var(--rose-ink);overflow-wrap:anywhere;word-break:keep-all;margin:6px 0 12px}
body.rose-calendar-page .entry-meta{font-size:18px;color:var(--rose-muted);line-height:1.7;margin-bottom:10px}
body.rose-calendar-page .entry-text{font-size:21px;line-height:1.85;white-space:pre-line;overflow-wrap:anywhere;word-break:keep-all;color:var(--rose-ink)}
body.rose-calendar-page .category-badge{display:inline-flex;border:1px solid var(--rose-line);border-radius:30px;background:var(--rose-tint)!important;color:var(--rose-accent)!important;font-size:16px;font-weight:400;padding:3px 11px;margin:0 0 9px;box-shadow:none}
body.rose-calendar-page .notion-entry-note{background:var(--rose-tint);border:1px solid var(--rose-line);border-radius:5px;padding:15px;margin-top:16px}
body.rose-calendar-page .entry-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
body.rose-calendar-page .small-btn{border:1px solid var(--rose-line);border-radius:25px;background:var(--rose-bg);color:var(--rose-accent);font-size:18px;font-weight:400;min-height:44px;padding:8px 13px;box-shadow:none}
body.rose-calendar-page .diary-picture{margin-top:20px!important}body.rose-calendar-page .diary-picture img{display:block;max-width:100%;height:auto}
body.rose-calendar-page .mini-player{aspect-ratio:16/9;min-width:0;width:100%;overflow:hidden;border:1px solid var(--rose-line);border-radius:5px}body.rose-calendar-page .mini-player iframe{width:100%;height:100%;border:0}
@keyframes roseCalendarToday{0%,100%{box-shadow:0 0 0 0 transparent}50%{box-shadow:0 0 0 3px var(--rose-tint)}}
@media(max-width:1120px){.rose-calendar-layout{grid-template-columns:minmax(0,1fr) 295px;gap:24px}.rose-month-panel{padding:19px}body.rose-calendar-page .calendar-head{flex-wrap:wrap;gap:12px}body.rose-calendar-page .day-cell{min-height:105px;padding:10px 7px}body.rose-calendar-page .day-snippet{font-size:16px}}
@media(max-width:1000px){.rose-calendar-layout{grid-template-columns:minmax(0,1fr);gap:32px}.rose-calendar-detail{position:static;max-height:none;overflow:visible;padding:0}.rose-calendar-back{display:inline-flex}.rose-calendar-intro{gap:30px}body.rose-calendar-page .calendar-head{flex-wrap:nowrap}body.rose-calendar-page .day-cell{min-height:116px;padding:12px 10px}body.rose-calendar-page .day-snippet{font-size:18px}}
@media(max-width:700px){body.rose-calendar-page .rose-calendar-main{padding-top:30px;padding-bottom:45px}.rose-calendar-intro{grid-template-columns:minmax(0,1fr);gap:28px;margin-bottom:30px}.rose-calendar-intro h1{font-size:45px;margin-bottom:12px}.rose-calendar-intro header>p{font-size:20px}.rose-calendar-today{padding-block:17px}.rose-calendar-today-content strong{font-size:25px}.rose-month-panel{padding:18px}body.rose-calendar-page .month-title{font-size:38px}body.rose-calendar-page .calendar-head{flex-wrap:wrap;gap:15px;margin-bottom:19px}body.rose-calendar-page .head-actions{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}body.rose-calendar-page .head-btn{font-size:19px;min-height:45px;padding:7px 10px}.rose-calendar-legend{font-size:16px;gap:10px 15px;margin-bottom:17px}body.rose-calendar-page .calendar-grid{gap:5px}body.rose-calendar-page .day-cell{min-height:68px;padding:8px 4px;gap:5px}body.rose-calendar-page .day-snippet{display:none}body.rose-calendar-page .day-top{flex-direction:column;gap:7px}body.rose-calendar-page .day-num{font-size:25px}body.rose-calendar-page .marker-wrap{justify-content:center;gap:3px;min-height:7px}body.rose-calendar-page .dow{font-size:18px;padding-bottom:8px}.rose-calendar-hint{font-size:17px;margin-top:16px}body.rose-calendar-page .entry-card{padding:22px}body.rose-calendar-page .entry-title{font-size:29px}body.rose-calendar-page .entry-text{font-size:22px;line-height:1.85}.rose-calendar-layout{gap:29px}.rose-calendar-detail{border-top:1px solid var(--rose-line);padding-top:25px}body.rose-calendar-page .rose-calendar-detail .side-title{font-size:33px}.rose-calendar-back{font-size:19px}.rose-calendar-today h2{font-size:19px}}
@media(max-width:360px){.rose-month-panel{padding:13px}body.rose-calendar-page .calendar-grid{gap:4px}body.rose-calendar-page .day-cell{min-height:59px;padding:6px 3px}body.rose-calendar-page .day-num{font-size:23px}.rose-calendar-intro h1{font-size:42px}body.rose-calendar-page .month-title{font-size:35px}.rose-calendar-legend{font-size:15px;gap:9px 12px}body.rose-calendar-page .entry-card{padding:19px}body.rose-calendar-page .entry-text{font-size:21px}}
@media(prefers-reduced-motion:reduce){body.rose-calendar-page .day-cell.today{animation:none}}
