.seasonality-tabs{display:flex;flex-wrap:wrap;gap:.15rem 1rem;margin-bottom:1.25rem;border-bottom:1px solid color-mix(in srgb,var(--border) 45%,transparent);position:relative;z-index:2}.seasonality-tabs__btn{margin-bottom:-1px;padding:.45rem .15rem;background:transparent;font-family:var(--font-ui);font-size:.8125rem;color:var(--muted-foreground);cursor:pointer;border:none;border-bottom:2px solid transparent;text-decoration:none;transition:color .15s,border-color .15s}.seasonality-tabs__btn:hover{color:var(--foreground)}.seasonality-tabs__btn--active{color:var(--foreground);border-bottom-color:var(--foreground)}.seasonality-article-list{margin:0;padding:0;list-style:none}.seasonality-article{padding-bottom:1.5rem;margin-bottom:1.5rem;border-bottom:1px solid color-mix(in srgb,var(--border) 40%,transparent)}.seasonality-article-list>li:last-child .seasonality-article{margin-bottom:0;padding-bottom:0;border-bottom:none}.seasonality-article__meta{margin-bottom:.35rem}.seasonality-article__tag{display:inline-block;font-size:.625rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--muted-foreground)}.seasonality-article__tag--clickable{padding:0;border:none;background:transparent;cursor:pointer;text-align:left;transition:opacity .15s}.seasonality-article__tag--clickable:hover{opacity:.72;text-decoration:underline;text-underline-offset:2px}.seasonality-article__tag--season{color:color-mix(in srgb,var(--foreground) 70%,var(--muted-foreground))}.seasonality-article__tag--supply{color:color-mix(in srgb,var(--chart-2,#0d9488) 85%,var(--foreground))}.seasonality-article__tag--trends{color:color-mix(in srgb,var(--chart-4,#a855f7) 75%,var(--foreground))}.seasonality-article__title{margin:0 0 .75rem}.seasonality-article__figure{margin:0 0 .85rem}.seasonality-article__body{margin:0}.seasonality-article__links{margin-top:.85rem;position:relative;z-index:1}.seasonality-article__links-label{margin:0 0 .35rem;font-size:.6875rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-foreground)}.seasonality-article__links-list{display:flex;flex-wrap:wrap;gap:.35rem .85rem;margin:0;padding:0;list-style:none}.seasonality-article__link{font-size:.8125rem;color:var(--foreground);text-decoration:underline;text-underline-offset:2px;position:relative;z-index:1;pointer-events:auto}.seasonality-article__link:hover{opacity:.75}.seasonality-calendar{border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--border) 35%,transparent);background:color-mix(in srgb,var(--card) 60%,var(--background));padding:.75rem;min-width:0;max-width:100%;overflow-x:clip}.seasonality-calendar__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.65rem}.seasonality-calendar__title{margin:0;font-family:var(--font-accent);font-size:.95rem;font-weight:500;text-align:center;flex:1}.seasonality-calendar__nav{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--muted-foreground);cursor:pointer}.seasonality-calendar__nav:hover{background:color-mix(in srgb,var(--muted) 50%,transparent);color:var(--foreground)}.seasonality-calendar__weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;margin-bottom:.25rem}.seasonality-calendar__weekday{text-align:center;font-size:.625rem;color:var(--muted-foreground)}.seasonality-calendar__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:color-mix(in srgb,var(--border) 30%,transparent);border-radius:calc(var(--radius-sm) - 1px);overflow:hidden}.seasonality-calendar__cell{min-width:0;min-height:4.25rem;padding:.25rem .3rem;border:none;background:var(--background);text-align:left;vertical-align:top;cursor:default;overflow:hidden;display:flex;flex-direction:column;align-items:stretch;box-sizing:border-box}.seasonality-calendar__cell--empty{background:color-mix(in srgb,var(--background) 92%,var(--muted));cursor:default}.seasonality-calendar__cell--has-supply{background:color-mix(in srgb,var(--muted) 12%,var(--background));cursor:pointer}.seasonality-calendar__cell--has-supply:hover{background:color-mix(in srgb,var(--muted) 22%,var(--background))}.seasonality-calendar__cell--editable{cursor:pointer}.seasonality-calendar__cell--today .seasonality-calendar__day-num{font-weight:600;color:var(--foreground)}.seasonality-calendar__cell--selected{background:color-mix(in srgb,var(--foreground) 6%,var(--background));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--foreground) 18%,transparent)}.seasonality-calendar__tags{display:flex;flex-wrap:wrap;gap:.15rem;margin-top:.2rem}.seasonality-calendar__tag{padding:.1rem .3rem;border-radius:999px;background:color-mix(in srgb,var(--muted) 60%,transparent);color:var(--foreground);user-select:none;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seasonality-calendar__tag,.seasonality-calendar__tag-more{display:inline-block;font-size:.5rem;line-height:1.25;pointer-events:none}.seasonality-calendar__tag-more{color:var(--muted-foreground)}.seasonality-calendar__day-num{display:block;font-size:.6875rem;color:var(--muted-foreground);line-height:1.2}.seasonality-calendar__events{margin:.2rem 0 0;padding:0;list-style:none}.seasonality-calendar__event{font-size:.5625rem;line-height:1.25;color:var(--foreground);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.seasonality-calendar__event-more{font-size:.5625rem;color:var(--muted-foreground)}.seasonality-calendar__hint{margin:.65rem 0 0}.seasonality-calendar-detail{margin-top:.85rem;padding:.85rem .9rem;border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--border) 40%,transparent);background:color-mix(in srgb,var(--card) 70%,var(--background))}.seasonality-calendar-detail__kicker{margin:0;font-size:.625rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-foreground)}.seasonality-calendar-detail__title{margin:.2rem 0 .65rem;font-family:var(--font-accent);font-size:1rem;font-weight:500;line-height:1.3;text-transform:capitalize}.seasonality-calendar-detail__list{display:flex;flex-wrap:wrap;gap:.35rem;margin:0;padding:0;list-style:none}.seasonality-calendar-detail__tag{display:inline-block;font-size:.8125rem;line-height:1.3;padding:.3rem .65rem;border-radius:999px;background:color-mix(in srgb,var(--muted) 55%,transparent);color:var(--foreground);pointer-events:none;user-select:none;white-space:normal}.seasonality-calendar-detail__close{margin-top:.65rem;padding:0;border:none;background:transparent;font-size:.75rem;color:var(--muted-foreground);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.seasonality-calendar-detail__close:hover{color:var(--foreground)}@media (max-width:639px){.seasonality-calendar{padding:.5rem}.seasonality-calendar__cell{min-height:2.6rem;padding:.2rem .12rem}.seasonality-calendar__tags{display:none}.seasonality-calendar__cell--has-supply .seasonality-calendar__day-num:after{content:"";display:block;width:.35rem;height:.35rem;margin-top:.15rem;border-radius:999px;background:color-mix(in srgb,var(--foreground) 55%,transparent)}.seasonality-calendar__weekday{font-size:.5625rem}}@media (min-width:640px){.seasonality-calendar__cell{min-height:5rem;padding:.35rem .4rem}.seasonality-calendar__tag{font-size:.5625rem}}