/* Play Days: a welcoming calendar with the complete text agenda and native navigation. */
@font-face{font-family:'Outfit';font-style:normal;font-weight:400 800;font-display:swap;src:url('/assets/fonts/outfit-latin.woff2') format('woff2')}
:root{--calendar-ivory:#fffdf4;--calendar-cream:#f5e7c0;--calendar-ochre:#543967;--calendar-autumn:#fff2d5;--calendar-green:#ede6f6;--calendar-gold:#f7b954;--calendar-border:#c6bdce}
body:has(.calendar-hero){--sans:'Outfit',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--ink:#362c49;--forest:#362c49;--deep:#292035;--muted:#51445f;--line:#ded7e8;--mist:#ede6f6;--gold:#f7b954;background:var(--calendar-ivory);color:var(--ink);font-family:var(--sans)}
.calendar-hero :is(h1,h2,h3,h4),.calendar-content :is(h1,h2,h3,h4){font-family:var(--sans);font-weight:750;letter-spacing:-.025em}
body:has(.calendar-hero) .site-header{background:var(--calendar-ivory);border-bottom:1px solid var(--line)}
body:has(.calendar-hero) .header-row{gap:1.25rem}
/* Keep the shared logo's typography and colors independent of the calendar theme. */
body:has(.calendar-hero) .brand{font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
body:has(.calendar-hero) .site-header .brand{--forest:#123e32;color:#153c31}
html[data-reading="contrast"] body:has(.calendar-hero) .site-header .brand{--forest:#000;color:#000}
body:has(.calendar-hero) .nav{gap:.75rem;font-family:var(--sans)}
body:has(.calendar-hero) .nav a{padding:.5rem .45rem;font-weight:650}
body:has(.calendar-hero) .nav a[aria-current="page"]{text-decoration-thickness:3px;text-underline-offset:.4em}
body:has(.calendar-hero) .nav .nav-visit{background:var(--forest);color:var(--paper);padding:.6rem 1.1rem;border-radius:999px}
body:has(.calendar-hero) .read-aloud-toggle{border-radius:50%;color:var(--ink);border-color:var(--ink)}
.calendar-content .button{border-radius:999px;font-family:var(--sans)}
main:has(>.calendar-hero){background:var(--calendar-ivory)}
.calendar-hero,.calendar-content{overflow-wrap:anywhere}
.calendar-content :is(a,button,input,summary):focus-visible{outline:3px solid #9a3d00;outline-offset:4px}
.calendar-hero svg,.calendar-content svg{width:21px;height:21px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7}
.calendar-hero{background:var(--calendar-green);color:var(--ink);border-bottom:0}
.calendar-hero-inner{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:2rem;align-items:center;min-height:370px;padding-top:1.6rem;padding-bottom:1.9rem}
.calendar-hero-copy{padding:.1rem 0;min-width:0}
.calendar-hero-copy:only-child{grid-column:1/-1;padding-right:0}
.calendar-hero .breadcrumb{font-size:.82rem;margin:0 0 .5rem;color:var(--muted)}
.calendar-hero .eyebrow{color:var(--calendar-ochre);margin-bottom:.85rem;font-size:.75rem;font-weight:750;letter-spacing:.12em}
.calendar-hero h1{font-size:clamp(2.5rem,4.6vw,4rem);font-weight:800;line-height:1.02;letter-spacing:-.045em;margin:0 0 1rem}
.calendar-hero h1 em{color:var(--calendar-ochre);font-style:normal;font-weight:800}
.calendar-hero-description{font-size:1.05rem;line-height:1.55!important;margin:0 0 1rem;max-width:34rem}
.calendar-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem 1.25rem}
.calendar-hero-actions .button{display:inline-flex;gap:.55rem;align-items:center;justify-content:center;min-height:48px;max-width:100%;padding:.7rem 1.2rem;background:var(--calendar-gold);color:var(--ink);border:2px solid transparent;border-radius:999px;text-align:center;font-weight:750}
.calendar-hero-subscribe{display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:650;min-height:48px;max-width:100%}
.calendar-hero a:focus-visible{outline:3px solid var(--ink);outline-offset:5px}
.calendar-today-note{margin:.9rem 0 0;font-size:.78rem;line-height:1.55!important}
.calendar-today-note strong{margin-right:.6rem;font-weight:650}.calendar-today-note time{display:inline-block}
.calendar-hero-art{position:relative;margin:1rem .65rem .65rem;min-width:0;min-height:0;background:var(--paper);border:9px solid var(--paper);border-radius:18px;transform:rotate(2deg);box-shadow:0 7px 0 #d6cce2}
.calendar-hero-art img{display:block;width:100%;height:250px;object-fit:cover;object-position:40% 55%;border-radius:10px 10px 2px 2px}
.calendar-hero-art figcaption{position:static;background:var(--paper);color:var(--muted);padding:.65rem .45rem .3rem;font-size:.8rem;line-height:1.5;max-width:100%}
.calendar-hero-art figcaption strong{display:block;font-size:1.1rem;font-weight:750;color:var(--ink)}
.calendar-hero-art figcaption span{display:block;margin-top:.1rem}
.calendar-hero-sticker{position:absolute;top:-1.4rem;right:-.55rem;display:grid;place-content:center;text-align:center;width:6.2rem;min-height:6.2rem;padding:.8rem;border-radius:50%;background:var(--calendar-gold);color:var(--ink);font:800 1rem/1.1 var(--sans);transform:rotate(8deg);box-shadow:0 3px 0 #362c4920}
.calendar-card-art figcaption{position:absolute;right:.8rem;bottom:.8rem;background:var(--deep);color:var(--paper);padding:.3rem .55rem;font-size:.75rem;line-height:1.5;max-width:calc(100% - 1.6rem);border-radius:6px}
.calendar-content{padding-top:2.1rem;padding-bottom:4rem}
/* A dedicated date row reserves space for the badge; text cannot sit beneath it. */
.calendar-next-events{margin-bottom:1.8rem}
.calendar-next-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem 2rem;margin-bottom:1.1rem}
.calendar-next-heading .eyebrow{font-size:.72rem;letter-spacing:.14em;color:var(--calendar-ochre);margin-bottom:.4rem}
.calendar-next-heading h2{font-size:clamp(1.8rem,3.1vw,2.45rem);margin:0;line-height:1.15}
.calendar-next-heading>.text-link{display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem;flex-shrink:0}
.calendar-next-cards{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.35rem}
main .calendar-next-cards>li,main .calendar-agenda>li,main .calendar-day-events>li,main .calendar-grid-events>li{max-width:none;min-width:0}
main .calendar-next-cards>li{margin:0}
.calendar-next-cards article{display:flex;flex-direction:column;height:100%;min-width:0;background:var(--paper);border:1px solid var(--calendar-border);border-radius:18px;box-shadow:0 4px 0 #ede6f6}
.calendar-card-art{position:relative;margin:0;min-width:0;background:var(--calendar-cream);border-radius:17px 17px 0 0;overflow:hidden}
.calendar-card-art img{display:block;width:100%;height:170px;object-fit:cover;object-position:40% 53%}
.calendar-card-art figcaption{right:.6rem;bottom:.65rem;font-size:.72rem}
.calendar-next-body{position:relative;display:grid;grid-template-columns:3.7rem minmax(0,1fr);column-gap:.8rem;align-content:start;flex:1;padding:1rem 1.15rem}
.calendar-card-date{grid-column:1;grid-row:1;position:relative;align-self:start;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:4.5rem;margin-top:-2rem;background:var(--calendar-gold);color:var(--ink);border:3px solid var(--paper);border-radius:12px;box-shadow:0 2px 5px #362c4920}
.calendar-theme-autumn .calendar-card-date{background:var(--calendar-gold)}
.calendar-next-cards article:not(:has(.calendar-card-art)) .calendar-card-date{margin-top:0}
.calendar-card-date span{font:700 .7rem/1.4 var(--sans);letter-spacing:.09em;text-transform:uppercase}.calendar-card-date strong{font:800 2rem/1.05 var(--sans)}
.calendar-next-cards .calendar-next-date{grid-column:2;grid-row:1;align-self:center;min-height:2.65rem;display:flex;align-items:center;font-size:.8rem;font-weight:650;line-height:1.45;margin:0 0 .5rem;color:var(--muted)}
.calendar-next-cards h3{grid-column:1/-1;font-size:clamp(1.35rem,1.9vw,1.7rem);line-height:1.24;letter-spacing:-.01em;margin:0 0 .6rem}
.calendar-next-cards h3 a{display:inline-flex;align-items:center;min-height:44px;text-decoration-thickness:1px;text-underline-offset:.15em}
.calendar-next-cards .calendar-next-time{grid-column:1/-1;font-size:.9rem;line-height:1.5;margin:0 0 .85rem;color:var(--muted)}
.calendar-card-foot{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-top:auto;padding-top:.65rem;border-top:1px solid var(--line)}
.calendar-card-arrow{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:50%;color:var(--ink);background:var(--calendar-green);border:1px solid transparent}
.calendar-card-arrow:hover{background:var(--calendar-gold);border-color:var(--ink)}
.calendar-status-badge{display:inline-flex;align-items:center;gap:.45rem;font-size:.8rem;line-height:1.5;font-weight:650;color:var(--muted)}
.calendar-status-badge:before{content:"";width:.4rem;height:.4rem;flex:0 0 .4rem;border-radius:50%;background:currentColor}
.calendar-status-badge:is([data-event-status="cancelled"],[data-event-status="postponed"],[data-event-status="rescheduled"]){color:var(--ink);border-bottom:2px solid currentColor;padding-bottom:.1rem}
.calendar-status-badge[data-event-status="cancelled"]:before{border-radius:0}
/* The native links and month input form one wrapping navigation area. */
.calendar-health{margin:0 0 1.25rem;border-left:3px solid var(--forest);border-radius:0 12px 12px 0;padding:.75rem 1rem;background:var(--calendar-green)}
.calendar-health p{font-size:.8rem;line-height:1.65;max-width:none;margin:0;color:var(--muted)}
.calendar-health-attention{border-left:4px double var(--calendar-ochre);background:var(--calendar-autumn)}
.calendar-month{background:var(--paper);padding:1.35rem 1.5rem 1.5rem;border:1px solid var(--calendar-border);border-radius:20px;scroll-margin-top:1rem}
.calendar-view-controls{display:flex;align-items:stretch;flex-wrap:wrap;gap:.6rem;padding:0;margin:0 0 1.7rem;background:transparent;border:0}
.calendar-view-controls a{display:inline-flex;justify-content:center;align-items:center;min-height:48px;max-width:100%;padding:.55rem 1.15rem;font-weight:650;font-size:.9rem;line-height:1.45;text-align:center;border:1px solid #7b6c8b;border-radius:999px;text-decoration:none;background:var(--calendar-ivory)}
.calendar-view-controls a:hover{background:var(--calendar-green);text-decoration:underline;text-underline-offset:.2em}
.calendar-view-controls a[aria-current]{background:var(--forest);color:var(--paper);border-color:var(--forest);text-decoration:underline;text-underline-offset:.25em;text-decoration-thickness:2px}
.calendar-view-controls .calendar-weekend-control{flex-direction:column;gap:.05rem}.calendar-weekend-control small{display:block;font-size:.75rem;font-weight:500}.calendar-view-controls .calendar-next-event{margin-left:auto;text-decoration:underline;text-underline-offset:.2em}
.calendar-toolbar{display:flex;align-items:end;justify-content:space-between;flex-wrap:wrap;gap:1rem 2rem}.calendar-toolbar>div{min-width:0}
.calendar-toolbar .eyebrow{font-size:.7rem;color:var(--calendar-ochre);letter-spacing:.13em;margin-bottom:.45rem}.calendar-toolbar h2{font-size:clamp(2rem,3.1vw,2.7rem);line-height:1.2;margin:0}
.calendar-month-form{min-width:0;max-width:100%}.calendar-month-form label{display:block;font-size:.8rem;font-weight:700;margin-bottom:.35rem}.calendar-month-form>div{display:flex;align-items:stretch;flex-wrap:wrap;gap:.5rem}
.calendar-month-form input{font:inherit;font-size:.9rem;min-height:48px;min-width:0;max-width:100%;color:var(--ink);background:var(--calendar-ivory);border:1px solid var(--muted);border-radius:10px;padding:.55rem .65rem}
.calendar-month-form .button{min-height:48px;font-size:.85rem;padding:.55rem .85rem;white-space:normal;text-align:center}
.calendar-month-navigation{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:.8rem;align-items:center;padding:.45rem 0;margin-top:1.1rem;border-block:1px solid var(--line)}
.calendar-month-navigation a{display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:650;min-height:48px;min-width:44px;padding:.3rem .1rem}
.calendar-previous{justify-self:start}.calendar-current{justify-self:center}.calendar-next{justify-self:end;text-align:right}.calendar-range-limit{font-size:.85rem;color:var(--muted)}
.calendar-refresh-note{font-size:.8rem;color:var(--muted);margin:.75rem 0 .3rem}.calendar-refresh-note a{margin-left:.35rem;display:inline-flex;align-items:center;min-height:44px}.calendar-list-jump{font-size:.85rem;margin:0 0 .4rem}.calendar-list-jump a{min-height:44px;display:inline-flex;align-items:center}.calendar-weekend-range{font-size:.9rem;color:var(--muted);margin:.7rem 0 0}
/* Native desktop table; the equivalent agenda replaces it on small screens. */
.calendar-grid{width:100%;table-layout:fixed;border-collapse:collapse;border:1px solid var(--calendar-border)}
.calendar-grid caption{text-align:left;font-size:.8rem;color:var(--muted);padding:0 0 .8rem}.calendar-grid th{font-size:.8rem;font-weight:650;letter-spacing:.06em;background:var(--forest);color:var(--paper);padding:.8rem .4rem}.calendar-grid th abbr{text-decoration:none}
.calendar-grid td{border:1px solid var(--calendar-border);height:6.25rem;vertical-align:top;padding:.6rem .5rem;background:var(--paper)}.calendar-grid .calendar-outside{background:var(--calendar-ivory)}.calendar-grid .calendar-has-events{background:var(--calendar-autumn)}.calendar-grid .calendar-has-events:has(.calendar-theme-evergreen){background:var(--calendar-green)}
.calendar-day-number{display:flex;align-items:baseline;gap:.3rem;flex-wrap:wrap;font-size:.95rem;line-height:1.45;font-weight:700}.calendar-grid .calendar-today{box-shadow:inset 0 0 0 3px var(--forest)}.calendar-today-label{font-size:.7rem;font-weight:700}
.calendar-grid-events{list-style:none;margin:.45rem 0 0;padding:0}.calendar-grid-events li{margin:0;padding:0;border-left:3px solid var(--calendar-ochre)}.calendar-grid-events .calendar-theme-evergreen{border-color:var(--forest)}.calendar-grid-events li+li{margin-top:.8rem}
.calendar-grid-events a{display:flex;flex-direction:column;gap:.2rem;padding:.15rem .3rem;min-height:44px;min-width:44px;font-size:.82rem;line-height:1.45;text-underline-offset:.18em}.calendar-grid-time{font-size:.75rem;font-weight:700}.calendar-grid-status,.calendar-grid-past{font-size:.75rem;font-weight:650}
/* Day rails and quiet cards make the full agenda easy to scan. */
.calendar-agenda-section{margin-top:2.5rem;scroll-margin-top:1.5rem}.calendar-agenda-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem 2rem;margin-bottom:1.2rem}.calendar-agenda-heading h2{font-size:clamp(1.8rem,3vw,2.4rem);line-height:1.2;margin:0}.calendar-agenda-heading>p{font-size:.9rem;color:var(--muted);margin:0}
.calendar-agenda,.calendar-day-events{list-style:none;margin:0;padding:0}.calendar-agenda-day{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,2fr);gap:1.2rem 2rem;padding:1.6rem 0;border-top:1px solid var(--calendar-border)}
.calendar-agenda-day>h3{font:750 1.15rem/1.45 var(--sans);max-width:13rem;margin:.4rem 0 0;padding:.65rem .9rem;border:1px solid var(--calendar-border);border-radius:12px;background:var(--calendar-green);align-self:start}.calendar-agenda-today{display:block;font:700 .8rem/1.6 var(--sans);margin-top:.2rem}.calendar-day-events{display:grid;gap:1rem}
.calendar-event{padding:1.25rem 1.5rem;border:1px solid var(--calendar-border);border-top:3px solid var(--forest);border-radius:16px;background:var(--paper)}.calendar-event.calendar-theme-autumn{border-top-color:var(--calendar-ochre)}.calendar-event-past{background:var(--calendar-cream)}
.calendar-event-top{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:.45rem 1rem}.calendar-event-time{font-weight:700;font-size:.9rem;margin:0 0 .65rem}.calendar-event-badges{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem .9rem;margin-bottom:.6rem}.calendar-past-badge{font-size:.8rem;font-weight:650;text-decoration:underline;text-underline-offset:.2em}
.calendar-event h4{font:750 clamp(1.35rem,2vw,1.75rem)/1.25 var(--sans);margin:0 0 .65rem}.calendar-event h4>a{display:inline-flex;align-items:center;min-height:44px;text-decoration-thickness:1px;text-underline-offset:.16em}
.calendar-event-place{font-size:.95rem;margin:0 0 .3rem}.calendar-event-reviewed{font-size:.8rem;color:var(--muted);margin:0 0 .8rem}.calendar-event-note{font-size:.9rem;color:var(--muted);margin:0 0 .6rem}.calendar-change-note{border-left:3px solid var(--forest);background:var(--calendar-green);padding:.7rem .85rem;margin:.8rem 0;font-size:.9rem}
.calendar-event .event-venue{border-top:1px solid var(--line);margin-top:.9rem;padding-top:.8rem}.calendar-event .event-venue p{font-size:.85rem;color:var(--muted);margin:0 0 .35rem}.calendar-event .events-visit-links{display:flex;align-items:center;flex-wrap:wrap;gap:.15rem 1.1rem}
.calendar-event .events-visit-links a,.calendar-source-link{font-size:.85rem;font-weight:650;min-height:44px;display:inline-flex;align-items:center;max-width:100%;flex-wrap:wrap}.calendar-source-link{margin-top:.15rem}
.calendar-empty{padding:1.6rem;border:1px solid var(--calendar-border);border-left:4px solid var(--calendar-ochre);border-radius:16px;background:var(--paper)}.calendar-empty h3{font-size:1.65rem;line-height:1.25}.calendar-empty p{font-size:.95rem;margin-bottom:.6rem}.calendar-empty a{display:flex;align-items:center;width:fit-content;max-width:100%;min-height:44px;font-size:.9rem}
.calendar-review{padding:1.4rem 1.6rem;margin:1.1rem 0 2.5rem;border-left:3px solid var(--forest);border-radius:0 16px 16px 0;background:var(--calendar-green)}.calendar-review h2{font-size:1.75rem;margin-bottom:.65rem}.calendar-review p{font-size:.9rem;margin-bottom:.7rem}.calendar-review p:last-child{margin-bottom:0}.calendar-review .text-link{font-size:.9rem}
/* Subscription help remains a separate planning panel. */
.calendar-subscribe{padding:2rem;background:var(--calendar-cream);border:1px solid var(--calendar-border);border-radius:20px;scroll-margin-top:1.25rem}.calendar-subscribe>.eyebrow{font-size:.75rem;color:var(--calendar-ochre);margin-bottom:.6rem}.calendar-subscribe h2{font-size:clamp(1.9rem,3vw,2.7rem);line-height:1.15;margin-bottom:1.5rem}.calendar-subscribe h3{font-size:1.5rem;line-height:1.25;margin-bottom:.7rem}.calendar-subscribe p{font-size:.9rem}
.calendar-subscribe-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:2rem}.calendar-subscribe-grid>div{min-width:0}.calendar-subscribe-grid>div+div{border-left:1px solid var(--calendar-border);padding-left:2rem}.calendar-subscribe .button{min-height:48px;max-width:100%;white-space:normal;text-align:center;font-size:.9rem;padding:.7rem 1rem}.calendar-subscribe .text-link{font-size:.9rem}
.calendar-copy{margin-top:1.15rem}.calendar-copy label{display:block;font-size:.85rem;font-weight:700;margin-bottom:.4rem}.calendar-copy input{display:block;min-width:0;width:100%;max-width:100%;min-height:48px;font:inherit;font-size:.85rem;border:1px solid var(--muted);border-radius:10px;background:var(--paper);color:var(--ink);padding:.65rem .75rem}.calendar-copy button{margin-top:.6rem}.calendar-copy p{font-size:.8rem;color:var(--muted);margin:.5rem 0 0}.calendar-copy-status:empty{margin:0}.calendar-feed-url{font-size:.85rem;overflow-wrap:anywhere;user-select:all;margin:0}.calendar-feed-help{font-size:.85rem;color:var(--muted);margin:1rem 0 .5rem}
.calendar-app-help{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;align-items:start;margin-top:1.6rem}.calendar-app-help details{min-width:0;padding:.5rem 0;border-color:var(--calendar-border)}.calendar-app-help summary{font-size:.85rem;min-height:44px}.calendar-app-help p,.calendar-app-help a{font-size:.85rem}.calendar-app-help a{display:inline-flex;align-items:center;min-height:44px;max-width:100%}
@media(max-width:1100px){.calendar-hero-inner{gap:1.5rem}.calendar-hero-copy{padding-right:0}.calendar-hero-actions{column-gap:.8rem}.calendar-hero-subscribe{font-size:.8rem}.calendar-next-cards{gap:1rem}.calendar-next-body{padding:.85rem 1rem}.calendar-card-art img{height:155px}.calendar-month{padding:1.15rem}.calendar-view-controls a{padding:.5rem .75rem}.calendar-grid td{padding:.5rem .35rem}.calendar-grid-events a{font-size:.8rem}}
@media(max-width:1000px){.calendar-month-grid,.calendar-list-jump{display:none}.calendar-agenda-section{margin-top:1.8rem}.calendar-month{padding-bottom:.75rem}.calendar-app-help{grid-template-columns:minmax(0,1fr);gap:.25rem}.calendar-agenda-day{grid-template-columns:minmax(0,.7fr) minmax(0,1.8fr);gap:1.2rem}.calendar-event{padding:1.15rem}}
@media(max-width:760px){.calendar-hero-inner{grid-template-columns:minmax(0,1fr);gap:1.25rem;padding-top:1rem;padding-bottom:1.8rem}.calendar-hero-copy{padding:0}.calendar-hero h1{font-size:clamp(2.5rem,8vw,3.7rem)}.calendar-hero-art{height:auto;min-height:0;margin:.7rem .25rem .3rem;transform:rotate(1deg)}.calendar-hero-art img{height:210px;object-position:40% 55%}.calendar-hero-subscribe{font-size:.9rem}.calendar-content{padding-top:1.75rem}.calendar-next-heading{align-items:start;flex-direction:column;gap:.25rem;margin-bottom:.9rem}.calendar-next-heading>.text-link{flex-shrink:1}.calendar-next-cards{grid-template-columns:minmax(0,1fr);gap:1rem}.calendar-next-cards h3{font-size:1.5rem}.calendar-card-art img{height:145px}.calendar-next-body{padding:1rem 1.1rem}.calendar-subscribe-grid{grid-template-columns:minmax(0,1fr);gap:1.5rem}.calendar-subscribe-grid>div+div{padding:1.5rem 0 0;border-left:0;border-top:1px solid var(--calendar-border)}.calendar-subscribe{padding:1.5rem}.calendar-toolbar{align-items:start;gap:1rem}.calendar-month-form{width:100%}.calendar-month-form input{flex:1 1 10rem;width:10rem}.calendar-month-form .button{flex:1 1 8rem}.calendar-view-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:1.25rem}.calendar-view-controls .calendar-next-event{margin:0}.calendar-view-controls a{padding:.6rem .4rem}.calendar-agenda-heading{align-items:start;flex-direction:column;gap:.6rem}}
@media(min-width:440px) and (max-width:760px){.calendar-next-cards article:has(.calendar-card-art){display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1fr)}.calendar-card-art{height:100%;min-height:205px;border-radius:17px 0 0 17px}.calendar-card-art img{position:absolute;inset:0;height:100%;object-position:35% 55%}.calendar-card-date{margin-top:0;min-height:3.6rem;border-width:0;box-shadow:none}.calendar-next-body{grid-template-columns:3.2rem minmax(0,1fr);gap:0 .65rem}.calendar-next-cards .calendar-next-date{min-height:3.6rem;margin-bottom:.6rem}.calendar-card-date strong{font-size:1.8rem}.calendar-card-art figcaption{left:.5rem;right:auto;bottom:.5rem;font-size:.7rem;max-width:calc(100% - 1rem)}}
@media(max-width:640px){.calendar-hero-description{font-size:1rem}.calendar-today-note{font-size:.78rem}.calendar-hero-art{height:auto}.calendar-hero-art img{height:185px}.calendar-content{padding-bottom:2.5rem}.calendar-next-heading .eyebrow{font-size:.7rem}.calendar-next-heading h2{font-size:1.95rem}.calendar-health{padding:.7rem .75rem}.calendar-health p{font-size:.8rem}.calendar-month{padding:1rem .85rem .55rem}.calendar-toolbar h2{font-size:2rem}.calendar-month-navigation{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 .6rem}.calendar-month-navigation a{font-size:.8rem}.calendar-current{grid-row:2;grid-column:1/-1}.calendar-next{grid-row:1;grid-column:2}.calendar-range-limit{font-size:.8rem}.calendar-weekend-control small{font-size:.7rem}.calendar-agenda-day{grid-template-columns:minmax(0,1fr);gap:.85rem;padding:1.25rem 0}.calendar-agenda-day>h3{font-size:1.2rem;max-width:none;margin:0}.calendar-agenda-today{display:inline;margin-left:.6rem}.calendar-event{padding:1rem}.calendar-event h4{font-size:1.5rem}.calendar-review{padding:1.25rem;margin-bottom:1.6rem}.calendar-subscribe{padding:1.4rem 1.1rem}.calendar-subscribe h2{font-size:2rem}.calendar-copy button{width:100%}}
@media(max-width:439px){.calendar-hero-actions{align-items:start;flex-direction:column;gap:.35rem}.calendar-hero-actions .button{padding:.65rem 1rem}.calendar-hero-art{height:auto;transform:none;margin-inline:0}.calendar-hero-art img{height:155px}.calendar-hero-sticker{top:.45rem;right:.45rem;width:5.1rem;min-height:5.1rem;font-size:.85rem;padding:.65rem}.calendar-next-cards h3{font-size:1.45rem}.calendar-card-art img{height:135px}.calendar-view-controls a{font-size:.85rem}.calendar-next-body{padding:.9rem 1rem}.calendar-refresh-note a{margin-left:0}}
/* Reading preferences retain larger spacing and plain black-and-white colors. */
/* At enlarged text sizes the postcard stays taller than its decorative sticker. */
@media(max-width:760px){.calendar-hero-art img{min-height:8rem}}
@media(max-width:439px){.calendar-hero-art img{min-height:6.5rem}}
html[data-reading="contrast"]{--calendar-ivory:#fff;--calendar-cream:#fff;--calendar-ochre:#000;--calendar-autumn:#fff;--calendar-green:#fff;--calendar-gold:#fff;--calendar-border:#000}
html[data-reading="contrast"] body:has(.calendar-hero){--ink:#000;--forest:#000;--deep:#000;--muted:#111;--line:#000;--mist:#fff;--gold:#fff}
html[data-reading="contrast"] .calendar-hero-art,html[data-reading="contrast"] .calendar-hero-sticker{box-shadow:none;border-color:#000}
html[data-reading="contrast"] .calendar-hero-sticker{border:2px solid #000}
html[data-reading="contrast"] .calendar-view-controls a{border-color:#000}
html[data-reading="contrast"] .calendar-hero-actions .button{border-color:#000;background:#fff;color:#000}
html[data-reading="contrast"] .calendar-card-date{border-color:#000}
html[data-reading="contrast"] .calendar-next-cards article{box-shadow:none}
html[data-reading="contrast"] .calendar-view-controls a[aria-current]{outline:2px solid #000;outline-offset:2px}
html[data-reading="contrast"] .calendar-content :is(a,button,input,summary):focus-visible{outline-color:#000}
html[data-reading="roomy"] .calendar-next-cards,html[data-reading="contrast"] .calendar-next-cards{align-items:start}
html[data-reading="roomy"] .calendar-card-date,html[data-reading="contrast"] .calendar-card-date{margin-top:0}
html[data-reading="roomy"] .calendar-grid-events a,html[data-reading="contrast"] .calendar-grid-events a{line-height:1.7}
@media(forced-colors:active){.calendar-hero,.calendar-hero-art figcaption,.calendar-card-art figcaption,.calendar-hero-sticker{background:Canvas;color:CanvasText}.calendar-hero-art,.calendar-hero-sticker{border-color:CanvasText;box-shadow:none}.calendar-hero-sticker{border:2px solid CanvasText}.calendar-card-arrow{border:1px solid ButtonText}.calendar-agenda-day>h3{background:Canvas;color:CanvasText}.calendar-hero h1 em,.calendar-hero .eyebrow{color:CanvasText}.calendar-hero-actions .button{background:ButtonFace;color:ButtonText;border-color:ButtonText}.calendar-hero a:focus-visible,.calendar-content :is(a,button,input,summary):focus-visible{outline-color:Highlight}.calendar-next-cards article{box-shadow:none}.calendar-card-date{background:Canvas;color:CanvasText;border:2px solid CanvasText;box-shadow:none}.calendar-view-controls a[aria-current]{background:Canvas;color:CanvasText;border:2px solid Highlight}.calendar-grid th{background:Canvas;color:CanvasText}.calendar-grid .calendar-today{outline:3px solid Highlight;outline-offset:-3px;box-shadow:none}.calendar-grid-events li,.calendar-event,.calendar-review,.calendar-health,.calendar-subscribe,.calendar-agenda-day>h3{border-color:CanvasText}.calendar-status-badge:before{background:CanvasText}}
@media print{.calendar-hero-art,.calendar-hero-actions,.calendar-month-form,.calendar-month-navigation,.calendar-refresh-note,.calendar-list-jump,.calendar-month-grid,.calendar-view-controls,.calendar-next-events,.calendar-subscribe{display:none}.calendar-hero{background:white;color:black;border-color:black}.calendar-hero .eyebrow,.calendar-hero h1 em{color:black}.calendar-hero-inner{display:block;min-height:0}.calendar-hero-copy{padding:1rem 0}.calendar-hero .breadcrumb{color:black}.calendar-content{padding-top:1.5rem}.calendar-month{padding:0;border:0}.calendar-agenda-day{display:block}.calendar-agenda-day>h3{max-width:none;margin-bottom:.75rem;border-color:black}.calendar-event{break-inside:avoid;background:white;border-color:black;margin-bottom:1rem}.calendar-review,.calendar-health{background:white;border:1px solid black}.calendar-status-badge{color:black}.calendar-card-arrow,.calendar-hero-sticker{display:none}}

