@layer components{.calendar-table{border-collapse:collapse;inline-size:100%;max-inline-size:56rem;margin-block:var(--sp-6) var(--sp-8);font-size:var(--fs-sm)}.calendar-table caption{max-inline-size:var(--measure)}.calendar-table th,.calendar-table td{text-align:start;padding:var(--sp-2) var(--sp-4);border-block-end:var(--border-hairline);vertical-align:baseline}.calendar-table tbody th{text-transform:capitalize;font-weight:600}.calendar-table .num{font-variant-numeric:tabular-nums;white-space:nowrap}.calendar-nav{gap:var(--sp-6);font-family:var(--font-ui);font-size:var(--fs-sm);margin-block:var(--sp-6);display:flex}.calendar-note{font-size:var(--fs-xs);color:var(--ink-2);max-inline-size:var(--measure);margin-block-start:calc(var(--sp-6) * -1);margin-block-end:var(--sp-8)}.cross-quarter{margin-block:var(--sp-9)}.cross-quarter h3{text-transform:capitalize}.calendar-download{border-block-start:var(--border-hairline);margin-block-start:var(--sp-10);padding-block-start:var(--sp-6)}@media (width<=40rem){.calendar-table{display:block;overflow-x:auto;container-type:inline-size}.calendar-table caption{max-inline-size:100cqi;display:block;position:sticky;inset-inline-start:0}}.calendar-noscript{font-size:var(--fs-sm);color:var(--ink-2)}.calendar-tool{margin-block:var(--sp-8) var(--sp-11)}.calendar-button,.sky-locate__button,.calendar-stream__end button{font-family:var(--font-ui);font-size:var(--fs-sm);white-space:nowrap;padding:var(--sp-3) var(--sp-5);border:var(--border-strong);border-radius:var(--radius-1);background:var(--surface-1);color:var(--ink);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.calendar-button:hover:not(:disabled),.sky-locate__button:hover:not(:disabled),.calendar-stream__end button:hover:not(:disabled){background:var(--surface-2)}.calendar-button:disabled,.sky-locate__button:disabled,.calendar-stream__end button:disabled{opacity:.6;cursor:not-allowed}.calendar-toolbar__nav{align-items:center;gap:var(--sp-4);margin-block:var(--sp-8) var(--sp-5);display:flex}.calendar-toolbar__nav .calendar-button{min-block-size:var(--control-height);min-inline-size:var(--control-height)}.calendar-toolbar__month{font:600 var(--fs-h2) / var(--lh-head) var(--font-display);border-block-start:0;min-inline-size:11ch;margin:0;padding-block-start:0}.calendar-toolbar{align-items:flex-end;gap:var(--sp-4) var(--sp-6);flex-wrap:wrap;margin-block-end:var(--sp-5);display:flex}.calendar-toolbar__go{align-items:flex-end;gap:var(--sp-3);font-family:var(--font-ui);font-size:var(--fs-sm);display:flex}.calendar-toolbar__go label,.calendar-place .gz{gap:var(--sp-2);display:grid}.calendar-toolbar__go label{font-size:var(--fs-sm);color:var(--ink-2)}.calendar-toolbar__go select,.calendar-toolbar__go input,.calendar-toolbar .calendar-button,.calendar-toolbar .sky-locate__button{min-block-size:var(--control-height)}.calendar-toolbar__go select,.calendar-toolbar__go input{font:inherit;font-size:var(--fs-field);line-height:var(--lh-ui);color:var(--ink);background:var(--surface-1);border:var(--border-hairline);border-radius:var(--radius-2);padding:var(--sp-3) var(--sp-5)}.calendar-toolbar__go input{inline-size:calc(4ch + 3.75rem)}.calendar-place{align-items:flex-end;gap:var(--sp-4);flex:auto;min-inline-size:0;display:flex}.calendar-place .gz{flex:0 22rem;min-inline-size:6rem}.calendar-place .sky-locate{flex:none}.calendar-kinds{margin:var(--sp-5) 0;gap:var(--sp-3) var(--sp-6);border:0;flex-wrap:wrap;padding:0;display:flex}.calendar-kinds legend{font-family:var(--font-ui);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--ink-3);padding:0}.calendar-kinds label{align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);display:inline-flex}.calendar-zone{font-size:var(--fs-sm);color:var(--ink-2);margin:var(--sp-3) 0}.calendar-body{gap:var(--sp-8);grid-template-columns:minmax(18rem,25rem) minmax(0,1fr);align-items:start;margin-block-start:var(--sp-6);display:grid}@media (width<=64rem){.calendar-body{grid-template-columns:minmax(0,1fr)}.calendar-wheel-box{order:2;max-inline-size:24rem;margin-inline:auto}}.calendar-wheel-frame{position:relative}.calendar-wheel{inline-size:100%;height:auto;font-family:var(--font-ui);display:block}.calendar-wheel__turn,.calendar-wheel__upright{transform-origin:0 0;transition:transform .6s cubic-bezier(.2,.7,.2,1)}@media (prefers-reduced-motion:reduce){.calendar-wheel__turn,.calendar-wheel__upright{transition:none}}.calendar-wheel__ring{stroke:var(--rule-strong);stroke-width:.6px;fill:none}.calendar-wheel__month{fill:var(--surface-1);stroke:var(--surface-0);stroke-width:.6px;cursor:pointer}.calendar-wheel__month.is-open{fill:var(--surface-2);stroke:var(--accent);stroke-width:.8px}.calendar-wheel__month:hover{fill:var(--surface-2)}.calendar-wheel__month:focus-visible{stroke:var(--focus);stroke-width:1.2px;outline:none}.calendar-wheel__label{fill:var(--ink-2);letter-spacing:.3px;font-size:6.2px}.calendar-wheel__label.is-open{fill:var(--ink)}.calendar-wheel__cardinal{fill:var(--ink-3);font-size:5.4px}.calendar-wheel__cardinal text{text-transform:uppercase;letter-spacing:.4px}.calendar-wheel__cardinal line{stroke:var(--rule-strong);stroke-width:.6px}.calendar-wheel__term{stroke:var(--rule-strong);stroke-width:.5px}.calendar-wheel__term--major{stroke:var(--ink-3);stroke-width:.8px}.calendar-wheel__hit{fill:#0000;stroke:none}.calendar-wheel__markgroup{cursor:pointer}.calendar-wheel__markgroup:hover .calendar-wheel__mark,.calendar-wheel__markgroup:focus-visible .calendar-wheel__mark{stroke:var(--focus);stroke-width:1px}.calendar-wheel__markgroup:focus-visible{outline:none}.calendar-wheel__mark--festival{fill:var(--ink)}.calendar-wheel__mark--moon{stroke:var(--ink-2);stroke-width:.5px;fill:var(--ink-2)}.calendar-wheel__mark--eclipse{stroke:var(--danger)}.calendar-wheel__sun{fill:var(--body-lum);stroke:var(--surface-0);stroke-width:.6px}.calendar-wheel__picked{fill:none;stroke:var(--ink);stroke-width:.8px}.calendar-wheel__year{fill:var(--ink-3);font-family:var(--font-display)}.calendar-wheel__tip{z-index:2;inline-size:max-content;max-inline-size:12rem;transform:translate(-50%, calc(-100% - var(--sp-3)));gap:var(--sp-1);padding:var(--sp-3) var(--sp-4);font-family:var(--font-ui);font-size:var(--fs-2xs);line-height:var(--lh-snug);color:var(--ink-2);background:var(--surface-0);border:var(--border-hairline);border-radius:var(--radius-2);box-shadow:var(--shadow-1);pointer-events:none;display:grid;position:absolute}.calendar-wheel__tip strong{color:var(--ink);font-size:var(--fs-xs)}.calendar-wheel__tip-detail{color:var(--ink-3)}.calendar-wheel__key{justify-content:center;gap:var(--sp-2) var(--sp-5);margin:var(--sp-3) 0 0;font-family:var(--font-ui);font-size:var(--fs-2xs);color:var(--ink-3);flex-wrap:wrap;padding:0;list-style:none;display:flex}.calendar-wheel__key li{align-items:center;gap:var(--sp-2);display:inline-flex}.calendar-wheel__key svg{block-size:12px;inline-size:12px}.calendar-grid{border-collapse:collapse;table-layout:fixed;inline-size:100%;font-family:var(--font-ui)}.calendar-grid th{font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--ink-3);padding-block:var(--sp-2);text-align:start;border-block-end:var(--border-hairline)}.calendar-cell{vertical-align:top;block-size:6.5rem;padding:var(--sp-2) var(--sp-3);border:var(--border-hairline);cursor:pointer;font-variant-numeric:tabular-nums;position:relative}.is-outside .calendar-cell__day,.is-outside .calendar-cell__events{color:var(--ink-3)}.is-outside .calendar-cell__moon{opacity:.55}.is-picked{background:var(--surface-1);box-shadow:inset 0 0 0 2px var(--ink)}.calendar-cell:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.calendar-cell__day{font-size:var(--fs-sm);text-align:center;border-radius:999px;min-inline-size:1.6em;padding:.3em .2em;font-weight:600;line-height:1;display:inline-block}.is-today .calendar-cell__day{background:var(--accent);color:var(--surface-0)}.calendar-cell__moon{border-radius:50%;block-size:28px;inline-size:28px;position:absolute;inset-block-start:var(--sp-2);inset-inline-end:var(--sp-3)}.calendar-cell__moon-dark{fill:var(--surface-2)}.calendar-cell__moon-lit{fill:var(--body-lum)}.calendar-cell__light{--band:color-mix(in oklab, var(--body-lum) 55%, transparent);block-size:4px;margin-block:var(--sp-2);background:linear-gradient(to right, transparent var(--dawn), var(--band) var(--from), var(--band) var(--to), transparent var(--dusk));border-radius:2px;display:block}.calendar-cell__light.is-all-day{background:var(--band)}.calendar-cell__light.is-none{visibility:hidden;background:0 0}.calendar-cell__events{font-size:var(--fs-2xs);color:var(--ink-2);margin:0;padding:0;line-height:1.25;list-style:none}.calendar-cell__events li{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.calendar-cell__events li[data-kind=cardinal-point],.calendar-cell__events li[data-kind=eclipse]{color:var(--ink);font-weight:600}.calendar-cell__events li[data-kind=festival]{color:var(--ink)}.calendar-cell__overflow{color:var(--ink-3)}.calendar-grid[data-turned] tbody{animation:.22s ease-out calendar-turn}@keyframes calendar-turn{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.calendar-grid[data-turned] tbody{animation:none}}@media (width<=48rem){.calendar-cell{block-size:4.2rem;padding:var(--sp-1) var(--sp-2)}.calendar-cell__moon{block-size:18px;inline-size:18px}.calendar-cell__day{font-size:var(--fs-xs)}.calendar-cell__events{flex-wrap:wrap;gap:3px;display:flex}.calendar-cell__events li{block-size:5px;inline-size:5px;color:var(--ink-2);text-indent:100%;white-space:nowrap;background:currentColor;border-radius:50%;font-size:0;overflow:hidden}.calendar-cell__overflow{display:none}.calendar-grid th{font-size:10px}}.calendar-day{gap:var(--sp-8);margin-block:var(--sp-10);grid-template-columns:auto minmax(0,1fr);align-items:start;display:grid}@media (width<=48rem){.calendar-day{text-align:center;grid-template-columns:minmax(0,1fr);justify-items:center}}.calendar-day__moon{block-size:280px;inline-size:280px;box-shadow:0 0 60px -20px color-mix(in oklab, var(--body-lum) 40%, transparent);border-radius:50%}@media (width<=48rem){.calendar-day__moon{block-size:200px;inline-size:200px}}.calendar-day__facts{gap:var(--sp-2) var(--sp-5);margin:var(--sp-4) 0 var(--sp-6);grid-template-columns:auto 1fr;display:grid}.calendar-day__facts dt{color:var(--ink-3);text-transform:uppercase;font-family:var(--font-ui);font-size:var(--fs-2xs);letter-spacing:var(--tracking-wide)}.calendar-day__facts dd{font-size:var(--fs-sm);margin:0}.calendar-day__empty{font-size:var(--fs-sm);color:var(--ink-2)}.calendar-day__events{gap:var(--sp-4);margin:0;padding:0;list-style:none;display:grid}.calendar-coming{margin-block:var(--sp-10) var(--sp-11)}.calendar-stream__list{max-inline-size:56rem;margin:0;padding:0;list-style:none}.calendar-stream__note,.calendar-stream__empty{font-size:var(--fs-sm);color:var(--ink-2)}.calendar-stream__heading{background:var(--surface-0);padding-block:var(--sp-3);font:600 var(--fs-h3) / var(--lh-head) var(--font-display);z-index:1;border-block-end:var(--border-hairline);margin:0;position:sticky;inset-block-start:57px}.calendar-stream__end{padding-block:var(--sp-8)}.calendar-stream__warning{font-size:var(--fs-sm);color:var(--ink-2);border-inline-start:2px solid var(--accent);padding-inline-start:var(--sp-5)}.calendar-stream__row{gap:var(--sp-2) var(--sp-6);padding-block:var(--sp-4);border-block-start:var(--border-hairline);grid-template-columns:minmax(9rem,12rem) minmax(0,1fr);display:grid}.calendar-stream__when{font-family:var(--font-ui);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;color:var(--ink)}.calendar-stream__more{font-size:var(--fs-xs);color:var(--ink-3);display:block}.calendar-stream__title{margin:0;font-weight:600}.calendar-stream__kind{font-family:var(--font-ui);font-size:var(--fs-xs);color:var(--ink-3);text-transform:uppercase;letter-spacing:var(--tracking-wide);font-weight:400}.calendar-stream__detail,.calendar-stream__datings{margin:var(--sp-1) 0 0;font-size:var(--fs-sm);color:var(--ink-2)}.calendar-stream__datings{padding:0;list-style:none}.calendar-stream__date{font-variant-numeric:tabular-nums;color:var(--ink)}.calendar-stream__grade{font-family:var(--font-ui);font-size:var(--fs-xs);color:var(--accent);font-weight:700;text-decoration:none}@media (width<=40rem){.calendar-stream__row{grid-template-columns:minmax(0,1fr)}}}
