.month{margin-top:1.5rem}.month__sheet{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:2.25rem 1.5rem 1.5rem;position:relative;overflow:hidden}.month__sheet:before{content:"";background:var(--accent);height:.875rem;position:absolute;inset:0 0 auto}.month__sheet:after{content:"";background:radial-gradient(circle, var(--paper) .1875rem, transparent .21rem) 0 50% / 1.5rem 100% repeat-x;height:.375rem;position:absolute;inset:.25rem 1.5rem auto}.month__header{flex-direction:column;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.month__title{letter-spacing:-.03em;text-align:center;font-size:clamp(1.5rem,1.2rem + 1vw,2rem);font-weight:640}.month__title:first-letter{text-transform:uppercase}.month__tabs{background:var(--paper);border:1px solid var(--line);border-radius:999px;flex-wrap:wrap;justify-content:center;gap:.375rem;padding:.3125rem;display:flex}.month__tab{min-width:8.5rem;color:var(--ink);font:inherit;cursor:pointer;transition:background-color .18s var(--ease-out), color .18s var(--ease-out), transform .16s var(--ease-out);background:0 0;border:0;border-radius:999px;flex-direction:column;align-items:center;gap:.0625rem;padding:.5rem 1.125rem;line-height:1.2;display:flex}.month__tab-name{font-weight:620}.month__tab-count{color:var(--ink-soft);font-size:.75rem}.month__tab[data-active]{background:var(--accent);color:#fff;box-shadow:var(--shadow-sm)}.month__tab[data-active] .month__tab-count{color:#ffffffd9}.month__tab:active{transform:scale(.97)}.month__tab:focus-visible{outline:2px solid var(--ink);outline-offset:2px}@media (hover:hover) and (pointer:fine){.month__tab:not([data-active]):hover{background:var(--accent-wash)}}.month__next{justify-content:center;margin-top:1.25rem;display:flex}.month__weekdays{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));margin-bottom:.375rem;font-size:.75rem;font-weight:600;display:grid}.month__grid{background:var(--line);border:1px solid var(--line);border-radius:var(--radius);animation:month-settle .32s var(--ease-out);grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}@keyframes month-settle{0%{opacity:0;transform:translateY(6px)}}.month__day{background:var(--paper-raised);flex-direction:column;gap:.375rem;min-width:0;min-height:7.5rem;padding:.5rem .4375rem .625rem;display:flex}.month__day[data-out]{background:var(--paper)}.month__date{align-items:center;gap:.375rem;font-size:.875rem;line-height:1;display:flex}.month__date-weekday{display:none}.month__date-number{font-variant-numeric:tabular-nums;min-width:1.75rem;height:1.75rem;color:var(--ink);border-radius:50%;place-items:center;font-weight:600;display:inline-grid}.month__day[data-out] .month__date-number,.month__day[data-past] .month__date-number{color:var(--ink-faint);font-weight:500}.month__day[data-today] .month__date-number{background:var(--accent);color:#fff}.month__today{letter-spacing:.04em;text-transform:uppercase;color:var(--accent);font-size:.6875rem;font-weight:600}.month__sessions{flex-direction:column;gap:.25rem;display:flex}.month__session{border:0;border-left:3px solid var(--accent);border-radius:var(--radius-sm);background:var(--accent-wash);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:transform .16s var(--ease-out), background-color .16s var(--ease-out);flex-direction:column;gap:.0625rem;padding:.3125rem .4375rem;font-size:.8125rem;line-height:1.25;display:flex}.month__session:active{transform:scale(.97)}.month__session:focus-visible{outline:2px solid var(--ink);outline-offset:2px}@media (hover:hover) and (pointer:fine){.month__session:hover{background:#f7ddd2}}.month__session-time{font-variant-numeric:tabular-nums;font-weight:620}.month__session-name{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.month__session[data-full]{background:var(--paper);border-left-color:var(--ink-faint);color:var(--ink-soft)}.month__empty{border:1px dashed var(--line);border-radius:var(--radius);color:var(--ink-soft);text-align:center;margin-top:1rem;padding:1.5rem}@media (max-width:48rem){.month__tab{flex:1;min-width:0;padding-inline:.625rem}.month__sheet{padding:2rem 1rem 1rem}.month__weekdays{display:none}.month__grid{background:0 0;border:0;border-radius:0;flex-direction:column;gap:.5rem;display:flex;overflow:visible}.month__day[data-out],.month__day[data-empty]:not([data-today]){display:none}.month__day{border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:3.75rem 1fr;gap:.75rem;min-height:0;padding:.75rem;display:grid}.month__date{flex-direction:column;align-items:center;gap:.125rem}.month__date-weekday{color:var(--ink-soft);font-size:.75rem;display:block}.month__session{flex-direction:row;gap:.625rem;padding:.5rem .625rem;font-size:.9375rem}}.session-dialog{border-radius:var(--radius-lg);background:var(--paper-raised);width:min(36rem,100vw - 2rem);max-height:min(90dvh,48rem);color:var(--ink);box-shadow:var(--shadow-lift);overscroll-behavior:contain;opacity:1;transition:opacity .2s var(--ease-out), transform .26s var(--ease-out);border:0;padding:0;overflow:auto;transform:none}@starting-style{.session-dialog[open]{opacity:0;transform:translateY(10px)scale(.98)}}.session-dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:opacity .2s var(--ease-out);background:#2a24206b}@starting-style{.session-dialog[open]::backdrop{opacity:0}}.session-dialog__body{flex-direction:column;gap:.75rem;padding:1.75rem;display:flex;position:relative}.session-dialog__close{border:1px solid var(--line);background:var(--paper-raised);width:2.25rem;height:2.25rem;color:var(--ink);font:inherit;cursor:pointer;transition:transform .16s var(--ease-out);border-radius:50%;place-items:center;font-size:1.25rem;line-height:1;display:grid;position:absolute;top:1rem;right:1rem}.session-dialog__close:active{transform:scale(.94)}.session-dialog__close:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.session-dialog .eyebrow{padding-right:2.75rem}.session-dialog__title{letter-spacing:-.03em;font-size:clamp(1.5rem,1.25rem + 1vw,1.875rem);font-weight:640;line-height:1.15}.session-dialog__photos{scroll-snap-type:x proximity;scrollbar-width:none;gap:.5rem;margin-block:.25rem;display:flex;overflow-x:auto}.session-dialog__photos li{scroll-snap-align:start;flex:0 0 min(12rem,70%)}.session-dialog__photos img{object-fit:cover;border-radius:var(--radius);background:var(--line);width:100%;height:8.5rem}.session-dialog__summary{text-wrap:pretty;font-size:1.0625rem}.session-dialog__actions{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:.5rem;padding-top:1rem;display:flex}.session-dialog__seats{color:var(--ink-soft);font-size:.9375rem}.session-dialog__seats[data-low]{color:var(--accent);font-weight:600}.session-dialog .button[disabled]{opacity:.45;cursor:not-allowed}@media (prefers-reduced-motion:reduce){.month__grid{animation:none}.session-dialog{transition:opacity .2s}@starting-style{.session-dialog[open]{transform:none}}.month__session:active,.month__tab:active,.session-dialog__close:active{transform:none}}
