.calendar-group{content-visibility:auto;contain-intrinsic-size:auto 640px}.calendar-group-head{top:var(--app-header-h,0px);z-index:2;padding:14px 2px var(--sp-2);background:var(--background);justify-content:space-between;align-items:flex-end;gap:10px;display:flex;position:sticky}.calendar-group-head h2{font-size:var(--fs-body);font-weight:var(--fw-bold);margin:0}.calendar-group-head span{color:var(--muted-foreground);font-size:var(--fs-caption);font-weight:var(--fw-medium)}.calendar-group-head[data-day] h2{font-size:var(--fs-caption)}.calendar-group-head[data-today] h2{color:var(--ink);font-weight:var(--fw-bold)}.calendar-rows{gap:var(--sp-2);margin:0;padding:0;list-style:none;display:grid}.calendar-row{gap:var(--sp-1) var(--sp-4);min-height:76px;padding:var(--sp-3) var(--sp-4);border-radius:var(--r-tile);background:var(--card);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid;position:relative}.calendar-row[data-dated]{grid-template-columns:56px minmax(0,1fr) auto}.calendar-date{width:56px;min-height:56px;padding:var(--sp-1) 2px;border-radius:var(--r-ctl);background:var(--background);text-align:center;flex-direction:column;justify-content:center;align-items:center;line-height:1;display:flex}.calendar-date b{font-size:var(--fs-h2);font-weight:var(--fw-black);font-variant-numeric:tabular-nums}.calendar-date[data-span] b{font-size:var(--fs-ui)}.calendar-date i{color:var(--muted-foreground);font-size:var(--fs-micro);font-style:normal;font-weight:var(--fw-semibold);margin-top:2px}.calendar-date i:not([data-months]){white-space:nowrap}.calendar-date[data-today]{box-shadow:inset 0 0 0 2px var(--ink)}.calendar-main{gap:var(--sp-1);min-width:0;display:grid}.calendar-listing{color:var(--muted-foreground);font-size:var(--fs-micro);letter-spacing:.06em;text-transform:uppercase;font-weight:600}.calendar-name{color:var(--foreground);font-size:var(--fs-lead);font-weight:var(--fw-semibold);overflow-wrap:anywhere;justify-self:start;line-height:1.25}.calendar-name:hover{text-underline-offset:3px;text-decoration:underline}.calendar-name:after{content:"";border-radius:var(--r-tile);position:absolute;inset:0}.calendar-name:focus-visible{outline:none}.calendar-name:focus-visible:after{outline:3px solid var(--ring);outline-offset:-3px}.calendar-row[data-status=CANCELLED] .calendar-name{color:var(--muted-foreground)}.calendar-meta{color:var(--muted-foreground);font-size:var(--fs-caption);overflow-wrap:anywhere;line-height:1.45}.calendar-tags{gap:var(--sp-1-5);margin-top:var(--sp-1);flex-wrap:wrap;display:flex}.calendar-tags span{min-height:24px;padding:0 var(--sp-2);border:1px solid var(--border);background:var(--secondary);color:var(--muted-foreground);font-size:var(--fs-micro);border-radius:6px;align-items:center;font-weight:600;display:inline-flex}.calendar-side{z-index:1;justify-items:end;gap:var(--sp-2);display:grid;position:relative}.calendar-actions{justify-content:flex-end;gap:var(--sp-1-5);flex-wrap:wrap;display:flex}.calendar-link{align-items:center;gap:var(--sp-1);border:1px solid var(--border);background:var(--card);min-height:44px;color:var(--primary);font-size:var(--fs-caption);white-space:nowrap;border-radius:10px;padding:0 14px;font-weight:600;display:inline-flex}.calendar-link[data-tone=live]{border-color:var(--live);color:var(--live-ink)}@media (max-width:599px){.calendar-row,.calendar-row[data-dated]{gap:10px var(--sp-3);grid-template-columns:48px minmax(0,1fr)}.calendar-row:not([data-dated]){grid-template-columns:minmax(0,1fr)}.calendar-date{width:48px;min-height:48px}.calendar-date b{font-size:19px}.calendar-name{font-size:var(--fs-body)}.calendar-side{flex-wrap:wrap;grid-column:-2/-1;justify-content:space-between;align-items:center;display:flex}.calendar-row:not([data-dated]) .calendar-side{grid-column:1}}.calendar-month{gap:var(--sp-6);margin-top:var(--sp-3);grid-template-columns:minmax(0,1fr) 340px;align-items:start;display:grid}.calendar-grid-root{min-width:0}.calendar-grid{border-collapse:collapse;table-layout:fixed;border:1px solid var(--border);background:var(--card);border-radius:14px;width:100%}.calendar-grid-weekday{padding:var(--sp-2) 10px;border-bottom:1px solid var(--border);color:var(--muted-foreground);font-size:var(--fs-micro);text-align:left;font-weight:600}.calendar-grid-day{border:1px solid var(--border);vertical-align:top;height:104px;padding:0}.calendar-day{gap:var(--sp-1);width:100%;height:100%;min-height:44px;padding:var(--sp-1-5);color:var(--foreground);text-align:left;background:0 0;flex-direction:column;display:flex}.calendar-day:hover{background:var(--accent)}.calendar-day:focus-visible{outline:3px solid var(--ring);outline-offset:-3px}.calendar-grid-outside .calendar-day{background:var(--secondary);color:var(--muted-foreground)}.calendar-day-number{width:26px;height:26px;font-size:var(--fs-caption);border-radius:50%;place-items:center;font-weight:600;display:grid}.calendar-grid-today .calendar-day-number{box-shadow:inset 0 0 0 2px var(--ink);color:var(--ink);font-weight:var(--fw-bold)}.calendar-grid-selected .calendar-day{box-shadow:inset 0 0 0 2px var(--primary)}.calendar-day-events{gap:3px;width:100%;min-width:0;display:grid}.calendar-day-event{padding:2px var(--sp-1-5);border-left:3px solid var(--primary);background:var(--accent);font-size:var(--fs-micro);text-overflow:ellipsis;white-space:nowrap;border-radius:5px;font-weight:600;line-height:1.3;overflow:hidden}.calendar-day-event[data-continues]{border-left-style:dotted;border-radius:0 5px 5px 0}.calendar-day-event[data-status=LIVE]{border-left-color:var(--live)}.calendar-day-event[data-status=CANCELLED]{color:var(--muted-foreground);text-decoration:line-through}.calendar-day-more{color:var(--muted-foreground);font-size:var(--fs-micro)}.calendar-day-dots{gap:3px;height:6px;display:none}.calendar-day-dots i{background:var(--primary);border-radius:50%;width:6px;height:6px}.calendar-day-dots i[data-status=LIVE]{background:var(--live)}.calendar-month-side h2{margin:0 0 var(--sp-1);font-size:var(--fs-h3)}.calendar-month-hint{color:var(--muted-foreground);font-size:var(--fs-body)}@media (max-width:959px){.calendar-month{grid-template-columns:minmax(0,1fr)}.calendar-grid-day{height:52px}.calendar-grid-weekday{padding:var(--sp-1-5) 0;text-align:center}.calendar-day{justify-content:center;align-items:center;gap:3px;padding:2px}.calendar-day-events{display:none}.calendar-day-dots{display:flex}}.calendar-day-panel .calendar-row{grid-template-columns:minmax(0,1fr)}.calendar-day-panel .calendar-side{flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.calendar-follow{justify-content:center;align-items:center;gap:var(--sp-1-5);min-width:44px;min-height:44px;padding:0 var(--sp-3);border:1px solid var(--input);background:var(--card);color:var(--foreground);font-size:var(--fs-caption);border-radius:10px;font-weight:600;display:inline-flex}.calendar-follow svg{width:16px;height:16px}.calendar-follow[aria-pressed=true]{border:1.5px solid var(--action);background:var(--action-soft);color:var(--action-ink)}.calendar-follow[aria-pressed=true] svg{fill:currentColor}.calendar-follow[aria-busy=true]{opacity:.6}.calendar-follow-error{z-index:45;max-width:420px;padding:var(--sp-3) var(--sp-4);border:1px solid var(--alert-edge);background:var(--alert-soft);color:var(--alert-ink);font-size:var(--fs-caption);border-radius:12px;margin-inline:auto;font-weight:600;position:fixed;inset:auto 16px 88px}@media (max-width:639px){.calendar-follow span{display:none}.calendar-follow{padding:0}}
