.cal-shell{max-width:56rem;margin:0 auto;padding:var(--space-4) var(--space-3) var(--space-6);font-family:var(--font-body);color:var(--ink)}.cal-header{text-align:center;margin-block-end:var(--space-4);padding-block-end:var(--space-3);border-block-end:1px solid var(--rule)}.cal-title{font-family:var(--font-display);font-size:clamp(1.4rem,4vw,1.9rem);color:var(--ink-strong);font-weight:500;margin:0 0 var(--space-1);letter-spacing:.005em}.cal-sub{font-family:var(--font-display);font-style:italic;color:var(--ink-faint);font-size:.9rem;margin:0}.cal-nav{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin-block-start:var(--space-3);font-family:var(--font-display);font-size:.9rem}.cal-nav a,.cal-nav span.disabled{color:var(--ink-faint);text-decoration:none;border-bottom:1px dotted var(--rule);padding-bottom:2px}.cal-nav a:hover{color:var(--accent);border-color:var(--accent)}.cal-nav span.disabled{opacity:.4;cursor:default;border-bottom-color:transparent}.cal-nav .cal-today-link{color:var(--accent);font-style:italic}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:0;border-block-start:1px solid var(--rule);border-inline-start:1px solid var(--rule)}.cal-dow{font-family:var(--font-display);font-variant-caps:small-caps;font-size:.7rem;letter-spacing:.1em;color:var(--ink-faint);text-align:center;padding:var(--space-2) 0;border-block-end:1px solid var(--rule);border-inline-end:1px solid var(--rule);background:#b0271a05}.cal-cell{border-block-end:1px solid var(--rule);border-inline-end:1px solid var(--rule);padding:.45rem .5rem .5rem;min-height:5.5rem;display:flex;flex-direction:column;gap:.18rem;font-size:.78rem;line-height:1.25;position:relative;background:var(--bg)}.cal-cell.cell-empty{background:#00000003}.cal-cell .cell-num{font-family:var(--font-display);font-size:.95rem;color:var(--ink-strong);font-variant-numeric:oldstyle-nums;align-self:flex-start}.cal-cell.cell-sunday .cell-num{color:var(--accent)}.cal-cell.cell-today{outline:1px solid var(--accent);outline-offset:-2px}.cal-cell.cell-first-class{background:#b0271a0b}.cal-cell a.cell-link{display:flex;flex-direction:column;gap:.18rem;text-decoration:none;color:inherit;flex:1}.cal-cell a.cell-link:hover .cell-feast,.cal-cell a.cell-link:focus-visible .cell-feast{color:var(--accent)}.cell-feast{font-family:var(--font-display);color:var(--ink-strong);line-height:1.2;hyphens:auto;overflow-wrap:break-word}.cell-feast.feast-feria{font-style:italic;color:var(--ink-faint)}.cell-feast.feast-sunday{font-weight:600}.cell-feast.feast-first-class{color:var(--accent)}.cell-rank{font-style:italic;color:var(--accent);font-size:.68rem;letter-spacing:.01em}.cell-actions{margin-block-start:auto;display:flex;gap:.5ch;font-size:.66rem;color:var(--ink-faint);font-style:italic;opacity:0;transition:opacity var(--transition-fast)}.cal-cell:hover .cell-actions,.cal-cell:focus-within .cell-actions{opacity:1}.cell-actions a{color:var(--ink-faint);text-decoration:none;border-bottom:1px dotted var(--rule)}.cell-actions a:hover{color:var(--accent);border-color:var(--accent)}.cal-legend{margin-block-start:var(--space-4);text-align:center;font-family:var(--font-display);font-size:.78rem;color:var(--ink-faint);line-height:1.7}.cal-legend .legend-mark{display:inline-block;margin:0 .5ch}.cal-legend .lg-first-class{color:var(--accent);font-style:italic}.cal-back{display:block;text-align:center;margin-block-start:var(--space-4);font-family:var(--font-display);font-style:italic;font-size:.85rem;color:var(--ink-faint);text-decoration:none}.cal-back:hover{color:var(--accent)}.cal-index-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.6rem}.cal-index-list li{margin:0}.cal-index-list a{display:block;padding:.85rem 1rem;border:1px solid var(--rule);border-radius:.3em;text-decoration:none;color:var(--ink);text-align:center;font-family:var(--font-display);transition:border-color var(--transition-fast),background var(--transition-fast)}.cal-index-list a:hover{border-color:var(--accent);background:#b0271a0a;color:var(--accent)}.cal-index-list .ci-mo{display:block;font-size:1.05rem;color:var(--ink-strong)}.cal-index-list a:hover .ci-mo{color:inherit}.cal-index-list .ci-yr{display:block;font-style:italic;font-size:.78rem;color:var(--ink-faint);margin-top:.1em}@media(max-width:599.98px){.cal-grid{display:block;border-inline-start:none;border-block-start:none}.cal-dow{display:none}.cal-cell{display:grid;grid-template-columns:2.5rem 1fr;column-gap:.6rem;align-items:baseline;border-inline-end:none;min-height:0;padding:.55rem .4rem}.cal-cell.cell-empty{display:none}.cal-cell .cell-num{font-size:1rem;align-self:baseline}.cal-cell a.cell-link{flex-direction:row;align-items:baseline;flex-wrap:wrap;gap:.4ch .6ch}.cell-rank{font-size:.7rem}.cell-actions{opacity:1;flex-basis:100%;margin:0}.cal-cell.cell-sunday{background:#b0271a06}}
