.content-calendar{--calendar-accent: #9e245f;--calendar-violet: #784087;--calendar-line: color-mix(in srgb, var(--color-text) 11%, transparent);--calendar-wash: color-mix(in srgb, var(--calendar-violet) 5%, var(--color-surface));--calendar-muted: var(--color-muted, #606873);padding-top:2.1rem;padding-bottom:3.5rem;color:var(--color-text)}.content-calendar .calendar-intro{display:flex;align-items:center;gap:1.15rem;margin-bottom:1.65rem}.content-calendar .calendar-intro>div:nth-child(2){flex:1;min-width:0}.content-calendar .calendar-intro-icon{display:grid;place-items:center;width:4rem;height:4rem;flex-shrink:0;border-radius:1.2rem;color:var(--calendar-accent);background:linear-gradient(145deg,color-mix(in srgb,var(--calendar-accent) 10%,var(--color-surface)),color-mix(in srgb,var(--calendar-violet) 8%,var(--color-surface)));box-shadow:0 7px 20px #7d295512}.content-calendar .calendar-intro-icon svg{width:2rem;height:2rem}.content-calendar .calendar-eyebrow{margin:0 0 .2rem;color:var(--calendar-accent);font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.content-calendar h1{margin:0;font-size:clamp(1.6rem,2.6vw,2.15rem);line-height:1.2;letter-spacing:-.035em}.content-calendar .calendar-description{margin:.45rem 0 0;color:var(--calendar-muted);font-size:.93rem}.content-calendar .calendar-legend{margin-left:auto;display:flex;align-items:center;gap:.5rem;color:var(--calendar-muted);font-size:.75rem;white-space:nowrap}.content-calendar .calendar-legend-dot{width:.5rem;height:.5rem;background:linear-gradient(135deg,var(--calendar-accent),var(--calendar-violet));border-radius:50%}.content-calendar .calendar-board{background:var(--color-surface);border:1px solid var(--calendar-line);border-radius:1.15rem;box-shadow:0 15px 45px #622d5410,0 2px 8px #391c3210}.content-calendar .calendar-sticky{position:sticky;top:var(--calendar-sticky-top, 0px);z-index:15;background:var(--color-surface);border-radius:1.1rem 1.1rem 0 0;box-shadow:0 6px 16px #51243a0b}.content-calendar .calendar-toolbar{min-height:5.3rem;padding:1rem 1.3rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.content-calendar .calendar-toolbar-kicker{color:var(--calendar-muted);font-size:.65rem;letter-spacing:.08em;text-transform:uppercase}.content-calendar .calendar-toolbar-title p{margin:.18rem 0 0;font-size:1.3rem;font-weight:700;line-height:1.2;letter-spacing:-.025em}.content-calendar .calendar-controls{display:flex;gap:.4rem;align-items:center}.content-calendar .calendar-controls button,.content-calendar .calendar-month-picker input{font:inherit;font-size:.8rem;border:1px solid var(--calendar-line);background:var(--color-surface);border-radius:.6rem;color:var(--color-text);height:2.3rem;cursor:pointer}.content-calendar .calendar-controls button:hover,.content-calendar .calendar-month-picker input:hover{background:var(--calendar-wash);border-color:color-mix(in srgb,var(--calendar-accent) 35%,transparent)}.content-calendar .calendar-today-button{padding:0 .85rem;font-weight:700!important}.content-calendar .calendar-month-picker input{max-width:10rem;padding:0 .55rem}.content-calendar .calendar-arrow{display:grid;place-items:center;width:2.3rem;padding:0}.content-calendar .calendar-arrow svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.content-calendar .calendar-weekday-viewport{overflow:hidden}.content-calendar .calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-width:770px;background:var(--calendar-wash);border-block:1px solid var(--calendar-line)}.content-calendar .calendar-weekdays span{padding:.7rem .5rem;text-align:center;color:var(--calendar-muted);font-size:.74rem;font-weight:700}.content-calendar .calendar-weekdays span:first-child,.content-calendar .calendar-weekdays span:last-child{color:var(--calendar-violet)}.content-calendar abbr{text-decoration:none}.content-calendar .calendar-months-viewport{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--calendar-violet) 40%,transparent) transparent}.content-calendar .calendar-months{min-width:770px}.content-calendar .calendar-month-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:1.2rem 1.3rem .85rem;background:var(--color-surface)}.content-calendar .calendar-month-heading h2{margin:0;font-size:.95rem;line-height:1.25;letter-spacing:-.015em}.content-calendar .calendar-month-heading>span{color:var(--calendar-muted);font-size:.7rem}.content-calendar .calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--calendar-line)}.content-calendar .calendar-day{min-height:145px;padding:.55rem .45rem .7rem;border-bottom:1px solid var(--calendar-line);border-right:1px solid var(--calendar-line);min-width:0}.content-calendar .calendar-day:nth-child(7n){border-right:0}.content-calendar .calendar-day:nth-child(7n+1),.content-calendar .calendar-day:nth-child(7n){background:color-mix(in srgb,var(--calendar-violet) 2%,var(--color-surface))}.content-calendar .calendar-day.is-outside{background:var(--calendar-wash)}.content-calendar .calendar-day.is-today{background:color-mix(in srgb,var(--calendar-accent) 4%,var(--color-surface));box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--calendar-accent) 45%,transparent)}.content-calendar .calendar-day-heading{display:flex;align-items:center;gap:.4rem;margin:0 .2rem .45rem}.content-calendar .calendar-day-heading time{display:grid;place-items:center;min-width:1.6rem;height:1.6rem;color:var(--calendar-muted);font-size:.8rem;font-weight:500}.content-calendar .has-content .calendar-day-heading time{font-weight:700;color:var(--color-text)}.content-calendar .is-today .calendar-day-heading time{border-radius:50%;background:var(--calendar-accent);color:#fff}.content-calendar .calendar-day-heading>span{font-size:.62rem;color:var(--calendar-accent);font-weight:700}.content-calendar .calendar-day-entries{display:flex;flex-direction:column;gap:.4rem;max-height:25rem;overflow-y:auto;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--calendar-violet) 40%,transparent) transparent}.content-calendar a.calendar-entry{display:flex;flex-shrink:0;gap:.45rem;align-items:flex-start;padding:.5rem;border-radius:.55rem;background:var(--color-surface);border:1px solid var(--calendar-line);color:var(--color-text);text-decoration:none;box-shadow:0 2px 5px #401b3310;transition:box-shadow .18s,border-color .18s,transform .18s}.content-calendar a.calendar-entry:hover{color:var(--color-text);border-color:color-mix(in srgb,var(--calendar-violet) 45%,transparent);box-shadow:0 5px 12px #60264e20;transform:translateY(-2px)}.content-calendar .calendar-entry img{width:2rem;height:2.5rem;object-fit:cover;border-radius:.3rem;flex-shrink:0}.content-calendar .calendar-entry-text{display:block;min-width:0;overflow-wrap:anywhere}.content-calendar .calendar-entry-type{display:block;margin-bottom:.22rem;color:var(--calendar-muted);font-size:.58rem;font-weight:500;line-height:1.2}.content-calendar .calendar-entry-title{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:.72rem;line-height:1.35;font-weight:500}.content-calendar a.calendar-entry.is-event{border-color:color-mix(in srgb,var(--calendar-accent) 32%,transparent);border-left:3px solid var(--calendar-accent);background:linear-gradient(135deg,color-mix(in srgb,var(--calendar-accent) 9%,var(--color-surface)),color-mix(in srgb,var(--calendar-violet) 7%,var(--color-surface)));padding-block:.65rem;box-shadow:0 4px 10px #90245f14}.content-calendar .is-event .calendar-entry-type{color:var(--calendar-accent);font-weight:700}.content-calendar .is-event .calendar-entry-title{font-weight:700;font-size:.76rem;-webkit-line-clamp:4}.content-calendar .calendar-load-state{padding:1.3rem;text-align:center}.content-calendar .calendar-load-state p{margin:0 0 .65rem;color:var(--calendar-muted);font-size:.8rem}.content-calendar .calendar-load-state button{font:inherit;font-size:.8rem;color:var(--calendar-accent);background:var(--calendar-wash);padding:.6rem 1rem;border:1px solid var(--calendar-line);border-radius:.6rem;cursor:pointer}.content-calendar .calendar-load-state button:disabled{cursor:wait;opacity:.6}.content-calendar .calendar-load-state button[hidden]{display:none}.content-calendar :is(button,a,input):focus-visible,.content-calendar .calendar-months-viewport:focus-visible{outline:2px solid var(--calendar-accent);outline-offset:3px}.content-calendar .calendar-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.content-calendar .calendar-mobile-hint{display:none}.content-calendar .calendar-no-script{color:var(--calendar-muted);font-size:.85rem}html.dark-mode .content-calendar{--calendar-accent: #f08cba;--calendar-violet: #bd9be1;--calendar-muted: #bfc8d5}html.dark-mode .content-calendar .calendar-month-picker input{color-scheme:dark}html.dark-mode .content-calendar .is-today .calendar-day-heading time{color:#28172b}@media(min-width:1450px){.content-calendar .calendar-day{min-height:155px}}@media(max-width:800px){.content-calendar{padding-top:1.5rem}.content-calendar .calendar-intro{flex-wrap:wrap;gap:.85rem}.content-calendar .calendar-intro-icon{width:3rem;height:3rem;border-radius:.9rem}.content-calendar .calendar-description{font-size:.8rem}.content-calendar .calendar-legend{margin-left:3.85rem;flex-basis:calc(100% - 3.85rem);font-size:.7rem}.content-calendar .calendar-toolbar{flex-wrap:wrap;gap:.7rem;padding:.8rem;min-height:0}.content-calendar .calendar-toolbar-title p{font-size:1.08rem}.content-calendar .calendar-controls{margin-left:auto;gap:.3rem}.content-calendar .calendar-month-picker input{width:8rem;max-width:8rem}.content-calendar .calendar-toolbar-kicker{display:none}.content-calendar .calendar-mobile-hint{display:block;margin:0;padding:.6rem .8rem;color:var(--calendar-muted);font-size:.67rem;background:var(--calendar-wash)}.content-calendar .calendar-day{min-height:120px}.content-calendar .calendar-entry{flex-direction:column}.content-calendar .calendar-entry img{width:100%;height:3rem}}@media(prefers-reduced-motion:reduce){.content-calendar a.calendar-entry{transition:none}.content-calendar a.calendar-entry:hover{transform:none}}
