.cal{display:grid;gap:var(--space-4)}.cal-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.cal-title{flex:1 1 auto;margin:0;font-size:var(--text-xl)}.cal-controls{display:contents}.cal-nav{display:flex;gap:var(--space-2)}.cal-check{flex-basis:100%}.cal-btn{display:inline-flex;align-items:center;justify-content:center;min-width:var(--tap-size);min-height:var(--tap-size);padding-inline:var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-bg);color:var(--color-text);font:inherit;cursor:pointer}.cal-btn[aria-pressed=true]{background:var(--color-brand);border-color:var(--color-brand);color:var(--color-on-brand);font-weight:700}.cal-seg{display:inline-flex}.cal-seg .cal-btn:first-child{border-start-end-radius:0;border-end-end-radius:0}.cal-seg .cal-btn:last-child{border-start-start-radius:0;border-end-start-radius:0;margin-inline-start:-1px}.cal-check{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--tap-size)}.cal-check input{margin:0;width:1.25rem;height:1.25rem;accent-color:var(--color-brand)}.cal-grid{width:100%;table-layout:fixed;border-collapse:collapse}.cal-grid th{padding-block:var(--space-2);font-size:var(--text-sm);font-weight:600;color:var(--color-text-muted)}.cal-grid td{padding:0;border:1px solid var(--color-border);height:4.5rem;vertical-align:top}.cal-cell{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;width:100%;height:100%;padding:var(--space-1);border:0;background:transparent;color:var(--color-text);font:inherit;text-align:start;cursor:pointer}.cal-cell-out{color:var(--color-text-muted);background:var(--color-surface)}.cal-num{order:1;display:inline-flex;align-items:center;justify-content:center;min-width:1.75rem;height:1.75rem;border-radius:var(--radius-pill);font-weight:600}.cal-alt{position:absolute;inset-inline-end:.5rem;top:.4rem;font-size:.75rem;color:var(--color-text-muted)}.cal-cell{position:relative}.cal-today .cal-num{background:var(--color-brand);color:var(--color-on-brand)}.cal-selected{outline:3px solid var(--color-brand);outline-offset:-3px;background:var(--color-surface)}.cal-marks{order:0;display:flex;flex-wrap:wrap;align-items:center;gap:2px;line-height:1;margin-top:.25rem;margin-inline-start:.25rem;padding-inline-end:1.75rem}.mk{display:inline-flex;align-items:center;justify-content:center;font-size:.8rem;line-height:1}.mk-dot:before{content:"";box-sizing:border-box;width:.625rem;height:.625rem;border:1px solid var(--color-text-muted);border-radius:50%;background:var(--mk-hl, currentColor)}.mk-us{padding:0 3px;border:1px solid var(--color-text-muted);border-radius:var(--radius-sm);font-size:.625rem;font-weight:700}.mk-orthodox,.mk-islamic,.mk-us{color:var(--color-text);background:var(--mk-hl)}.mk-dot.mk-orthodox,.mk-dot.mk-islamic,.mk-dot.mk-us{background:none}.mk:not(.mk-dot):not(.mk-us).mk-orthodox,.mk:not(.mk-dot):not(.mk-us).mk-islamic{padding:0 3px;border-radius:var(--radius-sm)}.mk-orthodox{--mk-hl: var(--color-orthodox-hl)}.mk-islamic{--mk-hl: var(--color-islamic-hl)}.mk-us{--mk-hl: var(--color-us-hl)}.mk-swatch{box-sizing:border-box;width:1.125rem;height:.75rem;padding:0;border:1px solid var(--color-text-muted);border-radius:var(--radius-sm)}.mk-national{color:var(--color-text)}.cal-legend{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5);margin:0;padding:0;list-style:none;font-size:var(--text-sm);color:var(--color-text-muted)}.cal-legend li{display:inline-flex;align-items:center;gap:var(--space-2)}@media(min-width:640px){.cal-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--space-3);margin-inline-start:auto}.cal-grid td{height:5.5rem}.cal-num{min-width:2rem;height:2rem}}.pn{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.pn-title{margin:0 0 var(--space-3);font-size:var(--text-lg)}.pn-dates{display:grid;gap:var(--space-2);margin:0 0 var(--space-4)}.pn-dates div{display:flex;justify-content:space-between;gap:var(--space-3)}.pn-dates dt{color:var(--color-text-muted)}.pn-dates dd{margin:0;font-weight:600;text-align:end}.pn-group h4{margin:var(--space-4) 0 var(--space-2);font-size:var(--text-base)}.pn-list{display:grid;gap:var(--space-2);margin:0;padding:0;list-style:none}.pn-item{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--color-border);border-inline-start:6px solid var(--tradition-hl)}.pn-orthodox{--tradition: var(--color-orthodox);--tradition-hl: var(--color-orthodox-hl)}.pn-islamic{--tradition: var(--color-islamic);--tradition-hl: var(--color-islamic-hl)}.pn-us{--tradition: var(--color-us);--tradition-hl: var(--color-us-hl)}.pn-national{--tradition: var(--color-text-muted);--tradition-hl: var(--color-border)}.pn-name,.pn-meta{margin:0}.pn-meta{font-size:var(--text-sm);color:var(--color-text-muted)}.pn-tag{display:inline-block;margin-inline-end:var(--space-1);padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--tradition-hl);font-size:var(--text-sm);font-weight:600;color:var(--color-text)}.pn-empty{margin:0;color:var(--color-text-muted)}.es-title{margin:0 0 var(--space-3);font-size:var(--text-lg)}.es-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3)}.es-chip{min-height:var(--tap-size);padding-inline:var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-bg);color:var(--color-text);font:inherit;cursor:pointer}.es-chip[aria-pressed=true]{background:var(--color-brand);border-color:var(--color-brand);color:var(--color-on-brand);font-weight:700}.es-list{display:grid;gap:var(--space-2);margin:0;padding:0;list-style:none}.es-item{display:grid;gap:var(--space-1);width:100%;min-height:var(--tap-size);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-inline-start:6px solid var(--tradition-hl);border-radius:var(--radius-sm);background:transparent;color:var(--color-text);font:inherit;text-align:start;cursor:pointer}.es-date{font-size:var(--text-sm);color:var(--color-text-muted)}.es-note{font-size:var(--text-sm);font-weight:600}.cal-body{display:grid;gap:var(--space-4)}.cal-main,.cal-side{display:grid;gap:var(--space-4);align-content:start;min-width:0}@media(min-width:1024px){.cal-body{grid-template-columns:minmax(0,2fr) minmax(20rem,1fr);gap:var(--space-5)}}
