.calendar-theme-banner{--calendar-banner-border: color-mix(in srgb, var(--sotido-theme-surface-highest) 28%, var(--sotido-theme-border));--calendar-banner-border-soft: color-mix(in srgb, var(--sotido-theme-surface-highest) 22%, var(--sotido-theme-border));--calendar-banner-highlight: color-mix(in srgb, var(--sotido-theme-surface-highest) 18%, transparent);--calendar-banner-highlight-soft: color-mix(in srgb, var(--sotido-theme-surface-highest) 8%, transparent);--calendar-banner-skeleton-low: color-mix(in srgb, var(--sotido-theme-surface-highest) 16%, transparent);--calendar-banner-skeleton-high: color-mix(in srgb, var(--sotido-theme-surface-highest) 34%, transparent)}html[data-app-surface-bundle=calendar-surface] body:not(.discover-mode):not(.feed-mode) .calendar-theme-banner,body.calendar-mode-list:not(.discover-mode):not(.feed-mode) .calendar-theme-banner,body.calendar-mode-grid:not(.discover-mode):not(.feed-mode) .calendar-theme-banner{position:relative;left:auto;right:auto;top:0;width:var(--sotido-app-top-chrome-content-width);z-index:1;border:0;border-radius:var(--sotido-recipe-calendar-top-chrome-stack-banner-radius);box-shadow:var(--sotido-shadow-surface)}.calendar-theme-banner{grid-row:1;position:relative;left:auto;right:auto;top:0;z-index:1;box-sizing:border-box;width:var(--sotido-app-top-chrome-content-width);max-width:none;margin:0 auto;padding:var(--sotido-recipe-calendar-top-chrome-stack-banner-vertical-padding) var(--sotido-recipe-calendar-top-chrome-stack-banner-horizontal-padding);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--sotido-recipe-calendar-top-chrome-stack-stack-gap);border:0;border-radius:var(--sotido-recipe-calendar-top-chrome-stack-banner-radius);background:var(--sotido-recipe-backdrop-chrome-surface);-webkit-backdrop-filter:blur(var(--sotido-recipe-backdrop-chrome-blur-radius));backdrop-filter:blur(var(--sotido-recipe-backdrop-chrome-blur-radius));color:var(--sotido-theme-text-primary);box-shadow:var(--sotido-shadow-surface);contain:layout paint;pointer-events:auto;max-height:min(320px,52vh);overflow:hidden;overflow:clip;transition:opacity var(--sotido-motion-fast) ease,transform var(--sotido-motion-deliberate) ease}.calendar-theme-banner.is-desc-collapsed{max-height:var(--sotido-recipe-calendar-top-chrome-stack-compact-banner-height);padding-top:var(--sotido-recipe-calendar-top-chrome-stack-compact-banner-vertical-padding);padding-bottom:var(--sotido-recipe-calendar-top-chrome-stack-compact-banner-vertical-padding);border-radius:var(--sotido-radius-card);cursor:pointer}.calendar-theme-banner[data-scroll-compact-motion="1"]{height:var(--calendar-banner-motion-expanded-height, auto);transition:height var(--sotido-motion-deliberate) cubic-bezier(.2,.75,.25,1),padding-top var(--sotido-motion-deliberate) cubic-bezier(.2,.75,.25,1),padding-bottom var(--sotido-motion-deliberate) cubic-bezier(.2,.75,.25,1),opacity var(--sotido-motion-fast) ease,transform var(--sotido-motion-deliberate) ease;will-change:height}.calendar-theme-banner[data-scroll-compact-motion="1"].is-desc-collapsed{height:var(--sotido-recipe-calendar-top-chrome-stack-compact-banner-height);max-height:none}.calendar-theme-banner .banner-top,.calendar-theme-banner .banner-avatar,.calendar-theme-banner .banner-text,.calendar-theme-banner .banner-meta-row,.calendar-theme-banner .banner-desc,.calendar-theme-banner .banner-profile-link,.calendar-theme-banner .banner-relation-stats,.calendar-theme-banner .banner-actions,.calendar-theme-banner .banner-active-set,.calendar-theme-banner .banner-active-set-item,.calendar-theme-banner .banner-active-set-avatar{transition:opacity var(--sotido-motion-fast) ease,transform var(--sotido-motion-deliberate) ease,visibility 0s linear}.calendar-theme-banner .banner-meta-row,.calendar-theme-banner .banner-desc,.calendar-theme-banner .banner-profile-link,.calendar-theme-banner .banner-relation-stats,.calendar-theme-banner .banner-actions{transform:translateZ(0)}.calendar-theme-banner.is-desc-collapsed .banner-top{grid-template-columns:var(--sotido-recipe-calendar-top-chrome-stack-compact-avatar-size) minmax(0,1fr) 0;align-items:center;gap:var(--sotido-recipe-calendar-top-chrome-stack-compact-content-gap)}.calendar-theme-banner.is-desc-collapsed .banner-avatar{width:var(--sotido-recipe-calendar-top-chrome-stack-compact-avatar-size);height:var(--sotido-recipe-calendar-top-chrome-stack-compact-avatar-size);align-self:center}.calendar-theme-banner.is-desc-collapsed .banner-text{justify-content:center;gap:0}.calendar-theme-banner.is-desc-collapsed .banner-title-row{min-height:0}.calendar-theme-banner.is-desc-collapsed .banner-meta-row,.calendar-theme-banner.is-desc-collapsed .banner-desc,.calendar-theme-banner.is-desc-collapsed .banner-profile-link,.calendar-theme-banner.is-desc-collapsed .banner-relation-stats,.calendar-theme-banner.is-desc-collapsed .banner-actions{max-width:0;max-height:0;overflow:hidden;opacity:0;transform:translate3d(0,calc(-1px * var(--sotido-recipe-calendar-top-chrome-stack-compact-content-exit-offset)),0);visibility:hidden;pointer-events:none;transition-delay:0s,0s,var(--sotido-motion-fast)}.calendar-theme-banner.is-active-set-combined.is-desc-collapsed .banner-active-set{display:flex;align-items:center;gap:var(--sotido-recipe-calendar-top-chrome-stack-compact-content-gap);overflow:hidden}.calendar-theme-banner.is-active-set-combined.is-desc-collapsed .banner-active-set-item{flex:1 1 0;min-width:0;min-height:var(--sotido-recipe-calendar-top-chrome-stack-compact-avatar-size);grid-template-columns:var(--sotido-recipe-calendar-top-chrome-stack-compact-active-set-avatar-size) minmax(0,1fr);gap:7px;padding:0}.calendar-theme-banner.is-active-set-combined.is-desc-collapsed .banner-active-set-avatar{width:var(--sotido-recipe-calendar-top-chrome-stack-compact-active-set-avatar-size);height:var(--sotido-recipe-calendar-top-chrome-stack-compact-active-set-avatar-size)}.calendar-theme-banner.is-active-set-combined.is-desc-collapsed .banner-active-set-audience{display:none}.calendar-theme-banner.ui-shell-hidden,.calendar-theme-banner[hidden],body.feed-mode #calendarThemeBanner,body.discover-mode #calendarThemeBanner{display:none!important}.calendar-theme-banner.is-skeleton{pointer-events:none}.calendar-theme-banner .banner-active-set[hidden]{display:none!important}.calendar-theme-banner.is-active-set-combined{grid-template-columns:minmax(0,1fr)}.calendar-theme-banner.is-active-set-combined .banner-top,.calendar-theme-banner.is-active-set-combined .banner-actions{display:none!important}.calendar-theme-banner .banner-active-set{grid-column:1 / -1;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:var(--sotido-space-sm);min-width:0}.calendar-theme-banner .banner-active-set-item{min-width:0;min-height:var(--sotido-space-touch-target);display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:var(--sotido-space-sm);padding:var(--sotido-space-xs) 0}.calendar-theme-banner .banner-active-set-avatar{width:32px;height:32px;border:1px solid var(--sotido-theme-selection-companion);border-radius:var(--sotido-radius-pill);background:var(--sotido-theme-surface-highest) center / cover no-repeat;box-sizing:border-box}.calendar-theme-banner .banner-active-set-item.is-primary .banner-active-set-avatar{border-color:var(--sotido-theme-accent)}.calendar-theme-banner .banner-active-set-item.is-calendar-comparison-calendar .banner-active-set-avatar{border:2px solid var(--calendar-comparison-color, var(--sotido-theme-accent))}.calendar-theme-banner .banner-active-set-title{min-width:0;overflow:hidden;color:var(--sotido-theme-text-primary);font-size:var(--sotido-type-body);font-weight:var(--sotido-font-weight-bold);text-overflow:ellipsis;white-space:nowrap}.calendar-theme-banner .banner-active-set-audience{min-height:32px;max-width:92px;padding:0 var(--sotido-space-sm);border:1px solid var(--sotido-theme-border);border-radius:var(--sotido-radius-pill);background:var(--sotido-theme-surface-highest);color:var(--sotido-theme-text-primary);font:inherit}body.calendar-active-set-combined #calendarAudienceSwitcherHost{display:none!important}.calendar-locked-overlay{position:fixed;inset:0;z-index:calc(var(--sotido-layer-navigation) + 18);display:none;place-items:center;padding:16px;background:color-mix(in srgb,var(--sotido-theme-background) 55%,transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.calendar-locked-overlay.is-open{display:grid}.calendar-locked-card{width:min(100%,420px);padding:16px;border:1px solid var(--sotido-theme-border);border-radius:var(--sotido-radius-card);color:var(--sotido-theme-text-primary);background:var(--sotido-theme-surface);box-shadow:var(--sotido-shadow-surface);box-sizing:border-box}.calendar-locked-title{margin:0;font-size:var(--sotido-type-title);line-height:1.25}.calendar-locked-description{margin:8px 0 0;color:var(--sotido-theme-text-secondary);font-size:var(--sotido-type-body);line-height:1.4}.calendar-locked-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.calendar-locked-btn{min-height:40px;padding:0 14px;border:1px solid var(--sotido-theme-border);border-radius:var(--sotido-radius-card);color:var(--sotido-theme-text-primary);background:transparent;font:inherit;font-weight:var(--sotido-font-weight-semibold);cursor:pointer}.calendar-locked-request-btn{border-color:var(--sotido-theme-accent);color:var(--sotido-theme-accent)}.calendar-locked-btn:disabled{opacity:.5;cursor:default}.calendar-theme-banner .banner-skeleton{display:flex;flex-direction:column;gap:var(--sotido-recipe-calendar-top-chrome-stack-stack-gap)}.calendar-theme-banner:not(.is-skeleton) .banner-skeleton{display:none!important}.calendar-theme-banner.is-skeleton.is-bootstrap-materialized .banner-skeleton,.calendar-theme-banner.is-skeleton .banner-top,.calendar-theme-banner.is-skeleton .banner-actions{display:none!important}.calendar-theme-banner.is-skeleton.is-bootstrap-materialized .banner-top{display:grid!important}.calendar-theme-banner.is-skeleton.is-bootstrap-materialized .banner-actions{display:flex!important;visibility:hidden}.calendar-theme-banner .banner-skeleton-top{display:flex;align-items:center;gap:10px;min-height:36px}.calendar-theme-banner .banner-skeleton-avatar{width:36px;height:36px;border-radius:var(--sotido-radius-pill);flex:0 0 auto}.calendar-theme-banner .banner-skeleton-title{width:min(180px,68%);height:13px;border-radius:var(--sotido-radius-pill)}.calendar-theme-banner .banner-skeleton-actions{display:flex;flex-wrap:wrap;gap:var(--sotido-recipe-calendar-top-chrome-stack-stack-gap)}.calendar-theme-banner .banner-skeleton-chip{width:calc(var(--sotido-recipe-calendar-top-chrome-stack-avatar-size) + 20px);height:var(--sotido-recipe-calendar-top-chrome-stack-banner-radius);border-radius:var(--sotido-radius-pill)}.calendar-theme-banner .banner-skeleton-avatar,.calendar-theme-banner .banner-skeleton-title,.calendar-theme-banner .banner-skeleton-chip{background:linear-gradient(90deg,var(--calendar-banner-skeleton-low) 0%,var(--calendar-banner-skeleton-high) 45%,var(--calendar-banner-skeleton-low) 100%);background-size:240% 100%;animation:banner-skeleton-shimmer 1.2s linear infinite}@keyframes banner-skeleton-shimmer{0%{background-position:100% 0}to{background-position:-120% 0}}.calendar-theme-banner .banner-top{display:grid;grid-template-columns:var(--sotido-recipe-calendar-top-chrome-stack-avatar-size) minmax(0,1fr) auto;align-items:start;gap:var(--sotido-recipe-calendar-top-chrome-stack-banner-content-gap);width:100%;min-width:0;grid-column:1 / -1}.calendar-theme-banner.is-public-mode .banner-top{grid-template-columns:minmax(0,1fr)}.calendar-theme-banner.is-public-mode .banner-text{grid-column:1}.calendar-theme-banner .banner-top .banner-text:first-child{grid-column:1 / -1;text-align:center}.calendar-theme-banner .banner-avatar{width:var(--sotido-recipe-calendar-top-chrome-stack-avatar-size);height:var(--sotido-recipe-calendar-top-chrome-stack-avatar-size);border-radius:var(--sotido-radius-pill);flex:0 0 auto;align-self:start;background-image:linear-gradient(135deg,var(--calendar-banner-highlight),var(--calendar-banner-highlight-soft));background-size:cover;background-position:center;background-repeat:no-repeat;box-shadow:var(--sotido-shadow-surface);border:0}.calendar-theme-banner .banner-avatar.has-avatar-showcase{cursor:pointer}.calendar-theme-banner .banner-avatar.has-avatar-showcase:focus-visible{outline:2px solid var(--sotido-theme-accent);outline-offset:3px}.calendar-theme-banner .banner-avatar.is-sotido-demo-avatar{background-color:color-mix(in srgb,var(--sotido-theme-background) 82%,var(--sotido-theme-surface-highest) 18%);background-size:72% 72%;background-position:center;background-repeat:no-repeat}.calendar-theme-banner .banner-text{flex:1 1 auto;min-width:0;display:flex;text-align:left;flex-direction:column;gap:3px}.calendar-theme-banner .banner-title-row{position:relative;display:block;width:100%;min-width:0;min-height:22px;text-align:left}.calendar-theme-banner .banner-title-anchor{position:relative;display:inline-block;vertical-align:top;min-width:0;max-width:100%}.calendar-theme-banner .banner-title{display:block;min-width:0;margin:0;font-size:var(--sotido-recipe-calendar-top-chrome-stack-title-size);line-height:1.2;font-weight:var(--sotido-font-weight-bold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-theme-banner .banner-meta-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:6px 10px;min-width:0}.calendar-theme-banner .banner-meta{font-size:var(--sotido-recipe-calendar-top-chrome-stack-body-size);line-height:1.35;opacity:.78}.calendar-theme-banner .banner-relation-stats{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:center;justify-self:end;gap:10px;min-width:0;text-align:right}.calendar-theme-banner .banner-relation-stats.ui-shell-hidden,.calendar-theme-banner .banner-relation-stats.is-empty{display:none!important}.calendar-theme-banner .banner-relation-stat{display:inline-flex;align-items:center;justify-content:flex-end;gap:4px;min-width:0;min-height:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--sotido-theme-text-primary);font:inherit;font-size:var(--sotido-recipe-calendar-top-chrome-stack-body-size);line-height:1.35;opacity:1;white-space:nowrap;cursor:default}.calendar-theme-banner button.banner-relation-stat:not(:disabled):not(.is-static){cursor:pointer}.calendar-theme-banner button.banner-relation-stat:disabled{color:var(--sotido-theme-text-primary)}.calendar-theme-banner button.banner-relation-stat:not(:disabled):not(.is-static):hover .label{text-decoration:underline;text-underline-offset:2px}.calendar-theme-banner .banner-relation-stat .count{font-weight:var(--sotido-font-weight-bold);opacity:1}.calendar-theme-banner .banner-relation-stat .label{opacity:1}.calendar-theme-banner .banner-desc{display:block;min-width:0}.calendar-theme-banner .banner-desc-text{display:block;font-size:var(--sotido-type-body-compact);line-height:1.35;opacity:.82;white-space:normal;overflow:visible;text-overflow:clip}.calendar-theme-banner .banner-desc.is-slots-legend{margin-top:2px}.calendar-theme-banner .banner-desc-text.is-slots-legend{display:grid;gap:4px;opacity:.88}.calendar-theme-banner .banner-profile-link{display:inline-block;align-self:flex-start;max-width:min(280px,100%);min-width:0;color:var(--sotido-theme-text-primary);font-size:var(--sotido-type-caption);line-height:1.35;font-weight:var(--sotido-font-weight-semibold);overflow:hidden;text-overflow:ellipsis;text-decoration:none;text-underline-offset:2px;white-space:nowrap}.calendar-theme-banner .banner-profile-link:hover,.calendar-theme-banner .banner-profile-link:focus-visible{text-decoration:underline}.calendar-theme-banner .banner-profile-link.ui-shell-hidden,.calendar-theme-banner .banner-profile-link[hidden]{display:none!important}.calendar-theme-banner .banner-slot-legend-line{display:inline-flex;align-items:center;min-width:0;gap:7px;line-height:1.25}.calendar-theme-banner .banner-slot-legend-dot{width:9px;height:9px;border-radius:var(--sotido-radius-pill);flex:0 0 auto;box-shadow:0 0 0 1px color-mix(in srgb,var(--sotido-theme-surface-highest) 22%,transparent)}.calendar-theme-banner .banner-slot-legend-label{min-width:0;overflow:hidden;text-overflow:ellipsis}.calendar-theme-banner .banner-actions{display:flex;flex-wrap:wrap;gap:var(--sotido-recipe-calendar-top-chrome-stack-banner-action-gap);align-items:center;justify-content:flex-end;grid-column:1 / -1;min-width:0}.calendar-theme-banner .banner-actions.is-empty{display:none}.calendar-theme-banner.is-demo-guest-calendar .banner-relation-stats,.calendar-theme-banner.is-demo-guest-calendar .banner-actions{display:none!important}.calendar-theme-banner .banner-actions .banner-action-btn{min-height:30px;padding:0 var(--sotido-recipe-calendar-top-chrome-stack-banner-horizontal-padding);border:1px solid var(--calendar-banner-border-soft);border-radius:var(--sotido-radius-pill);background:var(--sotido-theme-surface-highest);color:var(--sotido-theme-text-primary);display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:var(--sotido-recipe-calendar-top-chrome-stack-body-size);line-height:1;font-weight:var(--sotido-font-weight-semibold);white-space:nowrap;cursor:pointer;box-shadow:inset 0 1px 0 var(--calendar-banner-highlight-soft);pointer-events:auto}.calendar-theme-banner .banner-actions .banner-action-btn:disabled{opacity:.56;cursor:default}.calendar-theme-banner .banner-actions .banner-subscribers-btn{position:relative}.calendar-theme-banner .banner-badge{min-width:16px;height:16px;padding:0 4px;border-radius:var(--sotido-radius-pill);background:var(--sotido-theme-destructive-accent);color:var(--sotido-theme-text-on-accent);display:inline-flex;align-items:center;justify-content:center;font-size:var(--sotido-recipe-calendar-top-chrome-stack-caption-size);line-height:1;font-weight:var(--sotido-font-weight-bold)}.calendar-theme-banner .banner-actions .banner-share-toggle{gap:6px}.calendar-theme-banner .banner-actions .calendar-tool-caption{display:inline-block}.calendar-theme-banner.snapshot-text-mode .banner-actions>*{display:none}.calendar-theme-banner.snapshot-text-mode #calendarShareToggle{display:inline-flex}.calendar-theme-banner .snapshot-tools-row{display:none;flex-wrap:wrap;gap:var(--sotido-recipe-calendar-top-chrome-stack-banner-action-gap);align-items:center}.calendar-theme-banner .snapshot-range-row{display:inline-flex;align-items:center;gap:6px}@media(max-width:720px){.calendar-theme-banner{left:10px;right:10px;grid-template-columns:minmax(0,1fr);padding-left:var(--sotido-recipe-calendar-top-chrome-stack-banner-horizontal-padding);padding-right:var(--sotido-recipe-calendar-top-chrome-stack-banner-horizontal-padding)}.calendar-theme-banner .banner-top{grid-template-columns:44px minmax(0,1fr);align-items:start;gap:10px}.calendar-theme-banner .banner-top .banner-text:first-child{text-align:center}.calendar-theme-banner .banner-avatar{width:44px;height:44px}.calendar-theme-banner.is-desc-collapsed .banner-top{grid-template-columns:var(--sotido-recipe-calendar-top-chrome-stack-compact-avatar-size) minmax(0,1fr);align-items:center;gap:var(--sotido-recipe-calendar-top-chrome-stack-compact-content-gap)}.calendar-theme-banner.is-desc-collapsed .banner-avatar{width:var(--sotido-recipe-calendar-top-chrome-stack-compact-avatar-size);height:var(--sotido-recipe-calendar-top-chrome-stack-compact-avatar-size)}.calendar-theme-banner .banner-title{font-size:var(--sotido-type-body-large)}.calendar-theme-banner .banner-relation-stats{grid-column:1 / -1;flex-direction:row;flex-wrap:nowrap;justify-content:flex-end;justify-self:end;gap:3px 10px;text-align:right}.calendar-theme-banner .banner-relation-stat{justify-content:flex-end}.calendar-theme-banner .banner-desc-text{font-size:var(--sotido-type-caption);line-height:1.3}.calendar-theme-banner .banner-actions{justify-content:flex-start;padding-left:54px}}@media(prefers-reduced-motion:reduce){.app-top-chrome-stack,.calendar-theme-banner,.calendar-theme-banner .banner-top,.calendar-theme-banner .banner-avatar,.calendar-theme-banner .banner-text,.calendar-theme-banner .banner-meta-row,.calendar-theme-banner .banner-desc,.calendar-theme-banner .banner-profile-link,.calendar-theme-banner .banner-relation-stats,.calendar-theme-banner .banner-actions,.calendar-theme-banner .banner-active-set,.calendar-theme-banner .banner-active-set-item,.calendar-theme-banner .banner-active-set-avatar{transition-duration:.01ms!important}}
