.task-calendar{min-width:0;color:var(--ink);container-type:inline-size;container-name:task-calendar}.task-calendar .calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 0 17px}.task-calendar .calendar-heading h3{margin:0;font-size:clamp(20px,2.2vw,28px);font-weight:550;letter-spacing:-.05em}.task-calendar .calendar-heading h3>span{color:var(--muted);font-weight:450}.task-calendar .calendar-navigation{display:flex;align-items:center;flex-shrink:0;gap:2px}.task-calendar button{cursor:pointer;border-radius:2px;box-shadow:none}.task-calendar button:focus-visible{position:relative;z-index:1;outline:2px solid var(--green);outline-offset:1px}.task-calendar .calendar-today{min-height:34px;margin-right:8px;padding:0 11px;border:1px solid var(--line);background:transparent;font-size:10px;font-weight:600}.task-calendar .calendar-arrow{display:grid;place-items:center;width:32px;height:34px;border:0;background:transparent}.task-calendar .calendar-arrow:hover:not(:disabled),.task-calendar .calendar-today:hover{background:var(--surface-soft)}.task-calendar .calendar-table{width:100%;table-layout:fixed;border-collapse:collapse;border-top:1px solid var(--line-strong)}.task-calendar .calendar-table th{padding:12px 9px;text-align:left;color:var(--muted);font-size:9px;font-weight:650;letter-spacing:.04em}.task-calendar .calendar-table th:nth-last-child(-n+2){color:var(--muted)}.task-calendar .calendar-table abbr{text-decoration:none;cursor:default}.task-calendar .calendar-day{height:143px;padding:6px 5px 9px;vertical-align:top;border:1px solid var(--line);transition:background-color .16s ease}.task-calendar .calendar-day.is-outside{background:#0d1322}.task-calendar .calendar-day.is-selected{background:var(--lime-soft);box-shadow:inset 0 2px 0 var(--accent)}.task-calendar .calendar-day.is-today .calendar-date-number{color:var(--on-accent);background:var(--green)}.task-calendar .calendar-day-top{display:flex;align-items:center;justify-content:space-between;gap:0;margin-bottom:6px}.task-calendar .calendar-date{display:flex;align-items:center;gap:3px;min-width:30px;min-height:30px;padding:0;border:0;color:var(--ink);background:transparent;font-size:11px;font-weight:550}.task-calendar .calendar-date-number{display:grid;place-items:center;width:28px;height:28px;border-radius:2px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.task-calendar .calendar-date:hover .calendar-date-number{outline:1px solid var(--line-strong);outline-offset:-1px}.task-calendar .calendar-date-month{color:var(--muted);font-size:9px;font-weight:450}.task-calendar .is-outside .calendar-date{color:var(--muted)}.task-calendar .calendar-add{display:grid;place-items:center;flex-shrink:0;width:24px;height:28px;padding:0;border:0;color:var(--muted);background:transparent;opacity:0;transition:opacity .16s,background-color .16s}.task-calendar .calendar-day.is-selected .calendar-add,.task-calendar .calendar-day:focus-within .calendar-add,.task-calendar .calendar-day:hover .calendar-add{opacity:1}.task-calendar .calendar-add:hover{color:var(--green);background:var(--surface-soft)}.task-calendar .calendar-events{display:grid;gap:3px}.task-calendar .calendar-event{display:flex;align-items:center;gap:4px;min-width:0;width:100%;min-height:24px;padding:4px 4px 4px 5px;border:0;border-left:2px solid var(--accent-bright);color:var(--ink-soft);background:var(--accent-soft);font-size:9px;line-height:1.5;text-align:left}.task-calendar .calendar-event:hover{background:#203b75}.task-calendar .calendar-event.is-priority{border-left-color:var(--accent)}.task-calendar .calendar-event.is-complete{border-left-color:var(--line-strong);color:var(--muted);background:#111f32}.task-calendar .calendar-event.is-complete .calendar-event-title{text-decoration:line-through;text-decoration-color:var(--muted-light)}.task-calendar .calendar-event-time{flex-shrink:0;font-size:8px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.task-calendar .calendar-event-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:550}.task-calendar .calendar-event-repeat{flex-shrink:0;margin-left:auto}.task-calendar .calendar-event-check{flex-shrink:0}.task-calendar .calendar-more{justify-self:start;min-height:24px;padding:3px 5px;border:0;color:var(--green);background:transparent;font-size:9px;font-weight:600}.task-calendar .calendar-more:hover{background:var(--surface-soft)}.task-calendar .calendar-mobile-count{display:none}.task-calendar .calendar-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:13px;color:var(--muted);font-size:9px;line-height:1.5}.task-calendar .calendar-caption-desktop{display:inline-flex;align-items:center;gap:5px}@media (hover:none){.task-calendar .calendar-add{opacity:1}}@container task-calendar (max-width: 650px){.task-calendar .calendar-heading{padding-bottom:14px}.task-calendar .calendar-heading h3{font-size:23px}.task-calendar .calendar-table th{padding:11px 3px;text-align:center;font-size:8px}.task-calendar .calendar-day{height:73px;padding:1px}.task-calendar .calendar-day-top{margin:0}.task-calendar .calendar-date{position:relative;flex:1 1;display:grid;justify-items:center;align-content:start;gap:4px;min-width:0;width:100%;min-height:70px;padding:7px 0;font-size:12px}.task-calendar .calendar-date-number{width:28px;height:28px}.task-calendar .calendar-add,.task-calendar .calendar-caption-desktop,.task-calendar .calendar-date-month,.task-calendar .calendar-events{display:none}.task-calendar .calendar-mobile-count{display:flex;align-items:center;justify-content:center;gap:4px;min-height:13px;color:var(--muted);font-size:8px;font-weight:500}.task-calendar .calendar-mobile-count i{display:block;width:4px;height:4px;border-radius:50%;background:var(--accent-bright)}.task-calendar .calendar-mobile-count i.all-complete{background:var(--positive)}.task-calendar .calendar-arrow{width:33px;min-height:40px}.task-calendar .calendar-today{min-height:36px;margin-right:4px}}@container task-calendar (max-width: 320px){.task-calendar .calendar-heading{gap:5px}.task-calendar .calendar-heading h3{font-size:20px}.task-calendar .calendar-navigation{gap:0}.task-calendar .calendar-today{margin-right:0;padding-inline:8px}.task-calendar .calendar-arrow{width:28px}}@media (prefers-reduced-motion:reduce){.task-calendar .calendar-add,.task-calendar .calendar-day{transition:none}}