.cal[data-astro-cid-6pkr3ews]{max-width:var(--sn-container);padding:clamp(2.5rem, 5vw, 4.5rem) calc(var(--sn-space) * 3) clamp(4rem, 8vw, 6rem);min-height:70vh;margin:0 auto}.cal-head[data-astro-cid-6pkr3ews] h1[data-astro-cid-6pkr3ews]{margin:0 0 calc(var(--sn-space) * 2);font-family:var(--sn-font-heading);font-weight:var(--sn-font-heading-weight);font-size:clamp(2.5rem,5vw,4.5rem);line-height:var(--sn-leading-heading)}.cal-head__lead[data-astro-cid-6pkr3ews]{margin:0 0 calc(var(--sn-space) * 2);max-width:42rem;color:var(--sn-color-text-muted);font-size:calc(var(--sn-text-base) * 1.1)}.cal-status[data-astro-cid-6pkr3ews]{margin:0 0 var(--sn-space);padding:calc(var(--sn-space) * 1) calc(var(--sn-space) * 2.5);background:var(--sn-color-surface);border:1px solid var(--sn-color-accent);border-radius:var(--sn-radius-pill);font-size:calc(var(--sn-text-base) * .92);color:var(--sn-color-text);display:inline-block}.cal-status[data-astro-cid-6pkr3ews] a{color:var(--sn-color-primary);font-weight:600}.cal-toolbar[data-astro-cid-6pkr3ews]{justify-content:space-between;align-items:center;gap:calc(var(--sn-space) * 2);margin:calc(var(--sn-space) * 4) 0 calc(var(--sn-space) * 3);flex-wrap:wrap;display:flex}.cal-week[data-astro-cid-6pkr3ews]{align-items:center;gap:var(--sn-space);display:flex}.cal-week__btn[data-astro-cid-6pkr3ews],.cal-week__today[data-astro-cid-6pkr3ews]{padding:calc(var(--sn-space) * 1) calc(var(--sn-space) * 2);border:1px solid var(--sn-color-accent);border-radius:var(--sn-radius-pill);background:var(--sn-color-bg);color:var(--sn-color-text);font-family:var(--sn-font-body);font-size:var(--sn-text-base);cursor:pointer;transition:background var(--sn-transition), border-color var(--sn-transition), transform var(--sn-transition)}.cal-week__btn[data-astro-cid-6pkr3ews]:hover,.cal-week__today[data-astro-cid-6pkr3ews]:hover{border-color:var(--sn-color-primary);background:var(--sn-color-surface)}.cal-week__btn[data-astro-cid-6pkr3ews]:active{transform:scale(.94)}.cal-week__label[data-astro-cid-6pkr3ews]{text-align:center;min-width:11ch;font-family:var(--sn-font-heading);font-size:calc(var(--sn-text-base) * 1.25)}.cal-filters[data-astro-cid-6pkr3ews]{gap:var(--sn-space);flex-wrap:wrap;display:flex}.cal-filters[data-astro-cid-6pkr3ews] button{padding:calc(var(--sn-space) * 1) calc(var(--sn-space) * 2.5);border:1px solid var(--sn-color-accent);border-radius:var(--sn-radius-pill);background:var(--sn-color-bg);color:var(--sn-color-text-muted);font-family:var(--sn-font-body);font-size:calc(var(--sn-text-base) * .92);cursor:pointer;transition:all var(--sn-transition)}.cal-filters[data-astro-cid-6pkr3ews] button[aria-pressed=true]{background:var(--sn-color-primary);border-color:var(--sn-color-primary);color:var(--sn-color-on-primary)}.cal-grid[data-astro-cid-6pkr3ews]{gap:calc(var(--sn-space) * 1.5);grid-template-columns:repeat(7,1fr);align-items:start;display:grid}.cal-grid[data-astro-cid-6pkr3ews] .cal-day__head{z-index:2;padding:calc(var(--sn-space) * 1.5) 0 calc(var(--sn-space) * 1.5);background:var(--sn-color-bg);text-align:center;border-bottom:1px solid var(--sn-color-border);margin-bottom:calc(var(--sn-space) * 1.5);position:sticky;top:0}.cal-grid[data-astro-cid-6pkr3ews] .cal-day__name{font-size:calc(var(--sn-text-base) * .8);letter-spacing:.1em;text-transform:uppercase;color:var(--sn-color-text-muted);display:block}.cal-grid[data-astro-cid-6pkr3ews] .cal-day__date{font-family:var(--sn-font-heading);font-size:calc(var(--sn-text-base) * 1.3)}.cal-grid[data-astro-cid-6pkr3ews] .cal-day--today .cal-day__date{padding:0 calc(var(--sn-space) * 1.5);background:var(--sn-color-primary);color:var(--sn-color-on-primary);border-radius:var(--sn-radius-pill);display:inline-block}.cal-grid[data-astro-cid-6pkr3ews] .cal-day__empty{padding:calc(var(--sn-space) * 3) var(--sn-space);text-align:center;color:var(--sn-color-text-muted);font-size:calc(var(--sn-text-base) * .85)}.cal-grid[data-astro-cid-6pkr3ews] .session{width:100%;margin-bottom:calc(var(--sn-space) * 1.5);padding:calc(var(--sn-space) * 2);background:var(--sn-color-surface);border-radius:var(--sn-radius);text-align:left;font-family:var(--sn-font-body);cursor:pointer;transition:transform .22s cubic-bezier(.22, 1, .36, 1), box-shadow .22s ease, border-color var(--sn-transition);border:1px solid #0000;display:block;position:relative}.cal-grid[data-astro-cid-6pkr3ews] .session:hover:not(:disabled){border-color:var(--sn-color-accent);transform:translateY(-3px);box-shadow:0 10px 24px #2f2b281a}.cal-grid[data-astro-cid-6pkr3ews] .session:disabled{cursor:default}.cal-grid[data-astro-cid-6pkr3ews] .session__time{font-size:calc(var(--sn-text-base) * .85);color:var(--sn-color-text-muted);font-variant-numeric:tabular-nums;display:block}.cal-grid[data-astro-cid-6pkr3ews] .session__name{margin:calc(var(--sn-space) * .5) 0;font-family:var(--sn-font-heading);font-size:calc(var(--sn-text-base) * 1.1);color:var(--sn-color-text);line-height:1.2;display:block}.cal-grid[data-astro-cid-6pkr3ews] .session__meta{font-size:calc(var(--sn-text-base) * .8);color:var(--sn-color-text-muted);display:block}.cal-grid[data-astro-cid-6pkr3ews] .session__spots{margin-top:var(--sn-space);padding:calc(var(--sn-space) * .4) calc(var(--sn-space) * 1.4);border-radius:var(--sn-radius-pill);font-size:calc(var(--sn-text-base) * .78);background:var(--sn-color-bg);color:var(--sn-color-text-muted);display:inline-block}.cal-grid[data-astro-cid-6pkr3ews] .session--low .session__spots{background:var(--sn-color-primary);color:var(--sn-color-on-primary)}.cal-grid[data-astro-cid-6pkr3ews] .session--full{opacity:.75}.cal-grid[data-astro-cid-6pkr3ews] .session--full .session__spots{background:var(--sn-color-text-muted);color:var(--sn-color-bg)}.cal-grid[data-astro-cid-6pkr3ews] .session--past{opacity:.38}.cal-grid[data-astro-cid-6pkr3ews] .session--mine{border-color:var(--sn-color-primary);box-shadow:inset 0 0 0 1px var(--sn-color-primary)}.cal-grid[data-astro-cid-6pkr3ews] .session--mine .session__spots{background:var(--sn-color-primary);color:var(--sn-color-on-primary)}.cal-grid[data-astro-cid-6pkr3ews] .skeleton{height:104px;margin-bottom:calc(var(--sn-space) * 1.5);border-radius:var(--sn-radius);background:linear-gradient(100deg, var(--sn-color-surface) 40%, var(--sn-color-bg) 50%, var(--sn-color-surface) 60%);background-size:200% 100%;animation:1.4s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}@media (prefers-reduced-motion:no-preference){.cal-grid[data-astro-cid-6pkr3ews] .session.enter{opacity:0;animation:.48s cubic-bezier(.22,1,.36,1) forwards card-in;animation-delay:calc(var(--i,0) * 45ms);transform:translateY(10px)}@keyframes card-in{to{opacity:1;transform:none}}}.modal[data-astro-cid-6pkr3ews]{border-radius:calc(var(--sn-radius) * 1.6);background:var(--sn-color-bg);border:none;width:min(26rem,100vw - 2rem);padding:0;box-shadow:0 30px 80px #2f2b2840}.modal[data-astro-cid-6pkr3ews]::backdrop{backdrop-filter:blur(3px);background:#2f2b2866}@media (prefers-reduced-motion:no-preference){.modal[data-astro-cid-6pkr3ews][open]{animation:.26s cubic-bezier(.22,1,.36,1) modal-in}@keyframes modal-in{0%{opacity:0;transform:translateY(14px)scale(.97)}}}.modal__inner[data-astro-cid-6pkr3ews]{padding:calc(var(--sn-space) * 4)}.modal__inner[data-astro-cid-6pkr3ews] h2{margin:0 0 var(--sn-space);font-family:var(--sn-font-heading);font-weight:var(--sn-font-heading-weight);font-size:calc(var(--sn-text-base) * 1.7);line-height:1.15}.modal__inner[data-astro-cid-6pkr3ews] .modal-sub{margin:0 0 calc(var(--sn-space) * 3);color:var(--sn-color-text-muted);font-size:calc(var(--sn-text-base) * .95)}.modal__inner[data-astro-cid-6pkr3ews] .modal-close{top:calc(var(--sn-space) * 1.5);right:calc(var(--sn-space) * 1.5);background:var(--sn-color-surface);width:36px;height:36px;color:var(--sn-color-text);cursor:pointer;transition:background var(--sn-transition);border:none;border-radius:50%;font-size:18px;position:absolute}.modal__inner[data-astro-cid-6pkr3ews] .modal-close:hover{background:var(--sn-color-border)}.modal__inner[data-astro-cid-6pkr3ews] .modal-tabs{gap:var(--sn-space);margin-bottom:calc(var(--sn-space) * 3);grid-template-columns:1fr 1fr;display:grid}.modal__inner[data-astro-cid-6pkr3ews] .modal-tabs button{padding:calc(var(--sn-space) * 1.2);border:1px solid var(--sn-color-accent);border-radius:var(--sn-radius-pill);background:var(--sn-color-bg);font-family:var(--sn-font-body);font-size:calc(var(--sn-text-base) * .95);color:var(--sn-color-text-muted);cursor:pointer}.modal__inner[data-astro-cid-6pkr3ews] .modal-tabs button[aria-selected=true]{background:var(--sn-color-primary);border-color:var(--sn-color-primary);color:var(--sn-color-on-primary)}.modal__inner[data-astro-cid-6pkr3ews] label{margin-bottom:calc(var(--sn-space) * 2);font-size:calc(var(--sn-text-base) * .9);color:var(--sn-color-text);display:block}.modal__inner[data-astro-cid-6pkr3ews] input{box-sizing:border-box;width:100%;margin-top:calc(var(--sn-space) * .5);padding:calc(var(--sn-space) * 1.5);border:1px solid var(--sn-color-accent);border-radius:var(--sn-radius);background:var(--sn-color-bg);font-family:var(--sn-font-body);font-size:var(--sn-text-base);color:var(--sn-color-text);display:block}.modal__inner[data-astro-cid-6pkr3ews] input:focus{border-color:var(--sn-color-primary);outline:none}.modal__inner[data-astro-cid-6pkr3ews] .modal-error{margin:0 0 calc(var(--sn-space) * 2);padding:calc(var(--sn-space) * 1.5);border-radius:var(--sn-radius);color:#7c2d1e;font-size:calc(var(--sn-text-base) * .9);background:#f8e8e4}.modal__inner[data-astro-cid-6pkr3ews] .modal-summary{margin:0 0 calc(var(--sn-space) * 3);padding:calc(var(--sn-space) * 2.5);background:var(--sn-color-surface);border-radius:var(--sn-radius)}.modal__inner[data-astro-cid-6pkr3ews] .modal-summary strong{font-family:var(--sn-font-heading);font-weight:400;font-size:calc(var(--sn-text-base) * 1.2)}.modal__inner[data-astro-cid-6pkr3ews] .modal-summary span{color:var(--sn-color-text-muted);font-size:calc(var(--sn-text-base) * .9);display:block}.modal__inner[data-astro-cid-6pkr3ews] .btn-primary{box-sizing:border-box;width:100%;padding:calc(var(--sn-space) * 1.8);border-radius:var(--sn-radius-pill);background:var(--sn-color-primary);color:var(--sn-color-on-primary);font-family:var(--sn-font-body);font-size:var(--sn-text-base);text-align:center;cursor:pointer;transition:opacity var(--sn-transition), transform var(--sn-transition);border:none;text-decoration:none;display:inline-block}.modal__inner[data-astro-cid-6pkr3ews] .btn-primary:hover{opacity:.88}.modal__inner[data-astro-cid-6pkr3ews] .btn-primary:active{transform:scale(.98)}.modal__inner[data-astro-cid-6pkr3ews] .btn-primary[disabled]{opacity:.55;cursor:wait}.modal__inner[data-astro-cid-6pkr3ews] .btn-ghost{box-sizing:border-box;width:100%;margin-top:var(--sn-space);padding:calc(var(--sn-space) * 1.4);border:1px solid var(--sn-color-accent);border-radius:var(--sn-radius-pill);color:var(--sn-color-text);font-family:var(--sn-font-body);font-size:calc(var(--sn-text-base) * .95);text-align:center;cursor:pointer;background:0 0;display:inline-block}.modal__inner[data-astro-cid-6pkr3ews] .success-mark{width:72px;height:72px;margin:0 auto calc(var(--sn-space) * 2);color:var(--sn-color-primary);display:block}@media (prefers-reduced-motion:no-preference){.modal__inner[data-astro-cid-6pkr3ews] .success-mark circle{stroke-dasharray:214;stroke-dashoffset:214px;animation:.7s forwards draw}.modal__inner[data-astro-cid-6pkr3ews] .success-mark path{stroke-dasharray:48;stroke-dashoffset:48px;animation:.42s .48s forwards draw}@keyframes draw{to{stroke-dashoffset:0}}}.toast[data-astro-cid-6pkr3ews]{left:50%;bottom:calc(var(--sn-space) * 3);z-index:50;padding:calc(var(--sn-space) * 1.6) calc(var(--sn-space) * 3);background:var(--sn-color-text);color:var(--sn-color-bg);border-radius:var(--sn-radius-pill);font-size:calc(var(--sn-text-base) * .95);position:fixed;transform:translate(-50%);box-shadow:0 12px 30px #2f2b284d}@media (prefers-reduced-motion:no-preference){.toast[data-astro-cid-6pkr3ews]:not([hidden]){animation:.3s cubic-bezier(.22,1,.36,1) toast-in}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,12px)}}}@media (width<=900px){.cal-grid[data-astro-cid-6pkr3ews]{grid-template-columns:1fr}.cal-grid[data-astro-cid-6pkr3ews] .cal-day--empty-mobile{display:none}.cal-grid[data-astro-cid-6pkr3ews] .cal-day__head{align-items:baseline;gap:var(--sn-space);text-align:left;display:flex;top:0}.cal-toolbar[data-astro-cid-6pkr3ews]{flex-direction:column;align-items:stretch}.cal-week[data-astro-cid-6pkr3ews],.cal-filters[data-astro-cid-6pkr3ews]{justify-content:center}}
