:is(.calendar-explorer,.menus-explorer){--cal-line:color-mix(in srgb,var(--color-steel) 38%,transparent);--cal-rule:var(--color-ink);--cal-hover:var(--color-bone)}:where(.calendar-explorer,.menus-explorer) *{box-sizing:border-box}:where(.calendar-explorer,.menus-explorer) :where(button,input,select){font:inherit;color:var(--color-ink)}:where(.calendar-explorer,.menus-explorer) :where(button,a,summary){touch-action:manipulation}:where(.calendar-explorer,.menus-explorer) :where(input)::placeholder{color:var(--color-steel);opacity:1}.calendar-view-switch button,:where(.calendar-explorer,.menus-explorer) :where(input,select){--focus-ring-inset:1}:is(.calendar-explorer,.menus-explorer) button:disabled,:is(.calendar-explorer,.menus-explorer) input:disabled{cursor:not-allowed}.calendar-toolbar{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:18px 24px;margin-bottom:18px;padding-bottom:18px;border-bottom:var(--border-weight-strong) solid var(--cal-rule)}.calendar-heading{min-width:0;flex:1 1 240px;border-inline-start:var(--border-weight-accent) solid var(--calendar-accent);padding-inline-start:16px}.calendar-kicker{display:block;font-family:var(--font-body);font-size:12px;font-weight:700;line-height:16px;letter-spacing:.22em;text-transform:none;color:var(--color-primary-text)}.calendar-heading h2{margin:8px 0 0;font-family:var(--font-display);font-size:var(--display-m-size);font-weight:var(--display-m-weight);line-height:var(--display-m-leading);letter-spacing:var(--display-tracking);overflow-wrap:anywhere}.calendar-view-switch{display:flex;flex-shrink:0;padding:0;border:var(--border-weight) solid var(--cal-rule);border-radius:var(--radius);overflow:hidden}.calendar-view-switch button{min-height:44px;padding:8px 18px;border:0;border-radius:0;background:transparent;cursor:pointer;font-family:var(--font-display);font-size:16px;font-weight:var(--display-s-weight);letter-spacing:var(--ui-letter-spacing, normal);transition:background-color .2s,color .2s}.calendar-view-switch button+button{border-inline-start:var(--border-weight) solid var(--cal-line)}.calendar-view-switch button:not([aria-pressed=true]):hover{background:var(--cal-hover)}.calendar-view-switch button[aria-pressed=true]{background:var(--color-ink);color:var(--color-paper-text-dark)}.calendar-browsebar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:18px}.calendar-date-nav{display:flex;gap:4px;padding:0;border:0;background:transparent}.calendar-date-nav button{min-width:44px;height:44px;padding:0 12px;border:var(--border-weight) solid var(--cal-rule);border-radius:var(--radius);background:transparent;cursor:pointer;font-size:16px;transition:background-color .2s,color .2s}.calendar-date-nav [data-today]{padding-inline:18px;font-family:var(--font-display);font-weight:var(--display-s-weight);letter-spacing:var(--ui-letter-spacing, normal)}.calendar-date-nav button:not(:disabled):hover{background:var(--color-bone);color:var(--color-ink)}.calendar-date-jump{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:650}.calendar-date-jump input{min-height:44px;min-width:0;max-width:100%;padding:8px 12px;border:var(--border-weight) solid var(--cal-line);border-radius:var(--radius);background:var(--color-paper)}.calendar-date-nav:has(button:disabled) button,.calendar-date-jump input:disabled{border-style:dashed;background:transparent}.calendar-filterbar{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:0 0 14px;padding:0;background:transparent}.calendar-filterbar label,.calendar-subscribe label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:650}.calendar-search{flex:1;min-width:180px}.calendar-filterbar input,.calendar-filterbar select,.calendar-subscribe input,.calendar-subscribe select{min-height:44px;max-width:100%;padding:10px 12px;border:var(--border-weight) solid var(--cal-line);border-radius:var(--radius);background:var(--color-paper);font-size:14px}.calendar-explorer--compact .calendar-toolbar{margin-bottom:16px}.calendar-explorer--compact .calendar-heading{flex-basis:200px}.calendar-explorer--compact .calendar-heading h2{font-size:var(--display-s-size);line-height:var(--display-s-leading)}.calendar-explorer--compact .calendar-kicker{display:none}.calendar-explorer--compact .calendar-view-switch button{padding-inline:14px}@media (max-width:900px){.calendar-view-switch button{padding:8px 12px}}@container calendar (max-width:640px){.calendar-toolbar{flex-direction:column;align-items:stretch;gap:16px}.calendar-toolbar .calendar-heading{flex:0 1 auto;padding-inline-start:12px}.calendar-view-switch{width:100%}.calendar-view-switch button{flex:1;min-width:0;padding-inline:8px}.calendar-browsebar{align-items:stretch}.calendar-browsebar .calendar-date-nav{flex:1;justify-content:space-between;width:auto}.calendar-browsebar .calendar-date-nav [data-today]{flex:1}.calendar-date-jump{flex:1;flex-wrap:wrap;gap:5px}.calendar-date-jump span{flex-basis:100%;font-size:11px}.calendar-date-jump input{width:100%}.calendar-filterbar{flex-direction:column;align-items:stretch}.calendar-filterbar label{min-width:0}}@media (max-width:399px){.calendar-filterbar{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch}.calendar-filterbar label,.calendar-filterbar input,.calendar-filterbar select{width:100%;min-width:0}.calendar-filterbar input{padding-inline:8px;font-size:13px}}@media (prefers-reduced-motion:reduce){:where(.calendar-explorer,.menus-explorer) *{scroll-behavior:auto!important;transition:none!important}}.menu-masthead{padding-block:calc(var(--space-unit) * 2);border-bottom:var(--border-weight-accent) solid var(--color-accent)}.menu-masthead .section-head{display:block;margin:0}.menu-masthead .crumb{margin-bottom:var(--space-unit)}.menu-masthead h1{font-size:var(--type-h1-size)}.menu-masthead .lede{font-size:var(--type-h5-size);line-height:var(--body-leading)}.menus-explorer{--calendar-accent: var(--color-accent);container-type:inline-size;container-name:calendar;font-family:var(--font-body)}.menus-explorer [hidden]{display:none}.menus-next{border-bottom:var(--border-weight) solid var(--cal-line)}.menus-next__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:calc(var(--space-unit) * 3);align-items:end;padding-block:calc(var(--space-unit) * 1.5)}.menus-next__day{margin:calc(var(--space-unit) / 2) 0 0;font-family:var(--font-display);font-size:var(--display-m-size);font-weight:var(--display-m-weight);line-height:var(--display-m-leading);letter-spacing:var(--display-tracking)}.menus-next__date{margin:calc(var(--space-unit) / 2) 0 0;font-size:var(--type-h4-size);color:var(--color-text-muted)}.menus-next__meals{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:calc(var(--space-unit) * 2)}.menus-next__meal-label{margin:0 0 calc(var(--space-unit) / 2);font-size:var(--type-h6-size);font-weight:var(--type-h6-weight);color:var(--color-text-muted)}.menus-next__items{list-style:none;margin:0;padding:0;font-family:var(--font-display);font-size:var(--display-s-size);font-weight:var(--display-m-weight);line-height:var(--display-s-leading);letter-spacing:var(--display-tracking)}.menus-dates .wrap{padding-block:calc(var(--space-unit) * 2) calc(var(--space-unit) * 3)}.menus-period{margin:calc(var(--space-unit) * 2) 0 var(--space-unit);font-family:var(--font-display);font-size:var(--display-s-size);font-weight:var(--display-s-weight);line-height:var(--display-s-leading);letter-spacing:var(--display-tracking)}.menus-school+.menus-school{margin-top:calc(var(--space-unit) * 2)}.menus-school__title{font-size:var(--type-h3-size);font-weight:var(--type-h3-weight);text-transform:none;letter-spacing:normal;color:var(--color-ink);margin:0 0 var(--space-unit)}.menus-school__empty{margin:0;padding:var(--space-unit);background:var(--color-bone);border-radius:var(--radius-lg);color:var(--color-text-muted);line-height:var(--body-leading)}.menus-board{display:grid;grid-auto-flow:column;grid-template-columns:calc(var(--space-unit) * 7) repeat(auto-fit,minmax(min(100%,calc(var(--space-unit) * 10)),1fr));grid-template-rows:auto auto auto;border:var(--border-weight) solid var(--cal-line);border-radius:var(--radius-lg);overflow:hidden;background:var(--color-paper)}.menus-board[data-menu-days="1"]{grid-template-columns:calc(var(--space-unit) * 7) repeat(1,minmax(0,1fr))}.menus-board[data-menu-days="2"]{grid-template-columns:calc(var(--space-unit) * 7) repeat(2,minmax(0,1fr))}.menus-board[data-menu-days="3"]{grid-template-columns:calc(var(--space-unit) * 7) repeat(3,minmax(0,1fr))}.menus-board[data-menu-days="4"]{grid-template-columns:calc(var(--space-unit) * 7) repeat(4,minmax(0,1fr))}.menus-board[data-menu-days="5"]{grid-template-columns:calc(var(--space-unit) * 7) repeat(5,minmax(0,1fr))}.menus-board[data-menu-meals="1"]{grid-template-rows:auto auto}.menus-board__labels,.menus-day{display:grid;grid-row:1 / -1;grid-template-rows:subgrid}.menus-day{border-inline-start:var(--border-weight) solid var(--cal-line)}.menus-board__labels>*,.menus-day>*{margin:0;padding:var(--space-unit)}.menus-board__labels>*+*,.menus-day>*+*{border-top:var(--border-weight) solid var(--cal-line)}.menus-board__label{font-size:var(--type-h6-size);font-weight:var(--type-h6-weight)}.menus-day__head{display:flex;flex-direction:column;font-size:var(--type-h6-size);text-transform:none}.menus-day[aria-current=date] .menus-day__head{box-shadow:inset 0 var(--border-weight-accent) 0 var(--color-accent)}.menus-day__name{font-family:var(--font-display);font-size:var(--type-h3-size);font-weight:var(--display-s-weight);line-height:var(--display-s-leading);letter-spacing:var(--display-tracking)}.menus-day__date{color:var(--color-text-muted)}.menus-items{list-style:none;margin:0;padding:0;display:grid;gap:calc(var(--space-unit) / 4)}.menus-item{font-size:var(--type-h5-size);line-height:var(--body-leading)}.menus-item__notes{font-size:var(--type-h6-size);line-height:var(--body-leading);color:var(--color-text-muted)}.menus-item__notes a{color:var(--color-ink);text-decoration:underline;text-underline-offset:calc(var(--space-unit) / 8)}.menus-item__allergens{display:flex;flex-wrap:wrap;gap:calc(var(--space-unit) / 4);margin-top:calc(var(--space-unit) / 4)}.menus-allergen-badge{display:inline-block;padding:calc(var(--space-unit) / 8) calc(var(--space-unit) * .625);border-radius:var(--radius);background:var(--color-bg);color:var(--color-ink);border:var(--border-weight) solid var(--color-border);font-size:var(--type-h6-size);font-weight:var(--type-h6-weight);line-height:var(--body-leading)}.menus-allergen-note{margin:var(--space-unit) 0 0;color:var(--color-text-muted);font-size:var(--type-h6-size);line-height:var(--body-leading)}.menus-month{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:var(--border-weight) solid var(--cal-line);border-radius:var(--radius-lg);overflow:hidden;background:var(--color-paper)}.menus-month__weekdays,.menus-month__week{display:contents}.menus-month__weekdays>span,.menus-month__day{padding:calc(var(--space-unit) * .75);border-inline-start:var(--border-weight) solid var(--cal-line)}.menus-month__weekdays>span{font-size:var(--type-h6-size);font-weight:var(--type-h6-weight)}.menus-month__weekdays>span:first-child,.menus-month__week-h+.menus-month__day{border-inline-start:0}.menus-month__day{min-height:calc(var(--space-unit) * 7.5);border-top:var(--border-weight) solid var(--cal-line)}.menus-month__day--out{background:var(--color-bone)}.menus-month__day[aria-current=date]{box-shadow:inset 0 var(--border-weight-accent) 0 var(--color-accent)}.menus-month__date{margin:0 0 calc(var(--space-unit) / 2)}.menus-month__num{font-family:var(--font-display);font-size:var(--type-h3-size);font-weight:var(--display-s-weight);line-height:var(--display-s-leading)}.menus-month__dow{display:none}.menus-month__meals{display:grid;gap:calc(var(--space-unit) / 4);margin:0}.menus-month__meals dt{font-size:var(--type-h6-size);font-weight:var(--type-h6-weight);color:var(--color-text-muted)}.menus-month__meals dd{margin:0;font-size:var(--type-h6-size);line-height:var(--body-leading)}.menu-pdf-card{display:flex;flex-direction:column;gap:var(--space-unit)}.menu-pdf-card+.menus-month{margin-top:var(--space-unit)}.menu-document-tile{display:flex;align-items:center;gap:var(--space-unit);min-height:calc(var(--space-unit) * 8);padding:calc(var(--space-unit) * 1.25);background:var(--color-bone);border-radius:var(--radius-lg)}.menu-document-tile__icon{flex:0 0 auto;inline-size:calc(var(--space-unit) * 2.5);block-size:calc(var(--space-unit) * 2.5);background-color:var(--color-ink);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3Cline x1='16' x2='8' y1='13' y2='13'/%3E%3Cline x1='16' x2='8' y1='17' y2='17'/%3E%3Cline x1='10' x2='8' y1='9' y2='9'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3Cline x1='16' x2='8' y1='13' y2='13'/%3E%3Cline x1='16' x2='8' y1='17' y2='17'/%3E%3Cline x1='10' x2='8' y1='9' y2='9'/%3E%3C/svg%3E") center / contain no-repeat}.menu-document-tile__date{margin:0;color:var(--color-ink);font-size:var(--type-h4-size);font-weight:var(--type-h4-weight)}.menu-pdf-card__action{align-self:flex-start;letter-spacing:normal;text-transform:none}@media (max-width: 640px){.menus-next__inner,.menus-next__meals{grid-template-columns:minmax(0,1fr);align-items:start}.menus-board,.menus-board[data-menu-days]{display:block}.menus-board__labels{display:none}.menus-day{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:none;row-gap:calc(var(--space-unit) / 4);padding:calc(var(--space-unit) * .75);border-inline-start:0}.menus-day+.menus-day{border-top:var(--border-weight) solid var(--cal-line)}.menus-day>*,.menus-day>*+*{padding:0;border-top:0}.menus-day__head{flex-direction:row;flex-wrap:wrap;align-items:baseline;column-gap:calc(var(--space-unit) / 2);margin-bottom:calc(var(--space-unit) / 4)}.menus-day__meal{display:grid;grid-template-columns:calc(var(--space-unit) * 5) minmax(0,1fr);column-gap:calc(var(--space-unit) / 2)}.menus-day[aria-current=date]{box-shadow:inset var(--border-weight-accent) 0 0 var(--color-accent)}.menus-day[aria-current=date] .menus-day__head{box-shadow:none}.menus-day .menus-day__meal-label,.menus-month .menus-month__week-h,.menus-month .menus-month__none{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal}.menus-day .menus-day__meal-label{font-weight:var(--type-h6-weight)}.menus-day__name{font-size:var(--type-h4-size)}.menus-day__date{font-size:var(--type-h6-size)}.menus-month{display:block}.menus-month__weekdays,.menus-month .menus-month__day.menus-month__day--out{display:none}.menus-month__week{display:block}.menus-month .menus-month__week-h{padding:calc(var(--space-unit) * .625) calc(var(--space-unit) * .875);background:var(--color-bone);font-family:var(--font-display);font-weight:var(--display-s-weight)}.menus-month__week+.menus-month__week .menus-month__week-h,.menus-month__day{border-top:var(--border-weight) solid var(--cal-line)}.menus-month__day,.menus-month__week-h+.menus-month__day{display:grid;grid-template-columns:calc(var(--space-unit) * 4.5) minmax(0,1fr);column-gap:calc(var(--space-unit) * .75);min-height:0;border-inline-start:0}.menus-month__day[aria-current=date]{box-shadow:inset var(--border-weight-accent) 0 0 var(--color-accent)}.menus-month__date{margin:0}.menus-month__dow{display:inline;font-family:var(--font-display);font-weight:var(--display-s-weight)}.menus-month .menus-month__none{color:var(--color-text-muted)}.menus-month__meals{grid-template-columns:max-content minmax(0,1fr);column-gap:calc(var(--space-unit) / 2)}}@media print{.menus-explorer [data-menus-js]{display:none!important}.menus-explorer .menu-week[hidden],.menus-explorer .menu-month[hidden]{display:block!important}.menus-explorer .menus-period.sr-only{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.menus-allergen-badge{background:none!important;border:var(--border-weight) solid currentColor!important}}
