.cal-controls{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);gap:1rem;max-width:46rem;padding:1.25rem;display:grid}.cal-layouts{border:0;flex-wrap:wrap;gap:.5rem 1.5rem;margin:0;padding:0;display:flex}.cal-layouts legend{margin-bottom:.5rem;padding:0;font-weight:600}.cal-layouts label{cursor:pointer;align-items:center;gap:.4rem;display:flex}.cal-fields{grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:.75rem 1rem;display:grid}.cal-fields label{gap:.25rem;display:grid}.cal-holidays{border:0;gap:.75rem;margin:0;padding:0;display:grid}.cal-holidays legend{margin-bottom:.5rem;padding:0;font-weight:600}.cal-holiday-groups{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.75rem 1.5rem;display:grid}.cal-holiday-group{align-content:start;gap:.3rem;display:grid}.cal-holiday-group-name{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.85rem}.cal-holiday-group label{cursor:pointer;align-items:baseline;gap:.4rem;display:flex}.cal-custom summary{cursor:pointer}.cal-custom-label{gap:.4rem;margin-top:.5rem;font-size:.9rem;display:grid}.cal-custom textarea{background:var(--bg);width:100%;color:var(--text);border:1px solid var(--border);border-radius:var(--radius);font:inherit;padding:.45rem .6rem}.cal-custom-error{color:#c4302b;margin:.25rem 0 0;font-size:.9rem}.cal-custom-error:empty{display:none}.cal-holiday-note{color:var(--muted);margin:0;font-size:.85rem}.cal-print{justify-self:start}.cal-summary{min-height:1.6em;color:var(--muted)}.cal-pages{flex-direction:column;gap:1.5rem;display:flex}.cal-page{width:100%;max-width:42rem;aspect-ratio:var(--page-ratio);color:#111;color-scheme:light;-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff;box-shadow:0 1px 3px #00000026,0 8px 24px #00000014;container-type:inline-size}.cal-page-week{max-width:60rem}.cal-sheet{--line:max(1px, .12cqw) solid #333;--line-soft:max(1px, .1cqw) solid #c9c9c9;height:100%;font-family:var(--font);flex-direction:column;padding:5cqw;display:flex}.cal-page-week .cal-sheet{padding:3.5cqw 4cqw}.cal-title{font-family:var(--font-heading);letter-spacing:.04em;margin:0 0 2.5cqw;font-size:5.5cqw;font-weight:400;line-height:1}.cal-title-year{color:#777}.cal-page-year .cal-title{text-align:center}.cal-page-week .cal-title{margin-bottom:2cqw;font-size:3cqw}.cal-out,.cal-out span{color:#b5b5b5}.cal-year-grid{grid-template-columns:repeat(var(--cols), 1fr);grid-template-rows:repeat(var(--rows), 1fr);gap:calc(3cqw * var(--fit,1)) 5cqw;flex:1;align-content:start;display:grid}.cal-mini-title{font-family:var(--font-heading);font-size:calc(6.6cqw / var(--cols) * var(--fit,1));letter-spacing:.04em;margin:0 0 1.2cqw;font-weight:400}.cal-mini-grid{font-size:calc(4.5cqw / var(--cols) * var(--fit,1));text-align:center;grid-template-columns:repeat(7,1fr);line-height:1.9;display:grid}.cal-mini-grid .cal-hol{text-underline-offset:.15em;font-weight:700;text-decoration:underline}.cal-mini-grid .cal-hol-off{background:#e4e4e4;border-radius:999px}.cal-year-hols{columns:3;margin:calc(2cqw * var(--fit,1)) 0 0;padding:calc(1.5cqw * var(--fit,1)) 0 0;border-top:var(--line-soft);font-size:calc(1.3cqw * var(--fit,1));column-gap:3cqw;line-height:1.45;list-style:none}.cal-year-hols li{break-inside:avoid}.cal-mini-grid .cal-wd{border-bottom:var(--line-soft);color:#666;font-weight:700}.cal-month-grid{grid-template-columns:repeat(7,1fr);grid-template-rows:auto repeat(var(--weeks), minmax(0, 1fr));border-top:var(--line);border-left:var(--line);flex:1;display:grid}.cal-month-grid>div{border-right:var(--line);border-bottom:var(--line)}.cal-month-grid .cal-wd{letter-spacing:.05em;text-align:center;text-transform:uppercase;background:#f1f1f1;padding:.9cqw;font-size:1.6cqw;font-weight:700}.cal-day{overflow:hidden}.cal-day span{padding:.8cqw 1cqw;font-size:2.1cqw;font-weight:700;display:block}.cal-off{background:#efefef}.cal-hols{margin:0;padding:0 1cqw;font-size:1.3cqw;line-height:1.25;list-style:none}.cal-hols li+li{margin-top:.3cqw}.cal-week-grid{border-top:var(--line);border-left:var(--line);flex:1;grid-template-columns:repeat(7,1fr);display:grid}.cal-col{border-right:var(--line);border-bottom:var(--line);flex-direction:column;display:flex}.cal-col-head{border-bottom:var(--line);background:#f1f1f1;gap:.2cqw;padding:.8cqw 1cqw;display:grid}.cal-col-name{letter-spacing:.05em;text-transform:uppercase;font-size:1.15cqw;font-weight:700}.cal-col-date{font-family:var(--font-heading);letter-spacing:.04em;font-size:1.9cqw}.cal-col-hols{font-size:1.05cqw;line-height:1.3}.cal-col.cal-off .cal-col-head{background:#e2e2e2}.cal-col.cal-off{background:0 0}.cal-col-body{flex:1;grid-template-rows:repeat(12,1fr);display:grid}.cal-col-body span{border-bottom:var(--line-soft)}.cal-col-body span:last-child{border-bottom:0}@media print{.site-header,.site-footer,main>:not([data-tool=calendar]),.cal-controls,.cal-summary{display:none!important}html,body{background:#fff!important}body{min-height:0;display:block}main.container{width:auto;max-width:none;margin:0;padding:0}.cal-pages{display:block}.cal-page{width:var(--page-w);height:var(--page-h);aspect-ratio:auto;max-width:none;box-shadow:none;break-after:page;break-inside:avoid;overflow:hidden}.cal-page:last-child{break-after:auto}}.cal-links{columns:2 16rem}.cal-prev-next{justify-content:space-between;gap:1rem;margin-top:1.5rem;display:flex}
