/* Optional Halloween theme. All theme styles are opt-in. */
.halloween-toggle{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:900;width:68px;height:76px;padding:0;color:#fff2b8;border:0;background:transparent;cursor:pointer;isolation:isolate;-webkit-tap-highlight-color:transparent}
.halloween-toggle:focus-visible{outline:3px solid #e14a28;outline-offset:5px;border-radius:22px}
.halloween-pumpkin{width:68px;height:68px;display:block;filter:drop-shadow(0 5px 8px #27130655);transform-origin:50% 70%}
.halloween-toggle::before{content:'';position:absolute;inset:10px 0 0;border-radius:50%;background:#ff8b361a;filter:blur(12px);z-index:-1;opacity:0;transition:opacity .3s}
.halloween-toggle:hover::before,.halloween-toggle[aria-pressed=true]::before{opacity:1}
.halloween-toggle-label{position:absolute;right:0;bottom:calc(100% + 9px);width:max-content;padding:7px 12px;border-radius:40px;background:#2b202a;color:#fff3d5;font-size:12px;font-weight:600;line-height:1.4;box-shadow:0 4px 18px #0002;opacity:0;transform:translateY(4px);transition:opacity .2s,transform .2s;pointer-events:none}
.halloween-toggle:hover .halloween-toggle-label,.halloween-toggle:focus-visible .halloween-toggle-label,.halloween-toggle.is-introducing .halloween-toggle-label{opacity:1;transform:translateY(0)}
.halloween-decor{position:fixed;inset:0;pointer-events:none;z-index:800;overflow:hidden;visibility:hidden;opacity:0;color:#eee1c2}
.halloween-web{position:absolute;top:0;left:0;width:clamp(85px,12vw,170px);height:auto;opacity:.36}
.halloween-web--right{left:auto;right:0;transform:scaleX(-1)}
.halloween-spider{position:absolute;top:0;left:22px;width:32px;height:210px;overflow:visible;color:#c4aa91;transform-origin:50% 0}
.halloween-spider--right{left:auto;right:24px;height:165px;width:27px}
html.halloween-mode{color-scheme:dark;--paper:#19151d;--ink:#f6e7cf;--ink-soft:#d2bea9;--teal:#a5c5ad;--teal-deep:#c1dac4}
html.halloween-mode body{background:#19151d;color:#f6e7cf}
html.halloween-mode :is(.calendar-section,.calendar-shell,.calendar-toolbar,.calendar-grid,.calendar-day,.calendar-agenda,.agenda-day,.poster-gallery,.event-dialog,.event-detail,.event-popover,.ev-card,.filterbar,.events-grid){background-color:#211b26;color:#f6e7cf;border-color:#655344}
html.halloween-mode :is(.calendar-weekdays,.calendar-toolbar){color:#dfc4a0}
html.halloween-mode :is(.calendar-day,.agenda-day){border-color:#514331}
html.halloween-mode :is(.calendar-day.is-today,.calendar-day.today){background-color:#3d282b}
html.halloween-mode :is(.calendar-toolbar button,.filter,.chip){color:#f6e7cf;border-color:#796353}
html.halloween-mode :is(.calendar-toolbar button:hover,.filter.active,.chip.active){background:#ed7544;color:#21151b}
html.halloween-mode :is(.event-detail,.event-popover,.event-dialog) :is(p,li,small){color:#d9c7b5}
html.halloween-mode :is(.event-detail,.event-popover,.event-dialog) :is(h2,h3){color:#ffe9c0}
html.halloween-mode :is(.event-detail,.event-popover,.event-dialog) .btn{color:#fff3db}
html.halloween-mode :is(.event-detail,.event-popover,.event-dialog) .btn-dark{background:#4d3b54}
html.halloween-mode :is(.footer,.page-hero,.ev-hero,.hero){background-color:#100e15;color:#f6e7cf}
html.halloween-mode .btn-dark{background:#4d3b54;color:#fff3db}
html.halloween-mode .header.scrolled{background:#19151df5}
html.halloween-mode .halloween-toggle:focus-visible{outline-color:#ffd791}
html.halloween-mode .grain{opacity:.025;mix-blend-mode:screen}
html.halloween-mode .halloween-face{fill:#ffe399;filter:drop-shadow(0 0 3px #ffb327)}
@media(max-width:600px){.halloween-toggle{width:52px;height:58px;right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom))}.halloween-pumpkin{width:52px;height:52px}.halloween-web{width:83px;opacity:.25}.halloween-spider{left:7px;width:23px;height:155px}.halloween-spider--right{right:8px;height:125px;width:20px}.halloween-toggle-label{font-size:11px}}
@media(prefers-reduced-motion:reduce){.halloween-toggle::before,.halloween-toggle-label{transition:none}}
@media print{.halloween-toggle,.halloween-decor{display:none!important}}

html.halloween-mode .ev-card .date{background:#3c303e;color:#ffe9c0}
html.halloween-mode .ev-card .cat{background:#21151b;color:#ffe9c0}
html.halloween-mode .ev-hero-overlay{background:linear-gradient(180deg,#100d18b8,#1b122591 52%,#19151dd9)}
/* Calendar and detail sheet compatibility. Keep navigation distinct in the dark. */
html.halloween-mode .calendar-toolbar{background:#302338;color:#ffe9c0}
html.halloween-mode .calendar-weekdays{background:#382d35;color:#ecd7b9}
html.halloween-mode .calendar-day.is-empty{background:#19151d}
html.halloween-mode .calendar-footnote{border-color:#514331;color:#d2bea9}
html.halloween-mode .calendar-day.is-selected .mobile-day{background:#bd683b;color:#fff6d9}
html.halloween-mode .calendar-day.is-selected .day-mark{color:#fff6d9}
html.halloween-mode .detail-close{background:#3c303e;color:#fff3d5;border-color:#796353}
html.halloween-mode .detail-close:hover{background:#544058}
html.halloween-mode :is(.detail-art,.detail-gallery-nav){background:#17121b}
html.halloween-mode #detailSchedule li{border-color:#655344}
html.halloween-mode .poster-tile{background:#211b26;box-shadow:0 5px 18px #0003}
html.halloween-mode .poster-filters button{color:#f6e7cf;border-color:#796353}
html.halloween-mode .poster-filters button:hover{border-color:#f6aa73}
html.halloween-mode .poster-filters button[aria-pressed=true]{background:#bd683b;border-color:#bd683b;color:#fff6d9}
html.halloween-mode .event-dialog::backdrop{background:#0d0816ce}

/* Homepage surfaces need explicit dark backgrounds: brand colors also serve as text colors. */
html.halloween-mode :is(.intro,.evpreview){background:#211b26}
html.halloween-mode .spaces{background:#142c2a}
html.halloween-mode .evpreview .wrap{background:#100e15}
html.halloween-mode .card{background:#23433d;color:#fff3db}
html.halloween-mode .card:nth-child(2){background:#713c2a}
html.halloween-mode .card:nth-child(3){background:#252c43}
html.halloween-mode .card:nth-child(4){background:#593442;color:#fff3db}
html.halloween-mode .plan{background:#29212e;border-color:#655344;color:#f6e7cf}
html.halloween-mode .plan.featured{background:#142c2a;border-color:#829e86;color:#fff3db}
html.halloween-mode .plan li{border-color:#655344}
html.halloween-mode .community{background:#582e24}
html.halloween-mode .subscribe input{background:#211b26;color:#f6e7cf;border-color:#aa8e75}
html.halloween-mode .subscribe input::placeholder{color:#d2bea9}
html.halloween-mode :is(.subscribe .btn,.community .card-photo .badge){background:#211b26;color:#fff3db}
html.halloween-mode .tagchips span{background:#23433d;border-color:#829e86;color:#fff3db}
html.halloween-mode .tagchips span:nth-child(3n+2){background:#713c2a;border-color:#cf9878}
html.halloween-mode .tagchips span:nth-child(3n){background:#593442;border-color:#bd8fa1;color:#fff3db}
html.halloween-mode .btn-primary{background:#a54120;color:#fff3db}
html.halloween-mode .btn-primary:hover{background:#833119}
html.halloween-mode .btn-dark:hover{background:#624b6b;color:#fff3db}
html.halloween-mode .btn-ghost:hover,
html.halloween-mode .header.scrolled .nav .btn-ghost:hover{background:#fff3db;color:#211b26;border-color:#fff3db}
html.halloween-mode .header.scrolled .nav .btn-ghost{border-color:#aa8e75}
html.halloween-mode :is(.intro,.offerings,.membership) .eyebrow,
html.halloween-mode :is(.intro .mark,.plan .ptag,.plan li::before){color:#ffac7e}
html.halloween-mode .plan.featured .ptag{color:#ead38f}
