/* Approved public workspace. Page-scoped: dashboard and single-page layouts keep their own styles. */
.ace-workspace-page{--shell-bg:#14191b;--shell-panel:#1c2224;--shell-card:#232a2c;--shell-ink:#eef0e9;--shell-muted:#a7b1ad;--shell-line:#35403f;--shell-accent:#efb665;--shell-accent-ink:#1a1108;--ace-bg:var(--shell-bg);--ace-surface:var(--shell-panel);--ace-ink:var(--shell-ink);--ace-muted:var(--shell-muted);--ace-orange:var(--shell-accent);--ace-orange-2:var(--shell-accent);background:var(--shell-bg);color:var(--shell-ink);font-family:'DM Sans',sans-serif}
.ace-workspace-page[data-ace-theme=light]{--shell-bg:#f4f3ec;--shell-panel:#fafbf5;--shell-card:#ecefe6;--shell-ink:#252d29;--shell-muted:#68736c;--shell-line:#d0d5cb;--shell-accent:#915424;--shell-accent-ink:#ffffff;color-scheme:light}
.ace-workspace-page:not([data-ace-theme=light]){color-scheme:dark}
.ace-workspace-page .wp-site-blocks{padding:0}.ace-workspace-page h1,.ace-workspace-page h2,.ace-workspace-page h3,.ace-shell__brand{font-family:'Space Grotesk',sans-serif}.ace-shell *{box-sizing:border-box}.ace-shell{--shell-left:244px;--shell-right:268px;--shell-filter:232px;display:grid;grid-template-columns:var(--shell-left) minmax(0,1fr) var(--shell-right);height:calc(100dvh - var(--wp-admin--admin-bar--height,0px));overflow:hidden;position:relative;isolation:isolate;font-size:14px;line-height:1.5;margin:0!important}.ace-shell--map{grid-template-columns:var(--shell-left) var(--shell-filter) minmax(0,1fr) var(--shell-right)}.ace-shell__main{min-width:0;min-height:0;overflow:auto;background:var(--shell-bg);position:relative}.ace-shell__main>.entry-content{margin:0}.ace-shell__left,.ace-shell__right,.ace-shell__filter{min-width:0;overflow:auto;background:var(--shell-panel);border-right:1px solid var(--shell-line);margin:0!important}.ace-shell__right{border-right:0;border-left:1px solid var(--shell-line)}.ace-shell--home>.ace-shell__filter,.ace-shell--home>.ace-shell__edge--filter{display:none}.ace-shell__brand,.ace-shell__account-head{height:52px;display:flex;align-items:center;gap:8px;padding:0 12px;border-bottom:1px solid var(--shell-line);position:sticky;top:0;background:var(--shell-panel);z-index:5}.ace-shell__brand>a{flex:1;font-size:17px;font-weight:700;text-decoration:none;color:var(--shell-ink)}.ace-shell button,.ace-shell input,.ace-shell select{font:inherit}.ace-shell button{cursor:pointer;background:var(--shell-card);color:var(--shell-ink);border:1px solid var(--shell-line);border-radius:8px;padding:8px 11px}.ace-shell button:hover,.ace-shell button:focus-visible,.ace-shell a:focus-visible{outline:2px solid var(--shell-accent);outline-offset:1px}.ace-shell__brand button,.ace-shell__account-head button{border:0;background:none;padding:5px}.ace-shell__account-head>span{flex:1}.ace-shell__left .wp-block-navigation{padding:12px 10px;display:block}.ace-shell__left .wp-block-navigation__container{display:flex;flex-direction:column;align-items:stretch;gap:3px}.ace-shell__left .wp-block-navigation-item{width:100%}.ace-shell__left .wp-block-navigation-item__content{padding:12px 10px;width:100%;font-size:13px;border-radius:8px;color:var(--shell-ink);text-decoration:none}.ace-shell__left .wp-block-navigation-item__label{display:flex;align-items:center;gap:14px}.ace-shell__icon{font-size:19px;width:23px;flex:none;text-align:center;color:var(--shell-muted)}.ace-shell__left .wp-block-navigation-item__content:hover,.ace-shell__left a[aria-current=page]{background:color-mix(in srgb,var(--shell-accent) 14%,transparent);color:var(--shell-accent)}.ace-shell__about,.ace-shell__personal,.ace-shell__account-content{padding:22px 18px}.ace-shell__about{border-top:1px solid var(--shell-line);color:var(--shell-muted);font-size:12px}.ace-shell__about small{font-size:10px;letter-spacing:.1em}.ace-shell__about button,.ace-shell__personal a{display:block;margin-top:16px}.ace-shell a{color:var(--shell-accent)}.ace-shell__personal{padding:20px 0}.ace-shell__personal h2{font-size:21px}.ace-shell__personal p{color:var(--shell-muted);font-size:13px}.ace-shell__account-tabs{display:flex;padding:10px;gap:5px;border-bottom:1px solid var(--shell-line)}.ace-shell__account-tabs button{flex:1;font-size:11px}.ace-shell__account-tabs button[aria-pressed=true]{border-color:var(--shell-accent);color:var(--shell-accent)}.ace-shell--home .ace-shell__account-tabs,.ace-shell--home #ace-shell-context{display:none}.ace-shell__empty{padding:22px;color:var(--shell-muted)}.ace-shell [hidden]{display:none!important}
/* Keep the visible rail layout while emitting the unique page content before
   repeated navigation and account widgets in the document source. */
.ace-shell>.ace-shell__main{grid-column:2;grid-row:1}
.ace-shell>.ace-shell__left{grid-column:1;grid-row:1}
.ace-shell>.ace-shell__right{grid-column:3;grid-row:1}
.ace-shell--map>.ace-shell__main{grid-column:3}
.ace-shell--map>.ace-shell__filter{grid-column:2;grid-row:1}
.ace-shell--map>.ace-shell__right{grid-column:4}
/* Hubs that move their filters into the shell's filter rail (jobs, market, charities) add a
   column after the nav. Every panel is placed explicitly: left alone, main kept its base
   column 2 and landed in the narrow filter track while the right rail took the wide one. */
@media(min-width:901px){
.ace-shell:is(.has-jobs-filters,.has-market-filters,.has-chy-rail,.has-scran-rail)>.ace-shell__left{grid-column:1;grid-row:1}
.ace-shell:is(.has-jobs-filters,.has-market-filters,.has-chy-rail,.has-scran-rail)>.ace-shell__filter{grid-column:2;grid-row:1}
.ace-shell:is(.has-jobs-filters,.has-market-filters,.has-chy-rail,.has-scran-rail)>.ace-shell__main{grid-column:3;grid-row:1}
.ace-shell:is(.has-jobs-filters,.has-market-filters,.has-chy-rail,.has-scran-rail)>.ace-shell__right{grid-column:4;grid-row:1}
.ace-shell:is(.has-jobs-filters,.has-market-filters).has-context-rail>.ace-shell__contextual{grid-column:4;grid-row:1}
.ace-shell:is(.has-jobs-filters,.has-market-filters).has-context-rail>.ace-shell__right{grid-column:5;grid-row:1}
}
/* Keep the existing real login/registration forms inline in the account rail. */
.ace-shell__account-content .ace-acct{display:block}.ace-shell__account-content .ace-acct--guest>.ace-acct__btn{display:none}.ace-shell__account-content .ace-acct--guest>.ace-acct__menu{position:static;display:block!important;width:auto;max-width:none;box-shadow:none;background:none;border:0;padding:0;color:var(--shell-ink)}.ace-shell__account-content .ace-loginform input:not([type=checkbox]){width:100%;background:var(--shell-bg);color:var(--shell-ink);border:1px solid var(--shell-line);border-radius:8px;padding:10px}.ace-shell__account-content .ace-loginform__submit{background:var(--shell-accent);color:var(--shell-bg)}
.ace-shell__edge{position:absolute!important;top:0;bottom:0;width:12px;padding:0!important;border:0!important;background:none!important;border-radius:0!important;cursor:col-resize!important;z-index:30;touch-action:none}.ace-shell__edge--left{left:calc(var(--shell-left) - 6px)}.ace-shell__edge--right{right:calc(var(--shell-right) - 6px)}.ace-shell__edge--filter{left:calc(var(--shell-left) + var(--shell-filter) - 6px)}.ace-shell__edge>span{position:absolute;top:39px;left:-7px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--shell-card);border:1px solid var(--shell-line);font-size:13px}.ace-shell__edge:hover>span{font-size:0;background:repeating-linear-gradient(90deg,var(--shell-card) 0 8px,var(--shell-muted) 8px 9px,var(--shell-card) 9px 11px);border-color:var(--shell-accent)}.ace-shell[data-left-closed=true] .ace-shell__label,.ace-shell[data-left-closed=true] .ace-shell__about,.ace-shell[data-left-closed=true] .ace-shell__brand>a{display:none}.ace-shell[data-left-closed=true] .ace-shell__brand{justify-content:center}.ace-shell[data-right-closed=true] .ace-shell__right>:not(.wp-block-template-part),.ace-shell[data-right-closed=true] .ace-shell__right .ace-shell__account-content,.ace-shell[data-right-closed=true] #ace-shell-context,.ace-shell[data-right-closed=true] .ace-shell__account-tabs{display:none}.ace-shell[data-right-closed=true] .ace-shell__account-head{height:auto;min-height:52px;flex-direction:column}.ace-shell__mobile,.ace-shell__mobile-tools,.ace-shell__scrim{display:none}
/* Map canvas and the relocated, unchanged layer and detail components. */
.ace-shell--map .ace-shell__main{overflow:hidden}.ace-shell--map .entry-content{height:100%}.ace-shell--map .alm{width:100%;height:100%;min-height:0;max-width:none;margin:0!important;--alm-bg:var(--shell-bg);--alm-surface:var(--shell-panel);--alm-surface-2:var(--shell-card);--alm-ink:var(--shell-ink);--alm-muted:var(--shell-muted);--alm-line:var(--shell-line);--alm-orange:var(--shell-accent);--alm-orange-2:var(--shell-accent);font-family:inherit}.ace-shell--map .alm__summary{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.ace-shell--map .alm__top{display:none}.ace-shell--map .alm__ticker{top:0;bottom:auto;height:52px;border-bottom:1px solid var(--shell-line);border-radius:0;background:var(--shell-panel);left:0;right:0;max-width:none}.ace-shell--map .alm__banner{top:60px}.ace-shell__filter .alm__rail{position:static;transform:none;width:auto;max-height:none;overflow:visible;padding:0;display:block;inset:auto}.ace-shell__filter .alm__group{background:transparent;border:0;border-bottom:1px solid var(--shell-line);border-radius:0;padding:16px 10px;color:var(--shell-ink)}.ace-shell__filter .alm__layer{font-size:12px;width:100%;border:0;border-radius:7px;padding:10px 6px;background:transparent;color:var(--shell-ink)}.ace-shell__filter .alm__layer.is-on{background:color-mix(in srgb,var(--shell-accent) 10%,transparent)}.ace-shell__filter .alm__sw{border-color:var(--shell-muted)}.ace-shell__filter .alm__layer.is-on .alm__sw{background:var(--shell-accent)}.ace-shell__filter .alm__group h3{font-size:11px;color:var(--shell-accent)}.ace-map-search{height:52px;display:flex;align-items:center;border-bottom:1px solid var(--shell-line);padding:8px;gap:5px}.ace-map-search input{min-width:0;width:100%;border:0;background:none;color:var(--shell-ink);font-size:12px}.ace-map-search button{padding:5px;border:0;background:none}.ace-map-tabs{display:flex;gap:4px;padding:10px 8px;border-bottom:1px solid var(--shell-line)}.ace-map-tabs button{flex:1;padding:12px 4px;font-size:11px}.ace-map-tabs button[aria-pressed=true]{border-color:var(--shell-accent);color:var(--shell-accent)}.ace-map-tools,.ace-map-results{padding:12px}.ace-map-tools>button,.ace-map-results>button{display:block;width:100%;text-align:left;margin-bottom:8px}.ace-map-tools input{width:100%;min-width:0;padding:9px;background:var(--shell-bg);color:var(--shell-ink);border:1px solid var(--shell-line);border-radius:7px;margin:5px 0}.ace-map-tools h3{font-size:14px}.ace-map-layer-search{padding:10px}.ace-map-layer-search input{width:100%;min-width:0;background:var(--shell-bg);color:var(--shell-ink);border:1px solid var(--shell-line);border-radius:8px;padding:10px;font-size:11px}.ace-shell__filter .alm__chips{padding:10px;gap:4px;display:flex;flex-wrap:wrap}.ace-shell__filter .alm__chip{font-size:10px;padding:5px}.ace-shell__filter .alm__now{padding:10px;display:block}.ace-shell__filter .alm__legend,.ace-shell__filter .alm__radio small{color:var(--shell-muted)}:is(.ace-shell__right,.ace-shell__contextual) .alm__panel{position:static;display:none;transform:none;opacity:1;max-height:none;width:auto;max-width:none;border:0;box-shadow:none;padding:0;background:var(--shell-panel);color:var(--shell-ink)}:is(.ace-shell__right,.ace-shell__contextual) .alm__panel.is-open{display:block}:is(.ace-shell__right,.ace-shell__contextual) .alm__panelhead{background:var(--shell-panel);border-color:var(--shell-line);padding:18px}:is(.ace-shell__right,.ace-shell__contextual) .alm__panelhead h2{font-size:20px}:is(.ace-shell__right,.ace-shell__contextual) .alm__panelbody{padding:18px;max-height:none;color:var(--shell-ink)}:is(.ace-shell__right,.ace-shell__contextual) .alm__panelbody a:not(.alm__btn):not(.ace-btn):not([class*=btn]){color:var(--shell-accent)}.ace-shell[data-filter-closed=true] .ace-map-layers,.ace-shell[data-filter-closed=true] .ace-map-tools,.ace-shell[data-filter-closed=true] .ace-map-results,.ace-shell[data-filter-closed=true] .ace-map-search input{display:none!important}.ace-shell[data-filter-closed=true] .ace-map-tabs{flex-direction:column;padding:8px 3px}.ace-shell[data-filter-closed=true] .ace-map-tabs button{font-size:10px;padding:8px 2px}
/* Homepage content remains block-owned and uses its established pin/flag and browser engines. */
:is(.ace-shell--home,.ace-shell--events) .ace-app{width:100%;max-width:none;margin-left:0!important;margin-right:0!important}.ace-shell--home .als{width:auto;margin-left:0!important;margin-right:0!important}.ace-shell--home .als__ticker,.ace-shell--home .als__chips{background:var(--shell-panel)}:is(.ace-shell--home,.ace-shell--events) .ace-app__bar{background:var(--shell-panel);border-color:var(--shell-line);backdrop-filter:none;color:var(--shell-ink);border-radius:12px}:is(.ace-shell--home,.ace-shell--events) .ace-app__bar h1{font-size:clamp(27px,3vw,44px)}:is(.ace-shell--home,.ace-shell--events) .ace-app__bar p{color:var(--shell-muted)}:is(.ace-shell--home,.ace-shell--events) .ace-app input,:is(.ace-shell--home,.ace-shell--events) .ace-app select{background:var(--shell-bg);color:var(--shell-ink);border-color:var(--shell-line)}.ace-shell--home .wp-block-post-content>.wp-block-group,.ace-shell--home .ace-suggestions,.ace-shell--home .ace-boosted{padding-left:28px;padding-right:28px}.ace-shell--home .wp-block-post-content .alignwide{max-width:100%;margin-inline:auto}.ace-shell--home .wp-block-post-template{gap:20px}.ace-shell--home .wp-block-post-title{font-size:22px}.ace-shell--home .wp-block-post-featured-image img{border-radius:9px}.ace-home-layout{display:flex;align-items:center;justify-content:space-between;padding:24px 28px;gap:10px}.ace-home-layout strong{font:600 22px 'Space Grotesk',sans-serif}.ace-home-layout button{font-size:12px}.ace-home-layout button[aria-pressed=true]{border-color:var(--shell-accent);color:var(--shell-accent)}
@media(max-width:900px){.ace-shell,.ace-shell--map{display:block;padding-top:54px}.ace-shell--map{padding-bottom:54px}.ace-shell__main{height:100%}.ace-shell__mobile{display:flex;align-items:center;justify-content:space-between;height:54px;position:absolute;top:0;left:0;right:0;padding:0 12px;background:var(--shell-panel);border-bottom:1px solid var(--shell-line)}.ace-shell__mobile a{font-weight:700;text-decoration:none;color:var(--shell-ink)}.ace-shell__left,.ace-shell__right,.ace-shell__filter{position:absolute;top:0;bottom:0;width:min(84vw,320px);z-index:100;transform:translateX(-110%)}.ace-shell__right{right:0;transform:translateX(110%)}.ace-shell[data-drawer=left] .ace-shell__left,.ace-shell[data-drawer=right] .ace-shell__right,.ace-shell[data-drawer=filter] .ace-shell__filter{transform:none}.ace-shell__scrim:not([hidden]){display:block;position:absolute;inset:0;border:0;border-radius:0;background:#0009;z-index:90}.ace-shell__edge{display:none}.ace-shell--map .ace-shell__mobile-tools{display:flex;position:absolute;bottom:0;left:0;right:0;height:54px;justify-content:space-around;align-items:center;background:var(--shell-panel);border-top:1px solid var(--shell-line)}.ace-shell__mobile-tools button{font-size:11px;border:0;background:none}.ace-shell[data-left-closed=true] .ace-shell__label,.ace-shell[data-left-closed=true] .ace-shell__about,.ace-shell[data-left-closed=true] .ace-shell__brand>a,.ace-shell[data-right-closed=true] .ace-shell__right .ace-shell__account-content{display:block}.ace-shell[data-right-closed=true] .ace-shell__account-tabs{display:flex}.ace-shell[data-right-closed=true] .ace-shell__account-head{height:52px;flex-direction:row}.ace-shell[data-filter-closed=true] .ace-map-tabs{flex-direction:row}.ace-shell[data-filter-closed=true] .ace-map-search input{display:block!important}.ace-shell[data-filter-closed=true] .ace-map-layers:not([hidden]),.ace-shell[data-filter-closed=true] .ace-map-tools:not([hidden]),.ace-shell[data-filter-closed=true] .ace-map-results:not([hidden]){display:block!important}.ace-home-layout{align-items:flex-start;flex-direction:column}.ace-shell--home .wp-block-post-content>.wp-block-group{padding-inline:16px}.ace-shell--map .alm__ticker{height:38px}}
.ace-shell,.ace-shell .ace-app,.ace-shell .ace-browser,.ace-shell .als,.ace-shell .ace-shell__filter,.ace-shell .ace-shell__right{--ace-bg:var(--shell-bg);--ace-surface:var(--shell-panel);--ace-surface-2:var(--shell-card);--ace-ink:var(--shell-ink);--ace-muted:var(--shell-muted);--ace-line:var(--shell-line);--ace-orange:var(--shell-accent);--ace-orange-2:var(--shell-accent);--alm-bg:var(--shell-bg);--alm-surface:var(--shell-panel);--alm-surface-2:var(--shell-card);--alm-ink:var(--shell-ink);--alm-muted:var(--shell-muted);--alm-line:var(--shell-line);--alm-orange:var(--shell-accent);--alm-orange-2:var(--shell-accent)}
.ace-workspace-page[data-ace-theme=light] .alm .leaflet-tile-pane{filter:none}.ace-workspace-page .ace-shell__filter .alm__rail .alm__group{backdrop-filter:none}.ace-shell--home .ace-home-days{padding:28px}.ace-shell--home .ace-home-days .ace-grid{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr))}
.ace-workspace-page .ace-shell{font-family:'DM Sans',sans-serif;font-weight:400}.ace-shell :where(div,span,p,a,button,input,select,label,small,strong,b,li,ul,nav,section,aside,main,header,footer,form){font-family:inherit}.ace-workspace-page .ace-shell :is(h1,h2,h3){font-family:'Space Grotesk',sans-serif!important;font-weight:600!important;color:var(--shell-ink)}.ace-shell__left .wp-block-navigation-item__content{font-weight:500}.ace-shell__account-content .ace-acct--guest>.ace-acct__menu{min-width:0;backdrop-filter:none}.ace-shell__account-content .ace-loginform__field,.ace-shell__account-content .ace-loginform__row label,.ace-shell__account-content .ace-loginform__lost{color:var(--shell-muted);font-weight:400;text-transform:none;letter-spacing:normal}.ace-shell__account-content .ace-loginform__row{flex-wrap:wrap}.ace-shell__account-content .ace-loginform{min-width:0}.ace-shell__brand>a{color:var(--shell-ink)}
:is(.ace-shell--home,.ace-shell--events) .ace-app{--ace-header-offset:0px;--ace-edge:24px;--ace-overlap:0px;--ace-intro-shift:0px;margin:0!important;padding-top:0;height:680px;min-height:600px}:is(.ace-shell--home,.ace-shell--events) .ace-app.is-intro .ace-app__bar{left:24px;width:min(400px,calc(100% - 48px));padding:24px;background:var(--shell-panel);border:1px solid var(--shell-line);border-radius:12px;text-align:left}:is(.ace-shell--home,.ace-shell--events) .ace-app__bar-glass,:is(.ace-shell--home,.ace-shell--events) .ace-app__bar::after{display:none}:is(.ace-shell--home,.ace-shell--events) .ace-app__lead{text-align:left}:is(.ace-shell--home,.ace-shell--events) .ace-app__lead h1,:is(.ace-shell--home,.ace-shell--events) .ace-app__lead h2{font-size:36px!important;line-height:1.12;text-align:left;margin:0 0 12px}:is(.ace-shell--home,.ace-shell--events) .ace-app__lead p{font-size:14px;line-height:1.6;color:var(--shell-muted);text-align:left;font-weight:400}.ace-shell--home .ace-dd__btn{background:var(--shell-card);color:var(--shell-ink);border-color:var(--shell-line)}:is(.ace-shell--home,.ace-shell--events) .ace-app__bar button[type=submit]{background:var(--shell-accent);color:var(--shell-bg)}:is(.ace-shell--home,.ace-shell--events) .ace-app.is-active .ace-app__bar{background:var(--shell-panel);backdrop-filter:none}:is(.ace-shell--home,.ace-shell--events) .ace-app__featured{top:25px;bottom:30px}:is(.ace-shell--home,.ace-shell--events) .ace-app__map::after{display:none}.ace-shell--home .als__chips{justify-content:flex-start}.ace-shell--home .ace-home-days{border-top:1px solid var(--shell-line)}
@media(max-width:900px){:is(.ace-shell--home,.ace-shell--events) .ace-app{height:650px;min-height:600px}:is(.ace-shell--home,.ace-shell--events) .ace-app.is-intro .ace-app__bar{left:16px;width:calc(100% - 32px);padding:20px}:is(.ace-shell--home,.ace-shell--events) .ace-app__lead h1,:is(.ace-shell--home,.ace-shell--events) .ace-app__lead h2{font-size:30px!important}}
.ace-shell .dashicons{font-family:dashicons!important}.ace-shell__main .ace-app.is-intro .ace-app__bar .ace-btn--primary{background:var(--shell-accent);color:var(--shell-bg)}
.ace-workspace-page[data-ace-theme=light] :is(.ace-shell--home,.ace-shell--events) .ace-app .leaflet-tile-pane{filter:none}.ace-workspace-page[data-ace-theme=light] .ace-shell :is(.ace-dd__menu,.ace-loc-suggest,.ace-app__panel,.ace-app__results,.ace-detail){background:var(--shell-panel);color:var(--shell-ink);backdrop-filter:none}.ace-workspace-page[data-ace-theme=light] .ace-shell :is(.ace-dd__option,.ace-sug,.ace-card,.ace-card__body){color:var(--shell-ink);background:var(--shell-card)}
.ace-shell__left .ace-shell__label{color:var(--shell-ink)}.ace-shell--map #ace-shell-context:has(.alm__panel.is-open)>.ace-shell__empty{display:none}.ace-workspace-page[data-ace-theme=light] .ace-shell .als :is(.als__chip,.als-chip){background:var(--shell-card);color:var(--shell-ink)}.ace-workspace-page[data-ace-theme=light] .ace-shell .leaflet-control-attribution{background:var(--shell-panel);color:var(--shell-muted)}
@media(max-width:900px){.ace-workspace-page :is(.ace-shell--home,.ace-shell--events) .ace-app.is-intro{height:650px!important;min-height:600px;pointer-events:auto}.ace-workspace-page :is(.ace-shell--home,.ace-shell--events) .ace-app.is-intro .ace-app__bar{display:flex!important;top:80px;transform:none!important;flex-direction:column;align-items:stretch;overflow:visible;backdrop-filter:none}.ace-workspace-page :is(.ace-shell--home,.ace-shell--events) .ace-app.is-intro .ace-app__lead{display:block!important}.ace-workspace-page :is(.ace-shell--home,.ace-shell--events) .ace-app.is-intro .ace-app__bar .ace-loc{flex:none;width:100%;height:46px}.ace-workspace-page :is(.ace-shell--home,.ace-shell--events) .ace-app.is-intro .ace-filters{display:grid;grid-template-columns:1fr 1fr;gap:8px;flex:none;width:100%;max-width:none}.ace-workspace-page :is(.ace-shell--home,.ace-shell--events) .ace-app.is-intro .ace-app__map{display:block;mask-image:none;-webkit-mask-image:none}.ace-workspace-page :is(.ace-shell--home,.ace-shell--events) .ace-app.is-intro::after{display:none}}
.ace-workspace-page .ace-shell__left .wp-block-navigation :is(a,span){color:var(--shell-ink)!important}
.ace-workspace-page :is(.ace-shell--home,.ace-shell--events) .ace-app.is-intro .ace-app__explore{display:block!important;width:100%;background:var(--shell-accent);color:var(--shell-bg);border-color:var(--shell-accent);padding:11px;border-radius:8px}.ace-workspace-page :is(.ace-shell--home,.ace-shell--events) .ace-app.is-intro .ace-loc-search{height:46px;border-radius:8px;background:var(--shell-bg);border:1px solid var(--shell-line);box-shadow:none}.ace-workspace-page .ace-shell--home .ace-loc{background:none;border-radius:8px}
/* Desktop nav rows follow TalkFuse: edge-to-edge, square-ended hit areas. */
.ace-shell__left .wp-block-navigation{padding:12px 0}.ace-shell__left .wp-block-navigation-item__content{border-radius:0;padding:12px 18px}.ace-shell__left .wp-block-navigation__container{gap:0}.ace-shell .ace-shell__icon.fa-solid{font-family:'Font Awesome 6 Free'!important;font-weight:900!important;font-size:17px}

/* Full-bleed map hero, with native live strip above its canvas. Content has its own wrapper. */
.ace-shell--home .wp-block-post-content>.ace-home-hero{position:relative;width:100%;max-width:none;margin:0!important;padding:0!important;height:min(820px,100dvh);min-height:640px;isolation:isolate}
.ace-workspace-page .ace-home-hero .ace-app{position:absolute;inset:0;width:100%;height:100%!important;min-height:0!important;margin:0!important;padding:0!important}
.ace-workspace-page .ace-home-hero .ace-app__map{inset:0!important;width:100%;height:100%!important;mask-image:none;-webkit-mask-image:none}
.ace-workspace-page .ace-home-hero>.als{position:absolute!important;top:0;left:0;right:0;width:100%;max-width:none;z-index:650;margin:0!important;padding:10px 16px;background:none;pointer-events:none}
.ace-workspace-page .ace-home-hero>.als .als__inner{width:100%;max-width:none;margin:0;padding:0}
.ace-workspace-page .ace-home-hero :is(.als__ticker,.als__chip,.als__pill){pointer-events:auto}
.ace-workspace-page .ace-home-hero .als__chips{background:none;gap:6px}
/* "New on sheff.events" strip over the map: dark and translucent, no blur (a blur over a moving Leaflet map costs paint). */
.ace-workspace-page .ace-home-hero .als__ticker{background:color-mix(in srgb,var(--shell-bg) 80%,transparent);border-color:color-mix(in srgb,var(--shell-ink) 9%,transparent);backdrop-filter:none}.ace-workspace-page[data-ace-theme=light] .ace-home-hero .als__ticker--cards{--alt-orange:var(--shell-accent);--alt-orange-hi:var(--shell-accent);background:color-mix(in srgb,var(--shell-panel) 88%,transparent);box-shadow:0 8px 22px rgba(0,0,0,.12)}
.ace-shell--home .wp-block-post-content>.ace-home-content{width:100%;max-width:none;min-width:0;margin:0 auto!important;padding:0 28px 32px!important}
.ace-home-content>*{max-width:100%;min-width:0}.ace-home-content>.alignfull{width:100%;margin-inline:0!important}.ace-home-content .ace-home-layout{padding:28px 0}.ace-home-content .ace-home-days{padding:28px 0}.ace-home-content>.wp-block-group{margin-block:0!important}
.ace-home-content .wp-block-post-template{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))}
@media(max-width:900px){.ace-shell--home .wp-block-post-content>.ace-home-hero{height:740px;min-height:740px}.ace-workspace-page .ace-home-hero>.als{padding:8px}.ace-workspace-page .ace-home-hero .als__chips{flex-wrap:nowrap;overflow-x:auto;pointer-events:auto;scrollbar-width:thin}.ace-workspace-page .ace-home-hero .als__chips>*{flex:none}.ace-workspace-page .ace-home-hero .ace-app.is-intro .ace-app__bar{top:140px}.ace-shell--home .wp-block-post-content>.ace-home-content{padding:0 16px 24px!important}}

/* Keep workspace nav glyphs separate from plugins registering their own FA subsets.
   This is the complete FA 6.1.1 solid font; the old 2KB subset omitted controls
   which the workspace itself uses. The global FA stylesheet reuses this same URL. */
@font-face{font-family:"Ace Workspace Icons";font-style:normal;font-weight:900;font-display:swap;src:url(../assets/fonts/FontAwesome/webfonts/fa-solid-900.woff2?v=d76fb4e841) format("woff2")}
.ace-workspace-page .ace-shell__icon.fa-solid{font-family:"Ace Workspace Icons"!important;font-weight:900!important}
.ace-workspace-page .ace-shell__left .ace-shell__icon--performer{width:17px;height:19px;margin-inline:1px 2px;background-color:currentColor;-webkit-mask:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzODQgNTEyIj48cGF0aCBkPSJNOTYgOTZsMCAxNjBjMCA1MyA0MyA5NiA5NiA5NnM5Ni00MyA5Ni05NmwtODAgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmw4MCAwIDAtMzItODAgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmw4MCAwIDAtMzItODAgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmw4MCAwYzAtNTMtNDMtOTYtOTYtOTZTOTYgNDMgOTYgOTZ6TTMyMCAyNDBsMCAxNmMwIDcwLjctNTcuMyAxMjgtMTI4IDEyOHMtMTI4LTU3LjMtMTI4LTEyOGwwLTQwYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgNDBjMCA4OS4xIDY2LjIgMTYyLjcgMTUyIDE3NC40bDAgMzMuNi00OCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDcyIDAgNzIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNDggMCAwLTMzLjZjODUuOC0xMS43IDE1Mi04NS4zIDE1Mi0xNzQuNGwwLTQwYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMjR6Ii8+PC9zdmc+") center/contain no-repeat;mask:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzODQgNTEyIj48cGF0aCBkPSJNOTYgOTZsMCAxNjBjMCA1MyA0MyA5NiA5NiA5NnM5Ni00MyA5Ni05NmwtODAgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmw4MCAwIDAtMzItODAgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmw4MCAwIDAtMzItODAgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmw4MCAwYzAtNTMtNDMtOTYtOTYtOTZTOTYgNDMgOTYgOTZ6TTMyMCAyNDBsMCAxNmMwIDcwLjctNTcuMyAxMjgtMTI4IDEyOHMtMTI4LTU3LjMtMTI4LTEyOGwwLTQwYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgNDBjMCA4OS4xIDY2LjIgMTYyLjcgMTUyIDE3NC40bDAgMzMuNi00OCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDcyIDAgNzIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNDggMCAwLTMzLjZjODUuOC0xMS43IDE1Mi04NS4zIDE1Mi0xNzQuNGwwLTQwYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMjR6Ii8+PC9zdmc+") center/contain no-repeat}

/* Same self-hosted typefaces and edge-knob affordance as the TalkFuse hub. */
.ace-shell__logo-link{display:flex;align-items:center;min-width:0;height:100%}.ace-shell__logo{display:block;width:auto;max-width:100%;max-height:38px;object-fit:contain}
.ace-shell__edge{top:39px;bottom:auto;width:26px;height:26px;border-radius:50%!important;cursor:pointer!important;z-index:10060;outline-offset:2px}
.ace-shell__edge--left{left:calc(var(--shell-left) - 13px)}.ace-shell__edge--filter{left:calc(var(--shell-left) + var(--shell-filter) - 13px)}.ace-shell__edge--right{right:calc(var(--shell-right) - 13px)}
.ace-shell__edge>span{inset:0;font-size:18px;color:var(--shell-muted);box-shadow:0 4px 14px -6px #0008;transition:color .12s,border-color .12s,transform .12s}
.ace-shell__edge:hover>span{background:var(--shell-card);color:transparent;font-size:18px;transform:scale(1.12);border-color:var(--shell-accent)}
.ace-shell__edge::after{content:'';position:absolute;top:50%;left:50%;width:11px;height:13px;transform:translate(-50%,-50%);opacity:0;transition:opacity .16s;pointer-events:none;background:repeating-linear-gradient(90deg,var(--shell-muted) 0 1.5px,transparent 1.5px 4px)}
.ace-shell__edge:hover::after{opacity:.8}.ace-shell__edge:active::after{opacity:1;background:repeating-linear-gradient(90deg,var(--shell-accent) 0 1.5px,transparent 1.5px 4px)}
.ace-map-view-switch{display:flex;flex-wrap:wrap;gap:6px;padding:16px;border-top:1px solid var(--shell-line)}.ace-map-view-switch a{padding:8px 10px;border:1px solid var(--shell-line);border-radius:8px;text-decoration:none;font-size:12px}.ace-map-view-switch a[aria-current=page]{color:var(--shell-accent);border-color:var(--shell-accent);background:var(--shell-card)}
.ace-shell.is-event-view .ace-shell__main{overflow:hidden}.ace-shell.is-event-view .ace-shell__main>.entry-content{height:100%}
.ace-shell.is-event-view .wp-block-post-content>.ace-home-hero{height:100%!important;min-height:0!important}
.ace-shell.is-event-view .ace-home-hero>.als,.ace-shell.is-event-view .ace-home-content,.ace-shell.is-event-view .ace-shell__main>footer{display:none!important}
.ace-shell--events{grid-template-columns:var(--shell-left) minmax(0,1fr) var(--shell-right)}
.ace-shell--events>.ace-shell__filter,.ace-shell--events>.ace-shell__edge--filter,.ace-shell--events>.ace-shell__mobile-tools{display:none!important}
.ace-workspace-page .ace-shell--events .ace-app{position:absolute;inset:0;width:100%;height:100%!important;min-height:0!important;margin:0!important;padding:0!important}
.ace-workspace-page .ace-shell.is-event-view .ace-app{--ace-header-offset:0px;--ace-edge:0px;--ace-overlap:0px;--ace-intro-shift:0px}
.ace-workspace-page .ace-shell.is-event-view .ace-app__map{inset:0!important;height:100%!important;mask-image:none;-webkit-mask-image:none}
.ace-workspace-page .ace-shell.is-event-view .ace-app__bar{top:0!important;left:0!important;right:0!important;width:100%!important;border-radius:0!important;margin:0;max-width:none}
@media(max-width:900px){.ace-shell--events{padding-bottom:0}.ace-shell__mobile .ace-shell__logo{max-width:180px;max-height:36px}}

/* The legacy city-map page rule hides siblings of its canvas; event mode owns this canvas instead. */
.ace-workspace-page .ace-shell--events .entry-content>.ace-app{display:block!important}

.ace-shell--events .ace-shell__account-tabs,.ace-shell--events #ace-shell-context{display:none}

/* The event engine's photo-card and glass defaults need explicit light workspace colours. */
.ace-workspace-page[data-ace-theme=light] .ace-shell .ace-app :is(.ace-dd__btn,.ace-dd__label,.ace-dd__caret,.ace-dd__opt,.ace-card__title,.ace-card__loc,.ace-card__date){color:var(--shell-ink)!important;text-shadow:none!important}
.ace-workspace-page[data-ace-theme=light] .ace-shell .ace-app :is(.ace-card__body,.ace-app__bar,.ace-dd__menu,.ace-loc-suggest){background:var(--shell-panel)!important;color:var(--shell-ink)!important}
.ace-workspace-page[data-ace-theme=light] .ace-shell .ace-app .ace-loc{background:var(--shell-card)!important}
.ace-workspace-page[data-ace-theme=light] .ace-shell .ace-loginform :is(label,.ace-loginform__field,.ace-loginform__row,.ace-loginform__lost){color:var(--shell-muted)!important}
.ace-workspace-page[data-ace-theme=light] .ace-shell__logo{background:#1c2224;padding:3px 6px}

.ace-workspace-page[data-ace-theme=light] .ace-shell--events .ace-app .leaflet-tile-pane{filter:none}

/* One input surface: the search and clear icons overlay it rather than taking flex space. */
.ace-workspace-page .ace-shell .ace-app .ace-app__bar .ace-loc{position:relative;display:block;height:46px;min-height:46px;padding:0;border:0;background:transparent!important;box-shadow:none}
.ace-workspace-page .ace-shell .ace-app .ace-app__bar .ace-loc-search{display:block;box-sizing:border-box;width:100%;max-width:100%;height:46px;min-height:46px;margin:0;padding:0 42px;border:1px solid var(--shell-line);border-radius:8px;background:var(--shell-bg);color:var(--shell-ink);font-family:inherit;font-size:14px;line-height:normal;box-shadow:none}
.ace-workspace-page .ace-shell .ace-app .ace-app__bar .ace-loc-search::placeholder{color:var(--shell-muted);opacity:1}
.ace-workspace-page .ace-shell .ace-app .ace-app__bar .ace-loc-search:focus{outline:2px solid var(--shell-accent);outline-offset:-2px}
.ace-workspace-page .ace-shell .ace-app .ace-app__bar .ace-loc>.dashicons{position:absolute;left:14px;top:50%;bottom:auto;transform:translateY(-50%);width:20px;height:20px;display:grid;place-items:center;line-height:1;font-size:20px;z-index:2;pointer-events:none;color:var(--shell-accent)}
.ace-workspace-page .ace-shell .ace-app .ace-app__bar .ace-loc-clear{position:absolute;left:auto;right:7px;top:50%;transform:translateY(-50%);width:30px;height:30px;padding:0;border:0;background:transparent;color:var(--shell-muted);z-index:2}

/* The homepage tabs already separate the hero from its content; cancel the legacy overlap. */
.ace-workspace-page .ace-home-content .ace-events-browser{margin-top:0!important}

/* Centre-panel blocks must not escape to viewport width inside the workspace. */
.ace-home-content .alignfull{width:100%;max-width:100%;margin-inline:0!important}
.ace-shell__account-open{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;border-radius:0!important}
@media(min-width:901px){.ace-shell[data-right-closed=true] .ace-shell__account-open{flex-direction:column;gap:4px;padding:12px 2px;font-size:11px}}
.ace-home-content .ace-boosted{width:100%;max-width:100%;margin-inline:0!important}

/* Secondary context rail, matching the account/chat relationship in TalkFuse. */
.ace-shell.has-context-rail{grid-template-columns:var(--shell-left) minmax(0,1fr) var(--shell-context) 66px}.ace-shell--map.has-context-rail{grid-template-columns:var(--shell-left) var(--shell-filter) minmax(0,1fr) var(--shell-context) 66px}
.ace-shell.has-context-rail>.ace-shell__contextual{grid-column:3;grid-row:1}.ace-shell.has-context-rail>.ace-shell__right{grid-column:4;grid-row:1}.ace-shell--map.has-context-rail>.ace-shell__contextual{grid-column:4}.ace-shell--map.has-context-rail>.ace-shell__right{grid-column:5}.ace-shell.has-chy-rail.has-context-rail>.ace-shell__contextual{grid-column:4}.ace-shell.has-chy-rail.has-context-rail>.ace-shell__right{grid-column:5}
.ace-shell__contextual{min-width:0;min-height:0;overflow:auto;background:var(--shell-panel);border-left:1px solid var(--shell-line)}.ace-shell__contextual #ace-shell-context{display:block!important}.ace-shell__contextual .ace-shell__empty{display:none}
.ace-shell__edge--context{right:calc(66px + var(--shell-context) - 6px)}
@media(max-width:900px){.ace-shell__contextual{position:absolute;right:0;top:0;bottom:0;width:min(90vw,420px);z-index:100;transform:translateX(110%)}.ace-shell[data-drawer=context] .ace-shell__contextual{transform:none}}

@media(min-width:901px){.ace-shell--map.has-event-context{grid-template-columns:var(--shell-left) minmax(0,1fr) var(--shell-context) 66px}.ace-shell.has-event-context>.ace-shell__filter,.ace-shell.has-event-context>.ace-shell__edge--filter{display:none}.has-event-context .leaflet-marker-pane>:not(.alm-pinwrap){display:none!important}}
.has-event-context .leaflet-marker-pane>:not(.alm-pinwrap){display:none!important}
/* Rail navigation uses the heading face; date controls form an even, labelled grid. */
.ace-workspace-page .wp-block-navigation-item__content,.ace-shell :is(nav a,nav button,.ace-map-view-switch a,.ace-sidebar-menu a,.ace-sidebar-menu button,.ace-map-tabs button,.alm__chip){font-family:'Space Grotesk',sans-serif!important;font-weight:500}
.ace-shell__filter .alm__chips:has(> [data-when]){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:100%;margin:0;padding:14px 12px 16px;border:0;border-bottom:1px solid var(--shell-line);border-radius:0;background:transparent;box-shadow:none}
.ace-shell__filter .alm__chips:has(> [data-when])::before{content:'When';grid-column:1/-1;color:var(--shell-muted);font-family:'Space Grotesk',sans-serif!important;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-bottom:3px}
.ace-shell__filter [data-when]{min-width:0;width:100%;min-height:40px;margin:0;padding:9px 6px;border:1px solid var(--shell-line);border-radius:6px;background:var(--shell-card);color:var(--shell-ink);font-size:13px;line-height:1.2;text-align:center;white-space:normal}
.ace-shell__filter [data-when]:last-child{grid-column:1/-1}
.ace-shell__filter [data-when].is-on{background:var(--shell-accent);border-color:var(--shell-accent);color:#171b1c;font-weight:600}
.ace-shell__filter [data-when]:not(.is-on):hover{border-color:var(--shell-accent);background:color-mix(in srgb,var(--shell-accent) 10%,var(--shell-card))}
.ace-workspace-page .wp-block-navigation-item__label,.ace-shell .ace-shell__label,.ace-shell .alm__lbl{font-family:'Space Grotesk',sans-serif!important}

/* The public shell owns the dashboard viewport and its account navigation. */
.ace-shell--content .ace-shell__main{padding:28px;}.ace-shell--content .ace-shell__main>.wp-block-post-content{max-width:1200px;margin-inline:auto}.ace-shell--content .ace-shell__main>.wp-block-post-title{max-width:1200px;margin:0 auto 20px}.ace-shell--content .alignfull{width:100%;max-width:100%;margin-inline:0!important}
#ace-shell-dashboard-nav:empty{display:none}.ace-shell:has(.ace-dashboard-sidebar) .ace-shell__account-content{padding:0}.ace-shell:has(.ace-dashboard-sidebar) .ace-shell__account-content>:not(.ace-shell__dashnav){display:none}
.ace-shell.is-management .ace-shell__main{overflow:hidden}.ace-shell.is-management .ace-shell__main>.wp-block-post-content,.ace-shell.is-management .ace-shell__main .ace-user-dashboard,.ace-shell.is-management .ace-shell__main .ace-dashboard-layout{height:100%;min-height:0;max-height:100%;margin:0;width:100%}
.ace-shell.is-management .ace-dashboard-layout>.ace-dashboard-content{flex:1;min-width:0;height:100%;min-height:0;max-height:100%;margin:0}.ace-shell #ace-shell-dashboard-nav{overflow:visible;background:var(--shell-panel)}
.ace-shell #ace-shell-dashboard-nav .ace-dashboard-sidebar{position:static;width:100%;min-width:0;height:auto;min-height:0;max-height:none;overflow:visible;border:0;background:var(--shell-panel);color:var(--shell-ink)}
.ace-shell .ace-shell__right .ace-sidebar-menu a,.ace-shell .ace-shell__right .ace-sidebar-menu button{width:100%;border-radius:0;padding:12px 18px}.ace-shell.is-management .ace-shell__right .ace-menu-label{color:var(--shell-ink)}
.ace-shell.is-management{--ace-bg:var(--shell-bg);--ace-surface:var(--shell-panel);--ace-surface-2:var(--shell-card);--ace-ink:var(--shell-ink);--ace-muted:var(--shell-muted);--ace-line:var(--shell-line);--ace-orange:var(--shell-accent);--ace-orange-2:var(--shell-accent)}
.ace-shell.is-management :is(.ace-panel-content,.ace-dashboard-content,.ace-user-posts-wrapper,.ace-user-posts-list,.ace-user-posts-header,.active-community-engagement-dashboard-view-header,.ace-no-posts-message){background:var(--shell-bg)!important;color:var(--shell-ink)!important}
.ace-shell.is-management :is(.ace-user-post-item,.ace-view-post,.ace-edit-post,.ace-add-edit-event,.view-panel,.ace-dashboard-editor-panel,.ace-dashboard-message-panel){background:var(--shell-panel)!important;color:var(--shell-ink)!important;border-color:var(--shell-line)!important}
.ace-shell.is-management :is(.ace-sidebar-heading,.ace-user-name,.ace-user-role,.ace-menu-label,.ace-post-content,.ace-post-content strong){color:var(--shell-ink)}.ace-workspace-login{padding:28px}
@media(max-width:900px){.ace-shell--content .ace-shell__main{padding:20px 16px}}
.ace-shell[data-right-closed=false] .ace-shell__account-open{display:none}@media(max-width:900px){.ace-shell__account-open{display:none}}

.ace-shell.is-management{grid-template-columns:var(--shell-left) minmax(0,1fr) var(--shell-right)}.ace-shell.is-management>.ace-shell__filter,.ace-shell.is-management>.ace-shell__edge--filter{display:none}.ace-shell.is-management .ace-shell__main>.ace-user-dashboard{height:100%;width:100%;margin:0;min-height:0;max-height:100%;overflow:hidden}
.ace-shell.is-management .ace-dashboard-editor-panel{position:absolute!important;inset:0!important;width:100%!important;max-width:none!important;height:100%!important;min-height:0!important;max-height:100%!important}.ace-shell.is-management .ace-dashboard-editor-panel .ace-panel-content{height:100%;min-height:0;max-height:100%;overflow:auto}
.ace-profile-dialog{padding:0;border:1px solid var(--shell-line,#444);border-radius:14px;width:min(1060px,94vw);height:min(820px,90dvh);max-width:94vw;max-height:90dvh;background:#1c2223;color:#edf0ee;font-family:'DM Sans',sans-serif;overflow:hidden}.ace-profile-dialog::backdrop{background:#0009;backdrop-filter:blur(4px)}.ace-profile-dialog__layout{display:grid;grid-template-columns:200px minmax(0,1fr);height:100%}.ace-profile-dialog nav{padding:24px 0;background:#171d1e;border-right:1px solid #ffffff18}.ace-profile-dialog nav h2{padding:0 20px;font:600 20px 'Space Grotesk',sans-serif}.ace-profile-dialog nav button{display:block;width:100%;padding:14px 20px;text-align:left;background:none;color:inherit;border:0;font:500 14px 'Space Grotesk',sans-serif;cursor:pointer}.ace-profile-dialog nav button[aria-current]{background:#f0b65e22;color:#f0b65e}.ace-profile-dialog__body{position:relative;padding:48px 24px 24px;min-width:0;overflow:auto}.ace-profile-dialog__close{position:absolute;right:14px;top:10px;width:36px;height:36px;border:1px solid #ffffff30;border-radius:50%;background:transparent;color:inherit;font-size:24px;cursor:pointer}.ace-profile-dialog :is(.ace-settings-panel,.ace-profile-panel,.ace-panel-content){background:transparent!important;color:inherit!important;max-height:none;height:auto;min-height:0}.ace-profile-dialog input,.ace-profile-dialog textarea,.ace-profile-dialog select{max-width:100%;box-sizing:border-box}.ace-profile-dialog button:focus-visible{outline:2px solid #f0b65e;outline-offset:-3px}body[data-ace-theme=light] .ace-profile-dialog{background:#fff;color:#172021}body[data-ace-theme=light] .ace-profile-dialog nav{background:#f1f3f0;border-color:#ccd4d2}
@media(max-width:900px){.ace-profile-dialog__layout{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.ace-profile-dialog nav{display:flex;padding:8px 40px 8px 8px;overflow:auto}.ace-profile-dialog nav h2{display:none}.ace-profile-dialog nav button{width:auto;white-space:nowrap;padding:10px}.ace-profile-dialog__body{padding:16px}.ace-profile-dialog__close{position:fixed;top:6dvh;right:5vw;z-index:3}}
.ace-shell.is-management .ace-dashboard-editor-panel:not(.active):not(.closing){visibility:hidden;pointer-events:none}.ace-shell #ace-shell-dashboard-nav .ace-user-avatar{width:80px;height:80px;margin:20px auto}.ace-shell.is-management .ace-user-profile{margin-bottom:20px}.ace-shell.is-management .ace-management-welcome{padding:28px}.ace-shell.is-management .ace-shell__left .ace-shell__label{font-family:"Space Grotesk",sans-serif!important}.ace-shell.is-management .ace-shell__left nav a{font-weight:500!important;text-shadow:none!important}.ace-profile-dialog .ace-settings-panel{min-width:0}
.ace-profile-dialog{--profile-line:#394344;--profile-field:#12191a;--profile-muted:#a7b3b1;color:#edf0ee!important}.ace-profile-dialog :is(h1,h2,h3,h4,label){color:inherit!important}.ace-profile-dialog :is(h1,h2,h3,h4){font-family:'Space Grotesk',sans-serif!important}.ace-profile-dialog .ace-settings-header{margin:0 0 24px}.ace-profile-dialog .ace-settings-header h2{font-size:24px;margin:0}.ace-profile-dialog .ace-settings-header>button{display:none}.ace-profile-dialog .ace-settings-section{padding:20px 0;border-top:1px solid var(--profile-line)}.ace-profile-dialog .ace-settings-section h3{font-size:18px;margin:0 0 18px}.ace-profile-dialog .ace-settings-field{margin-bottom:18px}.ace-profile-dialog .ace-settings-field>label{display:block;font-weight:500;margin-bottom:8px}.ace-profile-dialog input:not([type=checkbox]):not([type=radio]):not([type=file]),.ace-profile-dialog textarea,.ace-profile-dialog select{display:block;width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--profile-line);border-radius:6px;background:var(--profile-field);color:inherit;font:inherit}.ace-profile-dialog textarea{min-height:100px}.ace-profile-dialog .field-description{font-size:13px;color:var(--profile-muted);margin-top:6px}.ace-profile-dialog input:focus,.ace-profile-dialog textarea:focus,.ace-profile-dialog select:focus{outline:2px solid #f0b65e;outline-offset:2px}.ace-profile-dialog .ace-settings-actions button{min-height:44px;padding:10px 18px;background:#f0b65e;color:#171d1e;border:0;border-radius:6px}.ace-profile-dialog input[type=checkbox],.ace-profile-dialog input[type=radio]{accent-color:#f0b65e;margin-right:8px}body[data-ace-theme=light] .ace-profile-dialog{--profile-line:#ccd4d2;--profile-field:#f7f9f6;--profile-muted:#586765;color:#172021!important}
.ace-profile-dialog{font-size:14px!important;line-height:1.5}.ace-profile-dialog .ace-settings-field>label{font-size:14px!important}.ace-profile-dialog :is(.ace-profile-header,.ace-settings-header)>button{display:none}.ace-profile-dialog :is(.ace-profile-content,.ace-user-profile-panel,.ace-user-settings-panel){font-size:14px;color:inherit;background:transparent}.ace-profile-dialog .ace-profile-content label{display:block;font-size:14px;margin:16px 0 8px}
.ace-shell.is-management .ace-dashboard-overlay{display:none!important}.ace-shell.is-management .ace-editor-content{background:var(--shell-panel)!important;color:var(--shell-ink)!important;padding:24px;min-height:100%;box-sizing:border-box}.ace-shell.is-management .ace-add-edit-event{padding:0}.ace-shell.is-management .ace-form-title{color:var(--shell-ink);font-family:'Space Grotesk',sans-serif!important}.ace-shell.is-management .ace-form-field{margin:20px 0}.ace-shell.is-management .ace-form-field input:not([type=checkbox]):not([type=radio]):not([type=file]),.ace-shell.is-management .ace-form-field select,.ace-shell.is-management .ace-form-field textarea{background:var(--shell-bg);color:var(--shell-ink);border:1px solid var(--shell-line);min-height:44px;border-radius:6px;padding:10px 12px;box-sizing:border-box;max-width:100%}.ace-shell.is-management .ace-form-actions{display:flex;gap:10px;margin-top:24px}.ace-shell.is-management .ace-dashboard-editor-panel .block-editor-writing-flow{min-height:160px;padding:12px;background:var(--shell-bg);border:1px solid var(--shell-line);border-radius:6px}

.ace-shell #ace-shell-dashboard-nav :is(.ace-sidebar-heading,.ace-user-name,.ace-user-role,.ace-menu-label){color:var(--shell-ink)}
.ace-hub-public,.ace-hub-route{min-width:0;min-height:0;width:100%}.ace-shell--map .ace-hub-public,.ace-shell--map .ace-hub-route,.ace-shell.is-event-view .ace-hub-public,.ace-shell.is-event-view .ace-hub-route{height:100%}.ace-hub-status{position:fixed;left:50%;top:16px;transform:translateX(-50%);z-index:1200;padding:12px 18px;background:var(--shell-panel,#1c2223);color:var(--shell-ink,#edf0ee);border:1px solid var(--shell-line,#394344);border-radius:6px}.ace-hub-status[hidden]{display:none}.ace-shell--content .ace-hub-route>.alignfull{width:100%;margin-inline:0!important}
/* Public app views already own their inner gutter. Keep WordPress's global
   padding from stacking into a wide dead margin when the shell's main panel is
   narrow (for example, a half-screen browser or a resized pair of rails). */
.ace-shell--content .ace-hub-route{container:acehub/inline-size}
.ace-shell--content .ace-hub-route .entry-content.has-global-padding{padding-inline:clamp(0px,2cqi,24px)}
@container acehub (max-width:680px){.ace-shell--content .ace-hub-route .entry-content.has-global-padding{padding-inline:0}}
.ace-shell.is-event-view .ace-hub-route>.entry-content{height:100%;margin:0}.ace-shell.is-event-view .ace-hub-route>footer{display:none!important}
.ace-shell.is-event-view .ace-shell__main{padding:0}.ace-shell.is-event-view .ace-hub-route>.wp-block-group{height:100%;margin:0!important}
.ace-shell--content>.ace-shell__filter,.ace-shell--content>.ace-shell__edge--filter{display:none}
.ace-shell a.ace-btn--tickets{color:#171d1e!important}

/* Shared rail rhythm: full-width navigation with TalkFuse hover behaviour. */
.ace-shell .ace-shell__brand .ace-shell__wordmark,.ace-shell .ace-shell__mobile .ace-shell__wordmark{display:flex;align-items:center;gap:9px;font-family:'Space Grotesk',sans-serif!important;font-size:22px;font-weight:700;letter-spacing:-.6px;line-height:1.1;color:var(--shell-ink);text-decoration:none;white-space:nowrap}
.ace-shell__wordmark .fa-location-dot{color:var(--shell-accent);font-size:23px}
.ace-shell .ace-shell__brand{padding-inline:16px}
.ace-shell .ace-shell__left .wp-block-navigation{padding:16px 0}
.ace-shell .ace-shell__left .wp-block-navigation__container{gap:2px}
.ace-shell .ace-shell__left .wp-block-navigation-item__content,.ace-shell .ace-shell__right .ace-sidebar-menu :is(a,button){display:flex;align-items:center;gap:12px;min-height:44px;width:100%;margin:0;padding:12px 16px;border:0;border-radius:0;background:transparent;color:var(--shell-ink);font-family:'Space Grotesk',sans-serif!important;font-size:13px;font-weight:500;line-height:1.45;text-decoration:none;transition:background .12s,color .12s}
.ace-shell .ace-shell__left .wp-block-navigation-item__content:hover,.ace-shell .ace-shell__right .ace-sidebar-menu :is(a,button):hover{background:var(--shell-card);color:var(--shell-accent);outline:none}
.ace-shell .ace-shell__left .wp-block-navigation-item__content:focus-visible,.ace-shell .ace-shell__right .ace-sidebar-menu :is(a,button):focus-visible{outline:2px solid var(--shell-accent);outline-offset:-2px;background:var(--shell-card);color:var(--shell-accent)}
.ace-shell .ace-shell__left .ace-shell__icon{width:20px;flex:0 0 20px;font-size:17px;text-align:center}
.ace-shell .ace-shell__right .ace-sidebar-menu{padding:8px 0;margin:0;list-style:none}
.ace-shell .ace-shell__right .ace-sidebar-menu li{margin:0;padding:0}
.ace-shell .ace-shell__right .ace-sidebar-menu :is(a,button)[aria-current],.ace-shell .ace-shell__right .ace-sidebar-menu .active,.ace-shell .ace-shell__left .wp-block-navigation-item__content[aria-current=page]{background:color-mix(in srgb,var(--shell-accent) 14%,transparent);color:var(--shell-accent)}
.ace-shell .ace-shell__account-content{padding:20px 16px}
@media(min-width:901px){.ace-shell[data-left-closed=true] .ace-shell__left .wp-block-navigation-item__content{padding:12px 0;justify-content:center;gap:0}.ace-shell[data-left-closed=true] .ace-shell__brand{padding-inline:0}.ace-shell[data-left-closed=true] .ace-shell__wordmark{justify-content:center}.ace-shell[data-left-closed=true] .ace-shell__wordmark span{display:none}}
@media(min-width:901px){.ace-shell[data-left-closed=true] .ace-shell__left .wp-block-navigation-item__label{width:100%;justify-content:center}.ace-shell[data-left-closed=true] .ace-shell__left .ace-shell__icon{margin-inline:auto}}

.ace-shell .ace-shell__personal>a{display:flex;align-items:center;min-height:44px;width:calc(100% + 32px);margin:0 -16px;padding:12px 16px;border-radius:0;color:var(--shell-ink);font:500 13px 'Space Grotesk',sans-serif;text-decoration:none;transition:background .12s,color .12s}
.ace-shell .ace-shell__personal>a:hover,.ace-shell .ace-shell__personal>a:focus-visible{background:var(--shell-card);color:var(--shell-accent)}
.ace-shell .ace-shell__account-content .ace-loginform{border:0;background:transparent}
.ace-shell .ace-shell__account-content .ace-loginform__field{font-size:12px;text-transform:none;letter-spacing:0;margin-bottom:14px}

/* Map canvas extends beneath the desktop rails; only the rail surfaces blur. */
@media(min-width:901px){
.ace-shell--map .alm__map,.ace-shell.is-event-view .ace-app__map{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important}
.ace-shell--map .ace-shell__left,.ace-shell--map .ace-shell__right,.ace-shell--map .ace-shell__filter,.ace-shell.is-event-view .ace-shell__left,.ace-shell.is-event-view .ace-shell__right,.ace-shell.is-event-view .ace-shell__filter{position:relative;z-index:12;background:color-mix(in srgb,var(--shell-panel) 82%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.ace-shell--map .ace-shell__brand,.ace-shell.is-event-view .ace-shell__brand{background:transparent}
}
.ace-rail-tooltip{position:fixed;z-index:100000;width:max-content;max-width:260px;padding:8px 11px;border:1px solid var(--shell-line,rgba(255,255,255,.15));border-radius:8px;background:var(--shell-panel,#17191b);color:var(--shell-ink,#f5f2ea);box-shadow:0 12px 32px rgba(0,0,0,.35);font:500 12px/1.35 'DM Sans',sans-serif;pointer-events:none}.ace-rail-tooltip[hidden]{display:none}.ace-shell [data-ace-tooltip]::after{display:none!important}
.ace-shell .ace-app .ace-app__bar{background:color-mix(in srgb,var(--shell-panel) 80%,transparent)!important;backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important}

@media(min-width:901px){
/* The homepage scrollport spans the shell so its map can bleed beneath both rails. */
.ace-shell--home:not(.is-event-view)>.ace-shell__main{grid-area:1/1/2/-1;padding-inline:var(--shell-left) var(--shell-right);background:var(--shell-bg)}
.ace-shell--home:not(.is-event-view)>.ace-shell__left{grid-area:1/1/2/2}
.ace-shell--home:not(.is-event-view)>.ace-shell__right{grid-area:1/3/2/4}
.ace-shell--home:not(.is-event-view) .ace-app.is-intro{left:calc(0px - var(--shell-left))!important;right:auto!important;width:calc(100% + var(--shell-left) + var(--shell-right))!important}
.ace-shell--home:not(.is-event-view) .ace-app.is-intro .ace-app__map{position:absolute!important;inset:0!important;width:100%!important;height:100%!important}
.ace-shell--home:not(.is-event-view) .ace-app.is-intro .ace-app__bar{left:calc(var(--shell-left) + 24px)!important;width:min(400px,calc(100% - var(--shell-left) - var(--shell-right) - 48px))}
.ace-shell--home:not(.is-event-view) .ace-app.is-intro .ace-app__featured{left:calc(var(--shell-left) + var(--ace-edge) + var(--ace-intro-panel-w) + 2.75rem);right:calc(var(--shell-right) + var(--ace-edge))}
.ace-shell--home:not(.is-event-view) .ace-app.is-intro .leaflet-left{left:var(--shell-left)}
.ace-shell--home:not(.is-event-view) .ace-app.is-intro .leaflet-right{right:var(--shell-right)}
.ace-shell--home .ace-shell__left,.ace-shell--home .ace-shell__right{position:relative;z-index:12;background:color-mix(in srgb,var(--shell-panel) 82%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.ace-home-content{position:relative;z-index:1;background:var(--shell-bg)}
}
@media(prefers-reduced-transparency:reduce){.ace-shell .ace-shell__left,.ace-shell .ace-shell__right,.ace-shell .ace-shell__filter,.ace-shell .ace-app .ace-app__bar{background:var(--shell-panel)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}}

@media(min-width:901px){.ace-shell--map .ace-shell__contextual{background:color-mix(in srgb,var(--shell-panel) 82%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}}

/* The centre panel owns scrolling; maps alone may extend behind the rails. */
.ace-shell__main{overflow-x:hidden}
.ace-shell--home{--home-wrap:1340px}
.ace-shell--home .ace-home-content{container:home-content / inline-size;min-width:0;max-width:100%;--home-gutter:clamp(16px,3%,28px);padding-inline:var(--home-gutter)!important;overflow-wrap:anywhere}
.ace-shell--home .ace-home-content>:is(.wp-block-group,.ace-home-layout,.aln){width:100%;min-width:0;max-width:100%;margin-inline:auto!important;padding-inline:0!important}
.ace-shell--home .ace-home-content :is(.alignfull,.alignwide){width:100%;max-width:100%;min-width:0;margin-inline:0!important}
.ace-shell--home .ace-home-content :is(.wp-block-column,.wp-block-query,.wp-block-post-template,.ace-browser,.ace-boosted,.ace-suggestions){min-width:0;max-width:100%}
.ace-shell--home .ace-home-content :is(.ace-boosted,.ace-suggestions){padding-inline:0}
.ace-shell--home .ace-home-content :is(img,video,iframe){max-width:100%}
.ace-shell--home .ace-home-layout{flex-wrap:wrap}
.ace-shell--home .ace-home-layout>div{display:flex;gap:8px;flex-wrap:wrap}
/* Covers retain an edge-to-edge background, with their contents inside the same gutter. */
.ace-shell--home .ace-home-content>.wp-block-cover{width:calc(100% + 2 * var(--home-gutter));max-width:none;margin-inline:calc(-1 * var(--home-gutter))!important;padding-inline:var(--home-gutter)}
@container home-content (max-width:700px){
 .ace-home-content .wp-block-columns{flex-wrap:wrap!important}
 .ace-home-content .wp-block-columns>.wp-block-column{flex-basis:100%!important}
 .ace-home-content .wp-block-post-template.is-layout-grid{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr))!important}
 .ace-home-content .ace-home-layout{align-items:flex-start;flex-direction:column}
}

/* Full live attribution remains readable in the map filter rail. */
.ace-map-credits{margin-top:auto;padding:18px 14px;border-top:1px solid var(--shell-line);font-size:12px;color:var(--shell-muted)}
.ace-map-credits summary{cursor:pointer;color:var(--shell-ink);font-family:'Space Grotesk',sans-serif;line-height:1.5}
.ace-map-credits .leaflet-control-attribution{float:none;clear:none;margin:12px 0 0!important;padding:0;background:transparent;color:var(--shell-muted);font:inherit;overflow-wrap:anywhere}
.ace-map-credits a{color:var(--shell-accent)}
.alm-credits-link{padding:3px 7px;background:var(--shell-panel);color:var(--shell-muted);font:11px 'DM Sans',sans-serif;border-radius:4px}
.alm-credits-link button{font:inherit;padding:0;border:0;background:none;color:var(--shell-accent);text-decoration:underline}
@media(min-width:901px){.ace-shell[data-filter-closed=true] .ace-map-credits{display:none}}
.ace-hub-status:has(.ace-sheffield-loader){inset:var(--wp-admin--admin-bar--height,0px) 0 0;transform:none;display:grid;place-items:center;padding:22px 32px;max-width:none;border:0;border-radius:0;box-shadow:none;background:color-mix(in srgb,var(--shell-bg,#14191b) 82%,transparent);backdrop-filter:blur(5px);pointer-events:auto}
@media(min-width:901px){.ace-hub-status:has(.ace-sheffield-loader){left:var(--shell-left);right:var(--shell-right)}.ace-shell.has-context-rail .ace-hub-status:has(.ace-sheffield-loader){right:calc(var(--shell-context) + 66px)}}
.ace-hub-status:has(.ace-sheffield-loader) .ace-sheffield-loader{padding:24px 34px;border:1px solid var(--shell-line);border-radius:16px;background:var(--shell-panel);box-shadow:0 18px 55px #0006}
.ace-sheffield-loader{display:grid;justify-items:center;gap:8px;text-align:center;min-width:200px}
.ace-sheffield-loader strong{font:600 20px 'Space Grotesk',sans-serif}.ace-sheffield-loader span{font-size:12px;color:var(--shell-muted)}
.ace-sheffield-loader svg{color:var(--shell-accent);overflow:hidden}.ace-loader-hills{fill:none;stroke:currentColor;stroke-width:2;opacity:.35}.ace-loader-city{fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}.ace-loader-track{stroke:currentColor;opacity:.35}.ace-loader-tram{fill:currentColor;animation:ace-tram-journey 2s ease-in-out infinite}.ace-loader-tram path{stroke:var(--shell-panel);stroke-width:2}

/* Load-more work stays inside a normally sized button. The public-app CSS gives
   these controls a card-like width, so use the shell's stronger selector here:
   the Sheffield animation becomes an exact button-sized overlay only while the
   request is busy and cannot leak into the idle state. */
.ace-load-more .ace-load-more__button{position:relative;isolation:isolate;width:auto;max-width:min(100%,26rem);min-height:46px;height:auto;padding:.65rem 1rem;overflow:hidden;flex-direction:column;border-radius:.5rem}
.ace-load-more .ace-load-more__loader{display:none!important;position:absolute;z-index:2;inset:0;width:100%;height:100%;place-items:center;color:var(--shell-ink,#f5f2ea);overflow:hidden;background:var(--shell-panel,#1b2224);border-radius:inherit;pointer-events:none}
.ace-load-more .ace-load-more__loader svg{display:block;width:100%;height:100%;margin:0;padding:.18rem clamp(.7rem,8%,1.5rem);overflow:hidden}
.ace-load-more .ace-load-more__button:is(:disabled,[aria-disabled="true"]) .ace-load-more__loader{display:grid!important}
.ace-load-more .ace-load-more__button:is(:disabled,[aria-disabled="true"]) :is(.ace-load-more__label,.ace-load-more__hint){visibility:hidden}
.ace-load-more .ace-load-more__button:is(:disabled,[aria-disabled="true"]){cursor:wait;opacity:1}
@keyframes ace-tram-journey{0%{transform:translateX(0)}100%{transform:translateX(140px)}}
@media(prefers-reduced-motion:reduce){.ace-loader-tram{animation:none;transform:translateX(70px)}}

/* Keep the homepage footer above the full-viewport map and within the scroll panel. */
.ace-shell--home:not(.is-event-view) .ace-hub-route>footer{position:relative;z-index:2;display:block;min-width:0;width:100%;max-width:100%;margin:0;background:var(--shell-bg);padding-bottom:0}
@media(max-width:900px){.ace-shell--home:not(.is-event-view) .ace-hub-route>footer{padding-bottom:36px}}
.ace-shell--home .ace-hub-route>footer :is(.alignwide,.alignfull){max-width:100%;margin-inline:auto}

/* Active event controls belong to the panel, not the former intro's animated offset. */
.ace-workspace-page .ace-shell.is-event-view .ace-app{position:absolute;inset:0;width:100%;height:100%!important;min-height:0!important;margin:0!important}
.ace-workspace-page .ace-shell.is-event-view .ace-app.is-active .ace-app__bar{transform:none!important;animation:none!important;transition:none!important;top:0!important;opacity:1;visibility:visible}

/* Font Awesome storefront for the Market navigation entry. */
.ace-shell .ace-shell__icon.fa-store::before{content:"\f54e";}

/* Reuse the account inbox bell in the rail header, including its unread badge. */
.ace-shell .ace-shell__notification-bell{flex-shrink:0;margin:0;line-height:1}
.ace-shell .ace-shell__notification-bell .ace-bell__btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:40px;min-height:40px;padding:8px;position:relative;border-radius:0;color:var(--shell-ink);font:500 12px 'Space Grotesk',sans-serif}
.ace-shell .ace-shell__notification-bell .ace-bell__btn:hover,.ace-shell .ace-shell__notification-bell .ace-bell__btn:focus-visible{background:var(--shell-card);color:var(--shell-accent)}
.ace-shell .ace-shell__notification-bell .ace-bell__count{background:var(--shell-accent);color:var(--shell-bg);font:700 10px/16px 'Space Grotesk',sans-serif;min-width:16px;height:16px}
.ace-shell .ace-shell__account-head.has-inbox{height:auto;min-height:52px;flex-wrap:wrap}

/* A quiet introduction and the same account rhythm as the TalkFuse hub. */
.ace-shell__intro{padding:20px 18px 18px;border-bottom:1px solid var(--shell-line);overflow-wrap:anywhere}
.ace-shell__intro strong{display:block;color:var(--shell-accent);font:600 14px/1.35 'Space Grotesk',sans-serif}
.ace-shell__intro p{margin:8px 0 0;color:var(--shell-muted);font-size:12px;line-height:1.65}
@media(min-width:901px){.ace-shell[data-left-closed=true] .ace-shell__intro{display:none}}
.ace-shell .ace-shell__account-content{padding:0}
.ace-shell__account-content .ace-acct--guest{padding:24px 18px;background:linear-gradient(180deg,color-mix(in srgb,var(--shell-accent) 7%,transparent),transparent);border-bottom:1px solid var(--shell-line)}
.ace-shell__welcome>span{font:600 10px/1.4 'Space Grotesk',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--shell-accent)}
.ace-shell .ace-shell__welcome h2{font-size:22px;line-height:1.2;margin:8px 0}
.ace-shell__welcome p{color:var(--shell-muted);font-size:12px;line-height:1.65;margin:0 0 22px}
.ace-shell .ace-shell__account-content .ace-loginform{padding:0;margin:0;box-shadow:none}
.ace-shell .ace-shell__account-content .ace-loginform__field{display:flex;flex-direction:column;gap:7px;margin:0 0 18px;font-weight:500}
.ace-shell .ace-shell__account-content .ace-loginform input:not([type=checkbox]):not([type=hidden]){min-width:0;min-height:44px;font-size:14px;border-radius:6px;padding:10px 12px}
.ace-shell .ace-loginform input:focus-visible{outline:2px solid var(--shell-accent);outline-offset:2px}
.ace-shell .ace-loginform__row{font-size:12px;gap:8px;align-items:center;margin-bottom:16px}
.ace-shell .ace-loginform__row p{margin:0}.ace-shell .ace-loginform input[type=checkbox]{accent-color:var(--shell-accent)}
.ace-shell .ace-loginform__submit{width:100%;min-height:44px;font-weight:600;border-radius:6px}
/* The in-place sign-in answer. It replaces the old full-page trip to wp-login.php, so it has to
   carry the whole message: progress, a refusal, or the prompt for an authentication code. */
.ace-shell .iga-login-status{margin:12px 0 0;font-size:12px;line-height:1.55;color:var(--shell-muted);min-height:1em}
.ace-shell .iga-login-status:empty{display:none}
.ace-shell .ace-loginform--login>label:not(.ace-loginform__field){display:flex;flex-direction:column;gap:7px;margin:0 0 4px;font-size:12px;font-weight:500;color:var(--shell-muted)}
.ace-shell .ace-shell__personal{padding:24px 18px}
.ace-shell .ace-shell__personal h2{font-size:17px;margin:0 0 8px}.ace-shell .ace-shell__personal p{margin:0 0 18px;font-size:12px;line-height:1.6}
.ace-shell .ace-shell__personal>a{width:calc(100% + 36px);margin-inline:-18px;padding:14px 18px;gap:12px}
.ace-shell__personal>a i{width:18px;text-align:center;color:var(--shell-muted)}.ace-shell__personal>a>span:last-child{margin-left:auto;color:var(--shell-muted)}
.ace-shell #ace-shell-dashboard-nav .ace-user-profile{margin:0;padding:24px 18px 20px;border-bottom:1px solid var(--shell-line);background:linear-gradient(180deg,color-mix(in srgb,var(--shell-accent) 7%,transparent),transparent)}
.ace-shell #ace-shell-dashboard-nav .ace-user-avatar{width:72px;height:72px;margin:0 auto 14px;border:2px solid var(--shell-line);border-radius:50%}
.ace-shell #ace-shell-dashboard-nav .ace-user-info{text-align:center;min-width:0;overflow-wrap:anywhere}
.ace-shell #ace-shell-dashboard-nav .ace-user-name{font-size:18px;line-height:1.3;margin:0 0 6px}
.ace-shell #ace-shell-dashboard-nav .ace-user-role{font-size:12px;color:var(--shell-muted);text-transform:capitalize}
.ace-shell #ace-shell-dashboard-nav .ace-sidebar-section{padding:0;margin:0;border:0}
.ace-shell #ace-shell-dashboard-nav .ace-sidebar-section-toggle{width:100%;min-height:48px;margin:0;padding:11px 18px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:0;border-top:1px solid var(--shell-line);border-bottom:1px solid var(--shell-line);border-radius:0;background:color-mix(in srgb,var(--shell-card) 82%,var(--shell-accent) 6%);color:var(--shell-muted);font:700 13px/1.35 'Space Grotesk',sans-serif;text-align:left;cursor:pointer}.ace-shell #ace-shell-dashboard-nav .ace-sidebar-section-toggle:hover,.ace-shell #ace-shell-dashboard-nav .ace-sidebar-section-toggle:focus-visible{background:color-mix(in srgb,var(--shell-card) 88%,var(--shell-accent) 12%);color:var(--shell-ink)}.ace-shell #ace-shell-dashboard-nav .ace-sidebar-section-toggle:focus-visible{outline:2px solid var(--shell-accent);outline-offset:-2px}.ace-shell #ace-shell-dashboard-nav .ace-sidebar-section-caret{width:11px;height:11px;flex:none;transition:transform .16s ease}.ace-shell #ace-shell-dashboard-nav .ace-sidebar-section.is-open .ace-sidebar-section-caret{transform:rotate(90deg)}.ace-shell #ace-shell-dashboard-nav .ace-sidebar-section-content[hidden]{display:none}
.ace-shell .ace-shell__right .ace-sidebar-menu{padding:0}.ace-shell .ace-shell__right .ace-sidebar-menu :is(a,button){padding:13px 18px;gap:12px;overflow-wrap:anywhere}
.ace-shell .ace-shell__right .ace-sidebar-menu svg{flex:0 0 18px;width:18px;margin-right:0!important;color:var(--shell-muted)}
.ace-shell .ace-shell__right .ace-sidebar-menu .active svg{color:var(--shell-accent)}
.ace-shell .ace-shell__right .ace-menu-label{flex:1;min-width:0;padding-left:0}.ace-shell .ace-shell__right .ace-notification-count{margin-left:auto;flex-shrink:0;font-size:11px}
.ace-shell .ace-shell__personal-icon{width:18px;height:18px;flex:0 0 18px;fill:currentColor;color:var(--shell-muted)}
/* The older login block applies fixed translucent colours with !important. */
.ace-shell .ace-shell__account-content .ace-loginform input:not([type=checkbox]):not([type=hidden]){background:var(--shell-bg)!important;border:1px solid var(--shell-line)!important;color:var(--shell-ink)!important}
.ace-shell .ace-shell__account-content .ace-loginform input::placeholder{color:var(--shell-muted);opacity:1}
/* Application actions in the map context rail use explicit theme pairs. */
.ace-shell__contextual .alm__panel[data-kind=job] .alm__actions{display:flex;flex-wrap:wrap;gap:10px;margin-block:22px}
.ace-shell__contextual .alm__panel[data-kind=job] .alm__actions a.alm__btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;max-width:100%;padding:12px 16px;border:1px solid var(--shell-accent);border-radius:6px;background:var(--shell-accent);color:var(--shell-bg)!important;font-weight:600;line-height:1.5;text-decoration:none;white-space:normal}
.ace-shell__contextual .alm__panel[data-kind=job] .alm__actions a.is-ghost{background:var(--shell-card);color:var(--shell-ink)!important;border-color:var(--shell-line)}
.ace-shell__contextual .alm__panel[data-kind=job] .alm__actions a:focus-visible{outline:2px solid var(--shell-accent);outline-offset:3px}
.ace-shell.has-job-context .alm__panelbody{font-size:14px;line-height:1.65;overflow-wrap:anywhere}

/* Native management fields inherit the hub theme, including Gutenberg controls. */
.ace-shell.is-management .ace-add-edit-event :is(label,.components-base-control__label,.ace-fields-heading){color:var(--shell-ink)!important;font-family:'Space Grotesk',sans-serif!important}
.ace-shell.is-management .ace-add-edit-event :is(.components-base-control__help,.ace-form-hint){color:var(--shell-muted)!important}
.ace-shell.is-management .ace-add-edit-event :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea){width:100%;min-height:44px;max-width:100%;padding:10px 12px;box-sizing:border-box;border:1px solid var(--shell-line);border-radius:6px;background:var(--shell-bg);color:var(--shell-ink);font:inherit}
.ace-shell.is-management .ace-add-edit-event .components-placeholder{background:var(--shell-card);color:var(--shell-ink);box-shadow:inset 0 0 0 1px var(--shell-line)}
.ace-shell.is-management .ace-add-edit-event .components-button.is-primary{background:var(--shell-accent);color:var(--shell-bg)}
.ace-shell.is-management .ace-add-edit-event .components-button.is-secondary{color:var(--shell-ink);box-shadow:inset 0 0 0 1px var(--shell-line)}

/* Keep programme filters at the scrollport edge, with page spacing inside it. */
.ace-shell--content .ace-shell__main:has(.ace-prog){padding-block:0}
.ace-shell--content .ace-shell__main:has(.ace-prog)>.ace-hub-public{padding-block:28px}
/* Inside the workspace there is no theme header to clear, but there IS a context
   ticker stuck to the top of the scroller, and a date that parks at zero parks
   underneath it. Its height is measured into --ace-strip-h, because the ticker is
   not on every route. */
.ace-shell--content .ace-prog{--prog-top:var(--ace-strip-h,0px)}
@media(max-width:900px){.ace-shell--content .ace-shell__main:has(.ace-prog)>.ace-hub-public{padding-block:20px}}
.ace-programme-detail{padding:24px;color:var(--shell-ink);overflow-wrap:anywhere}
.ace-programme-detail__label{margin:0 0 8px;color:var(--shell-muted);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}
.ace-programme-detail h2{margin:0 0 20px;font-size:clamp(22px,2vw,32px);line-height:1.2}
.ace-programme-detail h2[tabindex="-1"]:focus{outline:none}
.ace-programme-detail__close{display:none}
@media(max-width:900px){.ace-programme-detail__close{display:block;margin:0 0 16px auto}}
.ace-programme-detail__body{line-height:1.65}
.ace-programme-detail__body img{max-width:100%;height:auto}
.ace-programme-detail .ace-event-detail{margin-block:24px;padding:20px;border:1px solid var(--shell-line);border-radius:12px;background:var(--shell-card);color:var(--shell-ink)}
.ace-programme-detail .ace-event-detail h2{font-size:20px}
.ace-shell .ace-programme-detail a.ace-btn--tickets{background:var(--shell-accent);color:var(--shell-bg)!important}
.ace-programme-detail__full{display:inline-flex;padding:10px 14px;border:1px solid var(--shell-line);border-radius:6px;background:var(--shell-card);color:var(--shell-ink)!important;font-weight:600;text-decoration:none}

/* A single pill track with a sliding, pill-shaped selected view. */
.ace-shell .ace-prog__views{position:relative;isolation:isolate;display:inline-grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:4px;border:1px solid var(--shell-line);border-radius:999px;background:var(--shell-card)}
.ace-shell .ace-prog__views::before{content:"";position:absolute;z-index:-1;inset-block:4px;left:4px;width:calc((100% - 8px)/2);border-radius:999px;background:var(--shell-ink);box-shadow:0 1px 4px #0002;transform:translateX(0);transition:transform 220ms cubic-bezier(.2,.8,.2,1),background-color 180ms ease}
.ace-shell .ace-prog__views:has([data-view="cal"].is-on)::before{transform:translateX(100%)}
.ace-shell .ace-prog__views .ace-prog__view{min-height:40px;padding:8px 18px;border:0;border-radius:999px;background:transparent;color:var(--shell-muted);opacity:1;transition:color 180ms ease,background-color 180ms ease}
.ace-shell .ace-prog__views .ace-prog__view:hover{color:var(--shell-ink);background:color-mix(in srgb,var(--shell-ink) 6%,transparent)}
.ace-shell .ace-prog__views .ace-prog__view.is-on{background:transparent;color:var(--shell-bg)}
@media(prefers-reduced-motion:reduce){.ace-shell .ace-prog__views::before,.ace-shell .ace-prog__views .ace-prog__view{transition:none}}

/* Classes are a deliberate opt-in alongside the existing event filters. */
.ace-shell .ace-include-classes,.ace-shell .ace-classes-toggle label{display:flex;align-items:center;gap:8px;padding:10px 12px;color:var(--shell-ink);background:var(--shell-card);border:1px solid var(--shell-line);border-radius:8px;font-size:13px;white-space:nowrap}
.ace-shell .ace-include-classes input,.ace-shell .ace-classes-toggle input[type=checkbox]{width:16px;height:16px;margin:0;flex:none;accent-color:var(--shell-accent)}
.ace-shell .ace-classes-toggle{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:12px 0}

/* Catalogue counts align to the outside edge without changing the rail hit areas. */
.ace-shell__left .wp-block-navigation-item__label{width:100%;min-width:0}
.ace-shell__left .ace-shell__label{min-width:0;flex:1}
.ace-shell__nav-count{display:inline-flex;align-items:center;justify-content:center;flex:none;min-width:26px;height:26px;padding:0 6px;margin-left:auto;border-radius:999px;background:var(--shell-card);color:var(--shell-muted);border:1px solid var(--shell-line);font-size:11px;font-weight:600;line-height:1;font-variant-numeric:tabular-nums}
.ace-shell__left a:hover .ace-shell__nav-count,.ace-shell__left a[aria-current=page] .ace-shell__nav-count{background:var(--shell-accent);color:var(--shell-bg);border-color:var(--shell-accent)}
@media(min-width:901px){.ace-shell[data-left-closed=true] .ace-shell__nav-count{display:none}}
.ace-shell__left{container-type:inline-size;container-name:ace-nav}
.ace-shell__left .ace-shell__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ace-shell__nav-count{width:32px;height:32px;min-width:32px;color:var(--shell-muted)!important}
.ace-shell__left a:hover .ace-shell__nav-count,.ace-shell__left a[aria-current=page] .ace-shell__nav-count{color:var(--shell-bg)!important}
@container ace-nav (max-width:190px){.ace-shell__nav-count{display:none}}

.ace-shell__left .ace-community-nav{position:relative;display:block;width:100%}
.ace-shell__left .ace-community-nav>.wp-block-navigation-item__content{padding-right:42px}
.ace-community-nav__toggle{position:absolute;right:4px;top:8px;width:32px;height:36px;padding:0;border:0;background:transparent;color:var(--shell-ink);font-size:22px;cursor:pointer;transition:transform .18s}
.ace-community-nav__toggle[aria-expanded=true]{transform:rotate(180deg)}
.ace-community-nav__toggle:hover{background:var(--shell-card)}
.ace-community-nav__panel{padding:8px 16px 16px 28px;border-bottom:1px solid var(--shell-line);background:var(--shell-card)}
.ace-community-nav__panel[hidden]{display:none!important}
.ace-community-nav__panel p{font-size:12px;color:var(--shell-muted);margin:8px 0}
.ace-community-nav__panel ul{display:block;list-style:none;margin:0;padding:0}
.ace-community-nav__panel li{display:block;margin:0;padding:0}
.ace-shell__left .ace-community-nav__panel a{display:block;padding:9px 8px;font-size:13px;color:var(--shell-ink);text-decoration:none;overflow-wrap:anywhere}
.ace-shell__left .ace-community-nav__panel a:hover{background:var(--shell-bg);color:var(--shell-accent)}
@media(min-width:901px){.ace-shell[data-left-closed=true] .ace-community-nav__panel,.ace-shell[data-left-closed=true] .ace-community-nav__toggle{display:none}.ace-shell[data-left-closed=true] .ace-community-nav>.wp-block-navigation-item__content{padding-right:0}}
@media(prefers-reduced-motion:reduce){.ace-community-nav__toggle{transition:none}}

/* Rails are continuous sections; spacing belongs inside each section. */
.ace-shell__left>.wp-block-template-part,.ace-shell__right>.wp-block-template-part{gap:0;--wp--style--block-gap:0}
.ace-shell__left>.wp-block-template-part>*,.ace-shell__right>.wp-block-template-part>*{margin-block:0!important}
.ace-shell__left .wp-block-navigation{padding:0!important;margin:0!important}
.ace-shell__left .wp-block-navigation__container{gap:0!important}
.ace-shell__account-content{padding:0!important}
.ace-shell__account-content>.ace-shell__personal{margin:0;padding:18px 0 0;border-top:1px solid var(--shell-line)}
.ace-shell__personal>h2,.ace-shell__personal>p{padding-inline:18px}
.ace-shell__personal>a{margin-top:0!important;border-radius:0!important}
.ace-shell .ace-community-nav__toggle{display:flex;align-items:center;justify-content:center;padding:8px;border:0;border-radius:0;background:transparent}
.ace-community-nav__toggle svg{width:13px;height:16px;display:block}

/* Consistent rail dropdown affordances, without replacing native select behaviour. */
.ace-shell__filter select:not([multiple]):not([size]),.ace-shell__left select:not([multiple]):not([size]){
 appearance:none!important;-webkit-appearance:none!important;padding-right:34px!important;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='18' viewBox='0 0 12 18'%3E%3Cpath d='m3 6 3-3 3 3M3 12l3 3 3-3' fill='none' stroke='%23a7b3b1' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
 background-repeat:no-repeat!important;background-position:right 12px center!important;background-size:12px 18px!important;
}
body[data-ace-theme=light] .ace-shell__filter select:not([multiple]):not([size]),body[data-ace-theme=light] .ace-shell__left select:not([multiple]):not([size]){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='18' viewBox='0 0 12 18'%3E%3Cpath d='m3 6 3-3 3 3M3 12l3 3 3-3' fill='none' stroke='%23586765' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important}
.ace-shell__filter details>summary{position:relative;list-style:none;padding-right:30px;cursor:pointer}
.ace-shell__filter details>summary::-webkit-details-marker{display:none}
.ace-shell__filter details>summary::after{content:'';position:absolute;right:12px;top:50%;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-70%) rotate(45deg);transition:transform .18s ease}
.ace-shell__filter details[open]>summary::after{transform:translateY(-25%) rotate(225deg)}
@media(prefers-reduced-motion:reduce){.ace-shell__filter details>summary::after{transition:none}}

/* Boosted artwork gets a diamond only; retain the text for assistive technology. */
.ace-shell .ace-gcard__badge--super{display:block!important;position:absolute;top:14px;left:14px;width:24px;height:24px;min-width:0;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;font-size:0!important;line-height:0!important;mix-blend-mode:difference;pointer-events:none}
.ace-shell .ace-gcard__badge--super>*{display:none!important}
.ace-shell .ace-gcard__badge--super::before{content:'';display:block;width:24px;height:24px;background:#fff;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}

/* Shared shell identity and rail controls. The whole divider is draggable; the
   visible pill is the click/touch affordance used by both desktop rails. */
.ace-shell__brand{container-type:inline-size}
.ace-shell__brand>.ace-shell__brand-link{flex:1;display:flex;align-items:center;justify-content:center;min-width:0;max-width:100%;height:100%;overflow:hidden;font-size:clamp(15px,10.5cqw,34px);font-weight:800;letter-spacing:clamp(-.8px,-.15cqw,-.25px);text-decoration:none!important;color:var(--shell-ink)!important}
.ace-shell__brand-full{display:inline-flex;align-items:center;max-width:100%;gap:clamp(6px,2cqw,12px);white-space:nowrap}.ace-shell__brand-pin{display:block;width:.78em;height:1em;flex:0 0 auto;color:var(--shell-accent)}.ace-shell__wordmark .ace-shell__brand-pin{width:.78em;height:1em}.ace-shell__brand-compact{display:none;position:relative;align-items:flex-end;letter-spacing:-.06em}.ace-shell__brand-dot{position:relative;color:var(--shell-accent);margin-inline:1px}.ace-shell__brand-dot>.ace-shell__brand-pin{position:absolute;left:50%;bottom:5px;translate:-50% 0;width:9px;height:12px}.ace-shell__left .ace-shell__icon{display:grid;place-items:center;width:30px;height:30px;border-radius:0;background:transparent;transition:color .15s}.ace-shell__left .wp-block-navigation-item__content:hover .ace-shell__icon,.ace-shell__left a[aria-current=page] .ace-shell__icon{background:transparent;color:var(--shell-accent)}
.ace-shell__brand .ace-shell__wordmark{min-width:0;max-width:100%;overflow:hidden;font-size:clamp(15px,10.5cqw,34px)!important;letter-spacing:clamp(-.8px,-.15cqw,-.25px);white-space:nowrap}
.ace-shell__edge{top:0!important;bottom:0!important;width:14px!important;height:auto!important;border-radius:0!important;cursor:col-resize!important;z-index:1100}.ace-shell__edge--left{left:calc(var(--shell-left) - 7px)!important}.ace-shell__edge--filter{left:calc(var(--shell-left) + var(--shell-filter) - 7px)!important}.ace-shell__edge--right{right:calc(var(--shell-right) - 7px)!important}.ace-shell__edge--context{right:calc(var(--shell-right) + var(--shell-context,320px) - 7px)!important}.ace-shell__edge::before{content:'';position:absolute;inset:0 5px;background:transparent;transition:background .15s}.ace-shell__edge:hover::before,.ace-shell__edge:focus-visible::before{background:color-mix(in srgb,var(--shell-accent) 38%,transparent)}.ace-shell__edge::after{display:none!important}.ace-shell__edge>span{inset:auto!important;top:39px!important;left:-7px!important;width:28px!important;height:28px!important;border-radius:50%!important;display:grid;place-items:center;background:var(--shell-card)!important;color:var(--shell-muted)!important;border:1px solid var(--shell-line)!important;box-shadow:0 5px 16px #0005!important;transition:color .15s,border-color .15s,background .15s,transform .15s}.ace-shell__edge:hover>span,.ace-shell__edge:focus-visible>span{color:var(--shell-accent)!important;background:var(--shell-panel)!important;border-color:var(--shell-accent)!important;transform:none!important}
.ace-shell[data-left-closed=true] .ace-shell__brand-full{display:none}.ace-shell[data-left-closed=true] .ace-shell__brand-compact{display:inline-flex}.ace-shell[data-left-closed=true] .ace-shell__brand>a{display:flex}.ace-shell[data-left-closed=true] .ace-shell__brand{padding-inline:6px}.ace-shell[data-left-closed=true] .ace-shell__brand-link{font-size:16px}
.ace-shell[data-filter-closed=true] .ace-map-tabs{flex-direction:column;padding:8px 6px;gap:7px}.ace-shell[data-filter-closed=true] .ace-map-tabs button{position:relative;min-height:42px;padding:6px 2px;border-radius:10px;font-size:0}.ace-shell[data-filter-closed=true] .ace-map-tabs button::before{font-family:'Ace Workspace Icons';font-weight:900;font-size:16px}.ace-shell[data-filter-closed=true] .ace-map-tabs button[data-map-tab=layers]::before{content:'\f5fd'}.ace-shell[data-filter-closed=true] .ace-map-tabs button[data-map-tab=tools]::before{content:'\f7d9'}.ace-shell[data-filter-closed=true] .ace-map-tabs button[data-map-tab=results]::before{content:'\f03a'}.ace-shell[data-filter-closed=true] .ace-map-search{justify-content:center;padding-inline:5px}.ace-shell[data-filter-closed=true] .ace-map-search button{width:42px;height:42px;border-radius:10px}

/* TalkFuse parity: closing a filter rail makes the controls compact, but the
   search remains a real, full-width field in the shared 52px top band. The
   extra 154px occupies the start of the map ticker instead of covering it. */
@media(min-width:901px){
 .ace-shell[data-filter-closed=true]>.ace-shell__filter,.ace-shell.has-chy-rail[data-filter-closed=true]>.ace-shell__filter{position:relative;z-index:14;overflow:visible}
 .ace-shell[data-filter-closed=true] :is(.ace-map-search,.ace-chy__railtop){position:relative;z-index:4;width:238px;min-width:238px;height:52px;box-sizing:border-box;background:var(--shell-panel);border-right:1px solid var(--shell-line)}
 .ace-shell[data-filter-closed=true] .ace-map-search{justify-content:stretch;padding:8px}
 .ace-shell[data-filter-closed=true] .ace-map-search input{display:block!important;min-width:0}
 .ace-shell[data-filter-closed=true] .ace-map-search button{width:36px;height:36px;flex:0 0 36px}
 .ace-shell.has-chy-rail[data-filter-closed=true] .ace-chy__search{display:flex}
 .ace-shell.has-chy-rail[data-filter-closed=true] .ace-chy__railtop{justify-content:stretch}
 .ace-shell--map[data-filter-closed=true] .alm[data-map-profile="live"]>.alm__ticker{box-sizing:border-box;padding-left:calc(238px - var(--shell-filter,84px))}
}
.ace-shell .ace-gcard__badge--super::before{content:'\f219';display:grid;place-items:center;width:24px;height:24px;background:none;clip-path:none;color:#fff;font-family:'Ace Workspace Icons';font-weight:900;font-size:22px;line-height:1}
.ace-shell__right .ace-dashboard-sidebar{padding:0;background:transparent;border:0}.ace-shell__right .ace-user-profile{padding:18px;border-bottom:1px solid var(--shell-line)}.ace-shell__right .ace-sidebar-heading{margin:0;padding:16px 18px 9px;color:var(--shell-muted);font:700 11px 'Space Grotesk',sans-serif;letter-spacing:.08em;text-transform:uppercase}.ace-shell__right .ace-sidebar-menu{margin:0;padding:0 10px 8px;list-style:none}.ace-shell__right .ace-sidebar-button{min-height:44px;padding:10px 9px;border-radius:8px;gap:13px}.ace-shell__right .ace-sidebar-footer{position:absolute;top:7px;right:8px;margin:0;padding:0;border:0}.ace-shell__right .ace-logout-button{width:38px;height:38px;min-width:38px;padding:0!important;display:grid!important;place-items:center;border-radius:50%!important}.ace-shell__right .ace-logout-button .ace-menu-label,.ace-shell__right .ace-logout-button>svg+span{display:none}.ace-shell__right .ace-logout-button svg{margin:0!important}

/* Like TalkFuse, rail utilities sit at the base when content leaves room. */
.ace-shell__right>.wp-block-template-part{display:flex;flex-direction:column;min-height:100%}
.ace-shell__right>.wp-block-template-part>*{flex-shrink:0}
.ace-shell__right>.wp-block-template-part>.ace-shell__rail-footer{margin-top:auto!important;padding:18px 12px;border-top:1px solid var(--shell-line);text-align:center}
.ace-shell .ace-shell__rail-footer button{background:transparent;border:0;color:var(--shell-muted);font-size:12px}
@media(min-width:901px){.ace-shell[data-right-closed=true] .ace-shell__rail-footer{display:none}}

.ace-members-hub{max-width:1100px;margin-inline:auto;padding:24px;color:var(--shell-ink)}
.ace-members-hub form{display:flex;gap:12px;align-items:end;margin:24px 0}.ace-members-hub label{flex:1}.ace-members-hub input{display:block;width:100%;margin-top:8px;padding:12px;background:var(--shell-card);color:var(--shell-ink);border:1px solid var(--shell-line);border-radius:6px}
.ace-members-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:16px}.ace-members-grid a{display:flex;align-items:center;gap:14px;padding:18px;background:var(--shell-card);border:1px solid var(--shell-line);color:var(--shell-ink);text-decoration:none}.ace-members-grid img{border-radius:50%}.ace-members-hub nav{display:flex;justify-content:space-between;align-items:center;margin-top:24px}.ace-members-account-link{display:block;padding:14px 18px;border-top:1px solid var(--shell-line);text-decoration:none}.ace-members-account-link:hover{background:var(--shell-card)}
@media(min-width:901px){.ace-shell[data-right-closed=true] .ace-members-account-link{display:none}}

.ace-radio-panel{max-width:1200px;margin:auto;padding:clamp(18px,3vw,36px);color:var(--shell-ink)}.ace-radio-panel h1{font-size:clamp(28px,4vw,46px);margin:8px 0}.ace-radio-panel__eyebrow{color:var(--shell-accent);text-transform:uppercase;letter-spacing:.08em;font-size:12px}.ace-radio-panel>section{padding-block:28px;border-top:1px solid var(--shell-line)}.ace-radio-artist-list{display:flex;flex-wrap:wrap;gap:8px}.ace-radio-artist-list button[aria-pressed=true]{background:var(--shell-accent);color:var(--shell-bg)}.ace-radio-artist-search{display:flex;gap:12px;align-items:end;margin:24px 0}.ace-radio-artist-search label{flex:1}.ace-radio-artist-search input{display:block;width:100%;padding:12px;margin-top:8px;border:1px solid var(--shell-line);background:var(--shell-card);color:var(--shell-ink);border-radius:6px}.ace-radio-tracks button{display:block;width:100%;padding:14px;text-align:left;margin-block:6px}.ace-radio-video{width:100%;aspect-ratio:16/9;border:0;display:block}.ace-radio-dock:has(.ace-radio-video){min-width:200px}
/* Consistent inner gutters for both account states; flush section boundaries. */
.ace-shell__right .ace-acct{padding:22px 18px!important;width:100%;box-sizing:border-box}.ace-shell__right .ace-loginform__field{margin:0 0 18px}.ace-shell__right .ace-loginform input:not([type=checkbox]):not([type=hidden]){width:100%;min-height:44px}.ace-shell__right .ace-loginform button[type=submit]{width:100%;min-height:44px;border-radius:6px}.ace-shell__personal>a{padding:14px 18px!important;gap:12px!important;min-width:0}.ace-shell__personal>a>span:last-child{margin-left:auto}.ace-shell__personal-icon{width:18px!important;height:18px!important;flex:none}.ace-shell__personal h2{font-size:18px;margin-block:0 6px}.ace-shell__personal p{margin-block:0 14px}.ace-shell__right .ace-acct__menu{max-width:100%;box-sizing:border-box}.ace-shell__rail-footer{padding-bottom:18px!important}

/* Keep rail rows inside their rail; older full-bleed margins assumed padded parents. */
.ace-shell .ace-shell__personal>a{width:100%;margin:0!important}
.ace-shell .ace-radio-artist-search{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px}
.ace-shell .ace-radio-artist-search label{min-width:0;display:block}
.ace-shell .ace-radio-artist-search input{box-sizing:border-box;min-width:0;max-width:100%;height:48px}
.ace-shell .ace-radio-artist-search>button{height:48px;margin:0;white-space:nowrap}
.ace-radio-video{min-height:200px}
@media(max-width:600px){.ace-shell .ace-radio-panel{padding:18px 0}.ace-shell .ace-radio-artist-search{grid-template-columns:minmax(0,1fr)}.ace-shell .ace-radio-artist-search>button{width:100%}}

/* Match the signed-in navigation rhythm to the public rail. */
.ace-shell__right .ace-sidebar-section{margin:0!important;padding:0!important}
.ace-shell__right .ace-sidebar-heading{display:none!important}
.ace-shell__right .ace-sidebar-menu{margin:0!important;padding:0!important;gap:0!important}
.ace-shell__right .ace-sidebar-button{padding:13px 18px!important;gap:12px!important;min-height:46px;max-width:100%;border-radius:0!important}
.ace-shell__right .ace-sidebar-button .ace-menu-label{min-width:0;overflow-wrap:anywhere}
.ace-shell__right .ace-notification-count{color:var(--shell-muted)!important}
.ace-shell__right .ace-user-name{overflow-wrap:anywhere}
.ace-shell .ace-radio-launch{background:var(--shell-card)!important;color:var(--shell-ink)!important}
.ace-shell__left .fa-radio::before{content:"";display:block;width:19px;height:19px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cpath%20d%3D%22M494.8%2047c12.7-3.7%2020-17.1%2016.3-29.8S494-2.8%20481.2%201L51.7%20126.9c-9.4%202.7-17.9%207.3-25.1%2013.2C10.5%20151.7%200%20170.6%200%20192l0%204L0%20304%200%20448c0%2035.3%2028.7%2064%2064%2064l384%200c35.3%200%2064-28.7%2064-64l0-256c0-35.3-28.7-64-64-64l-229.5%200L494.8%2047zM368%20240a80%2080%200%201%201%200%20160%2080%2080%200%201%201%200-160zM80%20256c0-8.8%207.2-16%2016-16l96%200c8.8%200%2016%207.2%2016%2016s-7.2%2016-16%2016l-96%200c-8.8%200-16-7.2-16-16zM64%20320c0-8.8%207.2-16%2016-16l128%200c8.8%200%2016%207.2%2016%2016s-7.2%2016-16%2016L80%20336c-8.8%200-16-7.2-16-16zm16%2064c0-8.8%207.2-16%2016-16l96%200c8.8%200%2016%207.2%2016%2016s-7.2%2016-16%2016l-96%200c-8.8%200-16-7.2-16-16z%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat}

/* Context labels appear outside the rail, including when it is icon-only. */
@media(min-width:901px){
 .ace-shell__left .wp-block-navigation-item__content[data-ace-tooltip]{position:relative}
 .ace-shell__left .wp-block-navigation-item__content[data-ace-tooltip]::after{content:attr(data-ace-tooltip);position:absolute;left:calc(100% + 10px);top:50%;translate:0 -50%;z-index:1000;width:max-content;max-width:260px;padding:8px 11px;border:1px solid var(--shell-line);border-radius:8px;background:var(--shell-panel);color:var(--shell-ink);box-shadow:0 12px 32px rgba(0,0,0,.35);font-size:12px;font-weight:500;line-height:1.35;opacity:0;visibility:hidden;pointer-events:none;transform:translateX(-6px);transition:opacity .14s,transform .14s,visibility .14s}
 .ace-shell__left .wp-block-navigation-item__content[data-ace-tooltip]:is(:hover,:focus-visible)::after{opacity:1;visibility:visible;transform:none}
}

/* The site footer belongs to the scrolling panel and meets all four edges. */
.ace-shell__main>footer.wp-block-template-part,.ace-hub-route>footer.wp-block-template-part{width:100%!important;max-width:none!important;margin:0!important}
.ace-shell__main>.ace-boosted,.ace-hub-route>.ace-boosted{box-sizing:border-box;width:100%!important;max-width:100%!important;min-width:0;margin-left:0!important;margin-right:0!important}
/* The explore links above the footer sit at the same capped, centred width on every page as on the homepage. */
.ace-shell__main>.ace-explore,.ace-hub-route>.ace-explore{box-sizing:border-box;width:100%;max-width:1340px;min-width:0;margin-inline:auto!important}
/* Viewport-width breakout sections predate the three-rail workspace. Inside a
   content route, the main panel - not the browser viewport - is their edge, so
   headings, maps and cover artwork can never sit underneath either sidebar. */
.ace-shell--content .ace-hub-route :is(.ace-perf-mapwrap,.ace-place-cover,.ace-fringe__hero--map,.alm,.als.alignfull,.aln.alignfull){box-sizing:border-box;width:100%!important;max-width:100%!important;left:auto!important;margin-left:0!important;margin-right:0!important}
/* Performer maps should meet the panel edges, while their heading keeps the
   readable grid inset. This bleeds through only the main panel's own gutter,
   never through either workspace rail. */
.ace-shell--content .ace-hub-route .ace-perf-mapwrap.ace-perf-mapwrap{width:calc(100% + 56px)!important;max-width:none!important;margin-left:-28px!important;margin-right:-28px!important}
@media(max-width:900px){.ace-shell--content .ace-hub-route .ace-perf-mapwrap.ace-perf-mapwrap{width:calc(100% + 32px)!important;margin-left:-16px!important;margin-right:-16px!important}}
/* Content shells pad the main column 28px (20px 16px on phones). The site footer must bleed through that padding, or it sits in a box with a gap on three sides. */
.ace-shell--content .ace-shell__main>footer.wp-block-template-part,.ace-shell--content .ace-hub-route>footer.wp-block-template-part{margin:0 -28px -28px!important;width:calc(100% + 56px)!important}
@media(max-width:900px){.ace-shell--content .ace-shell__main>footer.wp-block-template-part,.ace-shell--content .ace-hub-route>footer.wp-block-template-part{margin:0 -16px -20px!important;width:calc(100% + 32px)!important}}
.ace-shell__main>footer.wp-block-template-part>.wp-block-group:last-child,.ace-hub-route>footer.wp-block-template-part>.wp-block-group:last-child{margin-bottom:0!important}
.ace-shell--news>.ace-shell__filter,.ace-shell--articles>.ace-shell__filter,.ace-shell--reviews>.ace-shell__filter{display:none}.ace-shell--news,.ace-shell--articles,.ace-shell--reviews{grid-template-columns:var(--shell-left) minmax(0,1fr) var(--shell-right)}
.ace-workspace-page .ace-shell__left .ace-shell__icon--performer{background-color:currentColor!important}
.ace-shell__soon{margin-left:auto;padding:.1rem .45rem;border:1px solid var(--shell-line,rgba(255,255,255,.12));border-radius:999px;font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.7;color:var(--shell-muted)}

/* A section map borrows the shared canvas, not the Local Map chrome. Its own
   section rail remains authoritative and live-data tickers stay on discovery. */
.ace-shell--map .alm[data-map-profile]:not([data-map-profile="live"]) .alm__ticker{display:none!important}
.ace-shell--map .alm--rail-section>.alm__rail{display:none!important}
.ace-map-profile-head{display:flex;align-items:center;min-height:52px;padding:10px 12px;border-bottom:1px solid var(--shell-line);color:var(--shell-accent);font-family:'Space Grotesk',sans-serif;font-size:13px}
.ace-shell__filter .alm__rail--profile>.alm__group:not([data-civic]){display:none!important}
.ace-shell--map .ace-chy--mapview,.ace-shell--map .ace-cnc__body--shared-map,.ace-shell--map .ace-help__body--shared-map,.ace-shell--map .ace-charity-shops__shared-map,.ace-shell--map .ace-csection--areas-map{height:100%;min-height:0;margin:0;padding:0;overflow:hidden}
.ace-shell--map .ace-chy--mapview>.ace-chy__head,.ace-shell--map .ace-chy--mapview>.ace-chy__credit,.ace-shell--map .ace-chy--mapview>.ace-chy__count,.ace-shell--map .ace-cnc__map-directory,.ace-shell--map .ace-charity-shops__shared-map>.ace-chy__credit,.ace-shell--map .ace-csection--areas-map>.ace-csection__hero{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important}

/* Native section blocks own their visible heading. The inherited page template
   still leaves its hidden title's spacer band above the block unless we remove
   that otherwise-empty wrapper. */
body.ace-section-page .ace-shell__main>.wp-block-group>.wp-block-group:first-child:has(+.wp-block-post-content),
body.ace-section-page .ace-shell__main>section.wp-block-group>.wp-block-group:first-child:has(~.wp-block-post-content){display:none}
body.ace-section-page .ace-shell__main .wp-block-post-content{margin-block-start:0}

/* Map tools are working controls, grouped by purpose rather than a loose list. */
.ace-map-tools{display:grid;gap:14px;padding:12px}
.ace-map-tool{display:grid;gap:10px;padding:13px;border:1px solid var(--shell-line);border-radius:12px;background:color-mix(in srgb,var(--shell-card) 72%,transparent)}
.ace-map-tool h3,.ace-map-tool p{margin:0}.ace-map-tool>a,.ace-map-tool-links>a{color:var(--shell-accent);font-size:12px;font-weight:700;text-decoration:none}
.ace-map-route{display:grid;gap:9px}.ace-map-route label{display:grid;gap:4px;color:var(--shell-muted);font-size:11px;font-weight:700}.ace-map-route input{box-sizing:border-box;margin:0}.ace-map-route button,.ace-map-tool-links button{min-height:38px;padding:8px 10px;border:1px solid var(--shell-line);border-radius:999px;background:transparent;color:var(--shell-ink);font:inherit;font-size:11px;font-weight:700;cursor:pointer;transition:border-color .18s,color .18s,background .18s,transform .18s}.ace-map-route button{border-color:var(--shell-accent);background:var(--shell-accent);color:var(--shell-bg)}
.ace-map-tool-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.ace-map-tool-links button:hover{border-color:var(--shell-accent);color:var(--shell-accent);transform:translateY(-1px)}.ace-map-tool-links>a{grid-column:1/-1;padding-top:3px}
.ace-shell__filter .alm__group{padding:13px 10px}.ace-shell__filter .alm__group h3{min-height:30px;margin-bottom:7px}.ace-shell__filter .alm__layer{min-height:40px;padding:8px 6px}.ace-shell__filter .alm__group+.alm__group{margin-top:0}

/* The context strip: the same 52px band the live NOW ticker occupies on the home
   page, present on every other route so the collapsed filter rail's search field
   (238px wide, 154px of it over the main column) lines up with it everywhere. It
   reuses the ticker's markup and stylesheet; this only pins it to the band. */
.ace-shell .als--context{position:sticky;top:0;z-index:12;box-sizing:border-box;width:100%;max-width:none;height:52px;margin:0!important;padding:8px 16px;background:var(--shell-panel);border-bottom:1px solid var(--shell-line)}
/* Sticky offsets measure the margin box, so the panel padding is cancelled with top as well as margin. */
/* The ticker is pulled up into the page's own padding so it runs full bleed, and it
   sticks flush to the top of the scroller. Those are two different numbers: the pull
   belongs to the margin, and the sticky offset is zero. Setting the offset to the
   pull as well made it scroll up by 28 of its 52 pixels and stop there, half hidden,
   on every page with a content route. */
/* The ticker runs full bleed and sticks flush to the top of the panel.
   Pulling it up with a negative margin got it drawn in the right place but could not
   make it STICK there: a sticky box is clamped inside its containing block, and the
   panel's own top padding put that block 28px down, so on every page except the one
   that has no padding the ticker parked 28px low. The padding is removed from the
   panel instead, and the ticker carries the bottom margin that replaces it. */
.ace-shell--content .ace-shell__main:has(.als--context){padding-top:0}
.ace-shell--content .ace-shell__main>.als--context,.ace-shell--content .ace-hub-route>.als--context{width:auto;margin:0 -28px 28px!important;top:0}
/* How much of the ticker is still on screen once it has stuck. Anything else that
   sticks to the top of the main column has to clear this, or it hides behind it. */
.ace-shell--content .ace-shell__main,.ace-shell--content .ace-hub-route{--ace-strip-rest:24px}
/* The classes page needed its own version of the rule above; it does not now. */
.ace-shell .als--context .als__inner{width:100%;max-width:none;margin:0;padding:0;gap:0}
.ace-shell .als--context .als__ticker{height:36px;border-radius:12px;background:var(--shell-card);border-color:var(--shell-line);color:var(--shell-ink)}
.ace-shell .als--context .als__tk{color:var(--shell-accent)}
.ace-shell .als--context .als__tkin::before{display:none}
.ace-shell .als--context .als__tkin::after{background:linear-gradient(270deg,var(--shell-card),transparent)}
.ace-shell .als--context .als__tktrack{display:flex;align-items:center;gap:0;padding-left:0;animation:none;will-change:auto;white-space:nowrap}
.ace-shell .als--context .als__fact{color:var(--shell-ink);text-decoration:none;margin-right:28px;flex:0 0 auto}
.ace-shell .als--context a.als__fact:hover{color:var(--shell-accent)}
.ace-shell .als--context .als__fact small{color:var(--shell-muted);margin-left:6px}
.ace-shell.is-event-view .als--context{display:none}
/* Contextual maps: the band overlays the top of the map exactly where the Local Map's own live ticker sits. */
.ace-shell--map .ace-shell__main>.als--context,.ace-shell--map .ace-hub-route>.als--context{position:absolute;top:0;left:0;right:0;z-index:39;margin:0!important}
@media(min-width:901px){.ace-shell.has-chy-rail[data-filter-closed=true] .als--context,.ace-shell--map[data-filter-closed=true] .als--context{padding-left:calc(254px - var(--shell-filter,84px))}}
@media(max-width:900px){.ace-shell .als--context,.ace-shell--content .ace-shell__main>.als--context,.ace-shell--content .ace-hub-route>.als--context,.ace-shell--map .ace-shell__main>.als--context,.ace-shell--map .ace-hub-route>.als--context{position:static;height:auto;padding:8px 12px;margin:0 0 16px!important;width:100%}}

/* GlossPress term highlights and tooltips on article posts: separate the popover from the dark ground. */
.glossary-highlight{--glossary-highlight-underline:var(--shell-accent,#efb665)}
.glossary-tooltip{--glossary-tooltip-bg:#2a2825;--glossary-tooltip-color:#f4f1ec;--glossary-tooltip-term-color:var(--shell-accent,#efb665);border:1px solid rgba(255,255,255,.12)}
[data-ace-theme=light] .glossary-tooltip{--glossary-tooltip-bg:#fffdf8;--glossary-tooltip-color:#2a2825;border-color:rgba(0,0,0,.12)}

/* Rail footer panels: the Sheffield fact and the local sport card under the navigation.
   Deliberately unlike the navigation above them - a tinted card, a smaller face and a
   quieter accent - so they read as an aside rather than another place to go. */
.ace-rail-panels{display:flex;flex-direction:column;gap:10px;padding:14px 12px 20px;margin-top:10px;border-top:1px solid var(--shell-line)}
.ace-shell[data-left-closed=true] .ace-rail-panels[data-rail=left],.ace-shell[data-right-closed=true] .ace-rail-panels[data-rail=right]{display:none}
.ace-rail-panel{background:color-mix(in srgb,var(--shell-accent) 7%,var(--shell-card));border:1px solid color-mix(in srgb,var(--shell-accent) 22%,var(--shell-line));border-radius:12px;padding:12px;font-size:12px;line-height:1.55;color:var(--shell-ink)}
.ace-rail-panel__head{display:flex;align-items:center;gap:7px;margin-bottom:8px}
.ace-rail-panel__glyph{width:15px;height:15px;flex:none;color:var(--shell-accent)}
.ace-rail-panel__title{flex:1;margin:0!important;font-size:10px!important;font-weight:700!important;letter-spacing:.11em;text-transform:uppercase;color:var(--shell-accent)!important}
.ace-shell .ace-rail-panel__grip,.ace-shell .ace-rail-panel__hide{flex:none;display:grid;place-items:center;width:20px;height:20px;padding:0;border:0;border-radius:5px;background:transparent;color:var(--shell-muted);line-height:1;font-size:14px}
.ace-shell .ace-rail-panel__grip{cursor:grab;touch-action:none}
.ace-shell .ace-rail-panel__grip:hover,.ace-shell .ace-rail-panel__hide:hover{background:color-mix(in srgb,var(--shell-accent) 18%,transparent);color:var(--shell-ink)}
.ace-rail-panel__fact{margin:0!important;font-size:12.5px;line-height:1.55}
.ace-rail-panel__note{margin:0 0 6px!important;color:var(--shell-muted);font-size:11px}
.ace-rail-panel__sub{margin:10px 0 5px!important;font-size:10px!important;font-weight:700!important;letter-spacing:.08em;text-transform:uppercase;color:var(--shell-muted)!important}
.ace-rail-panel__sub:first-child{margin-top:0!important}
.ace-rail-panel__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.ace-rail-panel__list a{display:block;padding:5px 6px;border-radius:7px;text-decoration:none;color:var(--shell-ink)}
.ace-rail-panel__list a:hover{background:color-mix(in srgb,var(--shell-accent) 14%,transparent)}
.ace-rail-panel__teams{display:block;font-size:11.5px;line-height:1.35}
.ace-rail-panel__score{display:block;margin-top:1px;font-weight:700;font-size:10.5px;letter-spacing:.03em;color:var(--shell-accent)}
.ace-rail-panel__credit{margin:8px 0 0!important;font-size:10.5px;color:var(--shell-muted)}
.ace-rail-panel__credit a{color:var(--shell-muted);text-decoration:underline;text-underline-offset:2px}
.ace-rail-panel__credit a:hover{color:var(--shell-accent)}
.ace-rail-panel.is-dragging{opacity:.4}
.ace-rail-panels__manage{margin-top:2px}
.ace-shell .ace-rail-panels__manage-btn{width:100%;padding:7px;border-radius:8px;background:transparent;border:1px dashed var(--shell-line);color:var(--shell-muted);font-size:11px}
.ace-rail-panels__menu{margin-top:6px;padding:9px;border:1px solid var(--shell-line);border-radius:9px;background:var(--shell-card)}
.ace-rail-panels__menu-title{margin:0 0 6px!important;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--shell-muted)}
.ace-rail-panels__menu ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
/* The picker styles its own controls; the old full-width menu rows are gone. */
.ace-shell .ace-rail-panels__menu button{width:auto;text-align:left}
.ace-rail-panels__live{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.ace-rail-ghost{position:fixed;top:0;left:0;z-index:10000;pointer-events:none;padding:6px 10px;border-radius:8px;background:var(--shell-accent,#efb665);color:#14191b;font:600 11px 'DM Sans',sans-serif;box-shadow:0 8px 24px rgba(0,0,0,.35)}
.ace-rail-dropline{height:3px;margin:2px 0;border-radius:3px;background:var(--shell-accent)}
body.ace-rail-dnd{cursor:grabbing;user-select:none}

/* The collapsed account rail reads as the member's own: avatar, name, unread. */
.ace-shell__me-ava{flex:none;width:30px;height:30px;border-radius:50%;background:var(--shell-card) center/cover no-repeat;border:1px solid var(--shell-line);display:grid;place-items:center;font-weight:700;font-size:12px;color:var(--shell-accent)}
.ace-shell__me-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ace-shell__account-open.is-member{position:relative}
.ace-shell__me-dot{position:absolute;top:8px;right:calc(50% - 21px);min-width:15px;height:15px;padding:0 3px;border-radius:9px;background:var(--shell-accent);color:var(--shell-bg);font-size:9px;font-weight:700;line-height:15px;text-align:center}
@media(min-width:901px){.ace-shell[data-right-closed=true] .ace-shell__account-open.is-member{padding:10px 2px}.ace-shell[data-right-closed=true] .ace-shell__me-name{max-width:100%;font-size:10px}}
@media(prefers-reduced-motion:reduce){.ace-rail-ghost,.ace-rail-dropline,.ace-rail-panel{transition:none!important;animation:none!important}}
.ace-rail-panels.is-dnd{min-height:54px;outline:1px dashed color-mix(in srgb,var(--shell-accent) 55%,transparent);outline-offset:-4px;border-radius:12px}
body.ace-rail-dnd .ace-rail-tooltip{display:none!important}

/* ------------------------------------------------------------ widget picker
   The Panels control opens a real dialog rather than a dropdown: it is a place to
   decide what the rails carry, so it gets room, groups and a scrim. */
.ace-rail-panels__scrim{position:fixed;inset:0;z-index:9998;background:rgba(0,0,0,.5)}
.ace-shell .ace-rail-panels__menu{position:fixed;z-index:9999;top:50%;left:50%;transform:translate(-50%,-50%);width:min(560px,calc(100vw - 32px));max-height:min(78vh,720px);overflow:auto;margin:0;padding:18px;border:1px solid var(--shell-line);border-radius:16px;background:var(--shell-panel);box-shadow:0 24px 60px rgba(0,0,0,.45)}
.ace-rail-panels__menu-head{display:flex;align-items:center;gap:12px}
.ace-shell .ace-rail-panels__menu-title{flex:1;margin:0!important;font-size:15px!important;font-weight:700;letter-spacing:.01em;text-transform:none;color:var(--shell-ink)}
.ace-shell .ace-rail-panels__menu-close{width:30px;height:30px;flex:none;padding:0;border:1px solid var(--shell-line);border-radius:8px;background:transparent;color:var(--shell-ink);font-size:16px;line-height:1}
.ace-rail-panels__menu-hint{margin:6px 0 14px!important;font-size:11.5px;color:var(--shell-muted)}
.ace-rail-panels__group{margin-bottom:16px}
.ace-rail-panels__group h3{margin:0 0 8px!important;font-size:10px!important;font-weight:700!important;letter-spacing:.11em;text-transform:uppercase;color:var(--shell-accent)!important}
.ace-rail-panels__widget{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 10px;align-items:start;padding:10px;border:1px solid var(--shell-line);border-radius:11px;background:var(--shell-card)}
.ace-rail-panels__widget+.ace-rail-panels__widget{margin-top:7px}
.ace-rail-panels__widget[data-state="left"],.ace-rail-panels__widget[data-state="right"]{border-color:color-mix(in srgb,var(--shell-accent) 45%,var(--shell-line))}
.ace-rail-panels__widget-icon{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:color-mix(in srgb,var(--shell-accent) 14%,transparent);color:var(--shell-accent)}
.ace-rail-panels__widget-icon .ace-rail-panel__glyph{width:15px;height:15px}
.ace-rail-panels__widget-body{display:grid;gap:2px;min-width:0}
.ace-rail-panels__widget-body strong{font-size:12.5px;color:var(--shell-ink)}
.ace-rail-panels__widget-desc{font-size:11.5px;line-height:1.5;color:var(--shell-muted)}
.ace-rail-panels__widget-where{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--shell-accent)}
.ace-rail-panels__widget[data-state="off"] .ace-rail-panels__widget-where{color:var(--shell-muted)}
.ace-rail-panels__widget-actions{grid-column:2;display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.ace-shell .ace-rail-panels__widget-actions button{width:auto;padding:5px 11px;border:1px solid var(--shell-line);border-radius:999px;background:transparent;color:var(--shell-ink);font-size:11px;font-weight:600}
.ace-shell .ace-rail-panels__widget-actions button[aria-pressed=true]{border-color:var(--shell-accent);background:var(--shell-accent);color:var(--shell-bg)}
.ace-shell .ace-rail-panels__widget-actions button[disabled]{opacity:.45;cursor:not-allowed}
.ace-rail-panel__search{display:grid;gap:6px}
.ace-rail-panel__search input{width:100%;box-sizing:border-box;min-height:34px;padding:6px 9px;border:1px solid var(--shell-line);border-radius:8px;background:var(--shell-bg);color:var(--shell-ink);font:inherit;font-size:12px}
.ace-shell .ace-rail-panel__search button{min-height:32px;padding:6px 10px;border:1px solid var(--shell-accent);border-radius:8px;background:var(--shell-accent);color:var(--shell-bg);font-size:11px;font-weight:700}

/* ------------------------------------------------ the collapsible dashboard links */
.ace-shell__dashnav{border-bottom:1px solid var(--shell-line)}
.ace-shell__dashnav-head{display:flex;align-items:center;gap:6px;padding:8px 12px 8px 14px}
.ace-shell .ace-shell__dashnav-toggle{flex:1;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 0;border:0;background:transparent;color:var(--shell-muted);font-size:10px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;text-align:left}
.ace-shell .ace-shell__dashnav-toggle:hover{color:var(--shell-ink)}
.iga-dashnav-fallback{margin:0;padding:4px 10px 10px;list-style:none}.iga-dashnav-fallback li{margin:0}.ace-shell .iga-dashnav-fallback a{display:block;min-height:40px;padding:10px 9px;border-radius:8px;color:var(--shell-ink);font-weight:600;font-size:14px;text-decoration:none}.ace-shell .iga-dashnav-fallback a:hover{background:var(--shell-hover,rgba(255,255,255,.06))}
/* Prose lists on content pages get their bullets back (normalize strips them site-wide), and the page ends with breathing room and its Last updated line. */.ace-shell__main .entry-content :is(ul,ol).wp-block-list,.ace-shell__main .entry-content .wp-block-list :is(ul,ol){padding-left:1.5em;margin:0 0 1.4em}.ace-shell__main .entry-content ul.wp-block-list,.ace-shell__main .entry-content .wp-block-list ul{list-style:disc}.ace-shell__main .entry-content ol.wp-block-list,.ace-shell__main .entry-content .wp-block-list ol{list-style:decimal}.ace-shell__main .entry-content .wp-block-list li{margin:0 0 .55em;padding-left:.2em;line-height:1.55}.ace-shell__main .entry-content .wp-block-list li::marker{color:var(--shell-accent);font-weight:700}.ace-shell__main .entry-content .wp-block-list :is(ul,ol){margin-top:.55em;margin-bottom:0}.ace-colophon{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;margin:56px 0 0;padding:22px 0 48px;border-top:1px solid var(--shell-line)}.ace-colophon__author{display:flex;align-items:center;gap:14px;min-width:0}.ace-colophon__avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;flex-shrink:0;box-shadow:0 0 0 2px var(--shell-panel),0 0 0 3px var(--shell-line)}.ace-colophon__who{display:flex;flex-direction:column;gap:2px;min-width:0}.ace-colophon__label{color:var(--shell-muted);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.ace-colophon__name{color:var(--shell-ink);font-size:15px;font-weight:700;font-family:'Space Grotesk',sans-serif}.ace-colophon__bio{color:var(--shell-muted);font-size:13px;line-height:1.45}.ace-colophon__updated{margin:4px 0 0;color:var(--shell-muted);font-size:13px}.ace-colophon__updated time{color:var(--shell-ink);font-size:inherit}.ace-colophon__share{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.ace-colophon__btns{display:flex;gap:6px;flex-wrap:wrap}.ace-shell .ace-colophon__btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border-radius:50%;border:1px solid var(--shell-line);background:var(--shell-card);color:var(--shell-ink);cursor:pointer;text-decoration:none;transition:background .15s,color .15s,border-color .15s,transform .15s}.ace-shell .ace-colophon__btn:hover{background:var(--shell-accent);color:var(--shell-accent-ink);border-color:var(--shell-accent);transform:translateY(-1px)}.ace-shell .ace-colophon__btn.is-done{background:#3aa66a;border-color:#3aa66a;color:#fff}@media(max-width:640px){.ace-colophon{flex-direction:column;align-items:flex-start}.ace-colophon__share{align-items:flex-start}}


.ace-shell__dashnav-caret{flex:none;transition:transform .18s}
.ace-shell__dashnav.is-closed .ace-shell__dashnav-caret{transform:rotate(-90deg)}
.ace-shell .ace-shell__dashnav-manage{flex:none;padding:5px 10px;border:1px solid var(--shell-line);border-radius:999px;background:transparent;color:var(--shell-ink);font-size:10.5px;font-weight:700}
.ace-shell .ace-shell__dashnav-manage:hover{border-color:var(--shell-accent);color:var(--shell-accent)}
.ace-shell[data-right-closed=true] .ace-shell__dashnav-head{display:none}
/* On a narrow screen the account rail is a drawer, so it reads as "closed" even while
   it is open over the page. The head must come back with the rest of its content. */
@media(max-width:900px){.ace-shell[data-right-closed=true] .ace-shell__dashnav-head{display:flex}}

/* ---------------------------------------------------------- management modal */
.ace-mm{position:fixed;inset:0;z-index:10001}
.ace-mm__scrim{position:absolute;inset:0;background:rgba(0,0,0,.55)}
.ace-mm__box{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;width:min(920px,calc(100vw - 24px));height:min(680px,calc(100vh - 48px));border:1px solid var(--shell-line);border-radius:18px;background:var(--shell-panel);box-shadow:0 30px 80px rgba(0,0,0,.5);overflow:hidden}
.ace-mm__head{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--shell-line)}
.ace-shell .ace-mm__title{flex:1;margin:0!important;font-size:16px!important;color:var(--shell-ink)}
.ace-shell .ace-mm__close{width:32px;height:32px;padding:0;border:1px solid var(--shell-line);border-radius:9px;background:transparent;color:var(--shell-ink);font-size:18px;line-height:1}
.ace-mm__body{flex:1;min-height:0;display:grid;grid-template-columns:212px minmax(0,1fr)}
.ace-mm__tabs{display:flex;flex-direction:column;gap:2px;padding:12px;overflow:auto;border-right:1px solid var(--shell-line);background:var(--shell-bg)}
.ace-shell .ace-mm__tab{width:100%;text-align:left;padding:9px 11px;border:0;border-radius:9px;background:transparent;color:var(--shell-muted);font-size:12px;font-weight:600}
.ace-shell .ace-mm__tab:hover{color:var(--shell-ink);background:color-mix(in srgb,var(--shell-accent) 10%,transparent)}
.ace-shell .ace-mm__tab.is-current{background:color-mix(in srgb,var(--shell-accent) 18%,transparent);color:var(--shell-ink)}
.ace-mm__paneWrap{display:flex;flex-direction:column;min-width:0;min-height:0}
.ace-mm__pane{flex:1;min-height:0;overflow:auto;padding:18px;color:var(--shell-ink);font-size:13px;line-height:1.6}
.ace-mm__status{margin:0!important;padding:0 18px;font-size:11.5px;color:var(--shell-accent)}
.ace-mm__status:empty{display:none}
.ace-mm__status.is-bad{color:#e2725b}
.ace-mm__muted,.ace-mm__empty,.ace-mm__busy{color:var(--shell-muted);font-size:12px}
.ace-mm__form{display:grid;gap:14px;max-width:520px}
.ace-mm__who{display:flex;align-items:center;gap:12px}
.ace-mm__who span{display:block}
.ace-mm__avatar{border-radius:50%}
.ace-mm__field{display:grid;gap:5px}
.ace-mm__field-label{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--shell-muted)}
.ace-mm__field input,.ace-mm__field textarea{width:100%;box-sizing:border-box;min-height:40px;padding:9px 11px;border:1px solid var(--shell-line);border-radius:9px;background:var(--shell-bg);color:var(--shell-ink);font:inherit;font-size:13px}
.ace-mm__field small{font-size:11px;color:var(--shell-muted)}
.ace-mm__actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.ace-shell .ace-mm__primary{padding:9px 16px;border:1px solid var(--shell-accent);border-radius:999px;background:var(--shell-accent);color:var(--shell-bg);font-size:12px;font-weight:700}
.ace-shell .ace-mm__link{padding:0;border:0;background:transparent;color:var(--shell-accent);font-size:12px;font-weight:600;text-decoration:underline;text-underline-offset:3px;width:auto}
.ace-shell .ace-mm__link--danger{color:#e2725b}
.ace-mm__group{margin:0 0 20px}
.ace-mm__group h3{display:flex;align-items:center;gap:8px;margin:0 0 8px!important;font-size:10px!important;font-weight:700!important;letter-spacing:.11em;text-transform:uppercase;color:var(--shell-accent)!important}
.ace-mm__count{padding:1px 7px;border-radius:999px;background:color-mix(in srgb,var(--shell-accent) 16%,transparent);color:var(--shell-accent);font-size:10px;font-weight:700}
.ace-mm__tag{margin-left:8px;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--shell-muted)}
.ace-mm__list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.ace-mm__list li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:9px 11px;border:1px solid var(--shell-line);border-radius:10px;background:var(--shell-card)}
.ace-mm__list li a{color:var(--shell-ink)}
.ace-mm__rowActions{display:flex;align-items:center;gap:8px}
.ace-shell .ace-mm__rowActions button,.ace-shell .ace-mm__rowActions a{width:auto;padding:5px 11px;border:1px solid var(--shell-line);border-radius:999px;background:transparent;color:var(--shell-ink);font-size:11px;font-weight:600;text-decoration:none}
.ace-mm__switch{display:flex;align-items:flex-start;gap:9px;font-size:12px;color:var(--shell-ink)}
.ace-mm__switch small{display:block;color:var(--shell-muted);font-size:11px}
.ace-mm__switch--wide{padding:10px 12px;border:1px solid var(--shell-line);border-radius:10px;background:var(--shell-card);margin-bottom:16px}
.ace-mm__list--checks li{display:block}
@media(max-width:760px){
 .ace-mm__box{width:100vw;height:100vh;max-width:none;border-radius:0;border:0}
 .ace-mm__body{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}
 .ace-mm__tabs{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--shell-line);padding:8px}
 .ace-shell .ace-mm__tab{width:auto;white-space:nowrap}
 .ace-shell .ace-rail-panels__menu{width:100vw;max-height:100vh;height:100vh;border-radius:0;border:0}
 .ace-rail-panels__widget-actions{grid-column:1/-1}
}
@media(prefers-reduced-motion:reduce){.ace-shell__dashnav-caret,.ace-mm__box,.ace-rail-panels__menu{transition:none!important;animation:none!important}}

/* One close control across every dialog on the site. A modal's close is the
   first thing a reader looks for when they want out, so it looks the same
   wherever it is and never becomes a full-width slab. */
.ace-shell .ace-mm__close,.ace-rail-panels__menu-close,.ace-profile-dialog__close,.ace-programme-detail__close{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:34px;height:34px;min-width:34px;max-width:34px;padding:0;border:1px solid var(--shell-line,#ffffff28);border-radius:10px;background:transparent;color:var(--shell-ink,#edf0ee);font-size:19px;line-height:1;cursor:pointer;transition:background .14s ease,border-color .14s ease,color .14s ease,transform .1s ease}
.ace-shell .ace-mm__close:hover,.ace-rail-panels__menu-close:hover,.ace-profile-dialog__close:hover,.ace-programme-detail__close:hover{border-color:var(--shell-accent,#f0b65e);color:var(--shell-accent,#f0b65e);background:color-mix(in srgb,var(--shell-accent,#f0b65e) 12%,transparent)}
.ace-shell .ace-mm__close:active,.ace-rail-panels__menu-close:active,.ace-profile-dialog__close:active,.ace-programme-detail__close:active{transform:translateY(1px)}
.ace-shell .ace-mm__close:focus-visible,.ace-rail-panels__menu-close:focus-visible,.ace-profile-dialog__close:focus-visible,.ace-programme-detail__close:focus-visible{outline:2px solid var(--shell-accent,#f0b65e);outline-offset:2px}

/* A widget added from the picker should be seen to arrive, so the reader knows
   where it went rather than having to hunt for it behind the dialog. */
@keyframes ace-panel-arrive{from{opacity:0;transform:translateY(-8px) scale(.97)}to{opacity:1;transform:none}}
[data-ace-rail-panel].is-arriving{animation:ace-panel-arrive .34s cubic-bezier(.2,.7,.35,1);outline:1px solid color-mix(in srgb,var(--shell-accent,#f0b65e) 55%,transparent);outline-offset:2px;border-radius:12px}
@media(prefers-reduced-motion:reduce){[data-ace-rail-panel].is-arriving{animation-duration:.01ms}}

/* While a panel is being dragged, a collapsed rail still has to be somewhere you
   can aim at, so both edges show a target band. */
body.ace-rail-dnd .ace-shell__left,body.ace-rail-dnd .ace-shell__right{outline:1px dashed color-mix(in srgb,var(--shell-accent,#f0b65e) 45%,transparent);outline-offset:-2px}
body.ace-rail-dnd .ace-shell__left::after,body.ace-rail-dnd .ace-shell__right::after{content:"";position:absolute;top:0;bottom:0;width:6px;background:color-mix(in srgb,var(--shell-accent,#f0b65e) 30%,transparent);pointer-events:none}
body.ace-rail-dnd .ace-shell__left::after{right:0}
body.ace-rail-dnd .ace-shell__right::after{left:0}

/* Data widgets in a rail. The plugin's own stylesheet is for the main column, so a
   sidebar copy needs its own sizing: one column, the price loud, everything else
   quiet, and nothing wide enough to push the rail out. */
[data-ace-rail-panel] .ace-fuel--widget{margin:0;padding:0;border:0;background:none;color:inherit;font-size:13px}
[data-ace-rail-panel] .ace-fuel__best{margin:0;padding:0;list-style:none;display:grid;gap:8px}
[data-ace-rail-panel] .ace-fuel__bestitem{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:2px 8px;padding:9px 10px;border:1px solid var(--shell-line,#ffffff1f);border-radius:10px;background:color-mix(in srgb,var(--shell-ink,#edf0ee) 4%,transparent)}
[data-ace-rail-panel] .ace-fuel__bestfuel{grid-column:1;font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--shell-muted,#9aa4a2)}
[data-ace-rail-panel] .ace-fuel__bestprice{grid-column:2;grid-row:1;justify-self:end;font-size:19px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums;color:var(--shell-accent,#f0b65e)}
[data-ace-rail-panel] .ace-fuel__bestwhere{grid-column:1/-1;font-size:12px;line-height:1.35;overflow-wrap:anywhere}
[data-ace-rail-panel] .ace-fuel__bestsave{grid-column:1/-1;font-size:11px;line-height:1.35;color:var(--shell-muted,#9aa4a2)}
[data-ace-rail-panel] .ace-fuel__meta{margin:8px 0 0;font-size:11px;line-height:1.4;color:var(--shell-muted,#9aa4a2)}
[data-ace-rail-panel] .ace-fuel__all{display:inline-block;font-size:12px;font-weight:600;color:var(--shell-accent,#f0b65e);text-decoration:none}
[data-ace-rail-panel] .ace-fuel__all:hover{text-decoration:underline}
[data-ace-rail-panel] .ace-fuel__credit{margin-top:6px;font-size:10px;opacity:.75}

/* A control with the accent behind it needs ink that is not the accent. The panel's
   link colour used to win on specificity and paint the label the same colour as the
   button it sat on, which is a button you cannot read. */
.ace-shell :is(.alm__btn,.ace-btn,.ace-chy__btn):not(.is-ghost):not(.is-quiet){color:var(--shell-accent-ink,#1a1108)}
.ace-shell :is(.alm__btn,.ace-btn,.ace-chy__btn).is-ghost{color:var(--shell-ink,#edf0ee)}
.ace-shell :is(.alm__panelbody,.ace-shell__panel,[data-ace-rail-panel]) a:is(.alm__btn,.ace-btn,.ace-chy__btn){color:var(--shell-accent-ink,#1a1108)}
.ace-shell :is(.alm__panelbody,.ace-shell__panel,[data-ace-rail-panel]) a:is(.alm__btn,.ace-btn,.ace-chy__btn).is-ghost{color:var(--shell-ink,#edf0ee)}

/* Copy control on a code block. It sits inside the block, top right, quiet until
   you are near it, and never covers the first line of the code. */
/* Room for a copy button that floats in the top right corner of a block. An inline
   endpoint strip keeps its button in the flow at the end of the line, so it needs no
   room made for it - that extra 2.35rem was the gap above every route. */
:is(pre,.ace-embed__code,[data-ace-code]):not(.ace-code).has-copycode{position:relative;padding-top:2.35rem}
.ace-code.has-copycode{position:relative}
.ace-copycode{position:absolute;top:.5rem;right:.5rem;display:inline-flex;align-items:center;gap:.3rem;height:26px;padding:0 .55rem;border:1px solid var(--shell-line,#ffffff28);border-radius:8px;background:var(--shell-panel,#1c2224);color:var(--shell-muted,#9aa4a2);font:600 11px/1 ui-sans-serif,system-ui,sans-serif;letter-spacing:.02em;cursor:pointer;opacity:.75;transition:opacity .14s ease,color .14s ease,border-color .14s ease}
.has-copycode:hover .ace-copycode,.ace-copycode:focus-visible{opacity:1}
.ace-copycode:hover{color:var(--shell-accent,#f0b65e);border-color:var(--shell-accent,#f0b65e)}
.ace-copycode:focus-visible{outline:2px solid var(--shell-accent,#f0b65e);outline-offset:2px}
.ace-copycode.is-done{color:var(--shell-accent,#f0b65e);border-color:var(--shell-accent,#f0b65e);opacity:1}
@media (hover:none){.ace-copycode{opacity:1}}
@media (max-width:480px){.ace-copycode__t{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.ace-copycode{padding:0 .4rem}}

/* The rail says "Sheffield News", "Sheffield Sport" and so on, because that is what
   each of them is. The rail is also draggable down to icon width, where the city
   name is both redundant - every page here is Sheffield - and the first thing to
   wrap. So it is a span, and a narrow rail simply stops showing it. */
.ace-shell__left{container-type:inline-size;container-name:acenav}
@container acenav (max-width:196px){.ace-shell__city{display:none}}
.ace-shell[data-left-closed=true] .ace-shell__city{display:none}

/* An endpoint is code, and code on this site is there to be taken away. Inline
   routes carry the same copy control as a block does, sized to sit on the line
   rather than float over it. */
.ace-code{position:relative;display:inline-flex;align-items:center;gap:.3rem;padding:.12rem .4rem;border-radius:6px;background:color-mix(in srgb,var(--shell-ink,#edf0ee) 7%,transparent);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.86em;word-break:break-word}
.ace-code a{text-decoration:none;color:inherit;border-bottom:1px dotted currentColor}
.ace-code a:hover,.ace-code a:focus-visible{color:var(--shell-accent,#f0b65e)}
.ace-copycode--inline{position:static;height:20px;padding:0 .25rem;border-radius:5px;background:none;border:0;opacity:.45}
.ace-code:hover .ace-copycode--inline,.ace-copycode--inline:focus-visible{opacity:1}
/* A code block looks like one wherever it appears, not only on the API page whose
   stylesheet happens to be loaded. The developers page had the same markup and none
   of the styling, so the snippets rendered as bare text on the background. */
.ace-api__code,.ace-shell__main .entry-content pre{
	position:relative;box-sizing:border-box;max-width:100%;overflow-x:auto;
	margin:.8rem 0 1.2rem;padding:.9rem 2.6rem .9rem 1rem;
	border:1px solid var(--shell-line,#ffffff1f);border-radius:12px;
	background:color-mix(in srgb,var(--shell-ink,#edf0ee) 6%,transparent);
	color:var(--shell-ink,#edf0ee);
	font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
	font-size:.86rem;line-height:1.55;tab-size:2;
}
.ace-api__code code,.ace-shell__main .entry-content pre code{
	display:block;white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;background:none;padding:0;
}
.ace-api__code:focus-visible{outline:2px solid var(--shell-accent,#f0b65e);outline-offset:2px}

/* Homepage editorial rhythm. The map is deliberately edge-to-edge above this
   wrapper; every section below it stays inside the shared home gutter. Distinct
   surfaces make the long page easier to scan without turning each feed into a
   different design language. */
.ace-shell--home .ace-home-content>.ace-home-featured,
.ace-shell--home .ace-home-content>.ace-home-categories,
.ace-shell--home .ace-home-content>.ace-home-contribute{
	box-sizing:border-box;width:100%;
	margin-block:clamp(1.5rem,4cqi,3.25rem)!important;
}
/* On wide screens, editorial content shares one readable line. Only the map,
   news band and featured band are allowed to meet the centre-panel edges. */
.ace-shell--home .ace-home-content>.ace-home-days{
	box-sizing:border-box;width:calc(100% + 2 * var(--home-gutter));max-width:none;
	margin-inline:calc(-1 * var(--home-gutter))!important;padding-inline:0!important;
}
.ace-shell--home .ace-home-days>.ace-home-days-title,
.ace-shell--home .ace-home-days>.wp-block-group>.ace-browser,
.ace-shell--home .ace-home-days>.wp-block-group>.ace-suggestions,
.ace-shell--home .ace-home-content>.ace-hl--home,
.ace-shell--home .ace-home-content>.ace-home-categories,
.ace-shell--home .ace-home-content>.ace-home-contribute,
.ace-shell--home .ace-home-content>.ace-community,
.ace-shell--home .ace-home-content>.ace-home-discovery{
	box-sizing:border-box;width:min(calc(100% - 2 * var(--home-gutter)),var(--home-wrap));max-width:var(--home-wrap);
	margin-inline:auto!important;
}
.ace-shell--home .ace-home-days>.ace-home-days-title{
	margin-top:0!important;margin-bottom:clamp(1rem,2cqi,1.5rem)!important;
	font-size:clamp(1.65rem,3cqi,2.4rem)!important;line-height:1.08;letter-spacing:-.03em;
}
.ace-shell--home .ace-home-days>.wp-block-group>.aln.alignfull{
	box-sizing:border-box;width:100%;max-width:none;margin-inline:0!important;
}
.ace-shell--home .ace-home-content>.ace-home-featured.ace-home-featured{
	--home-feature-gap:clamp(14px,1.25vw,20px);
	width:calc(100% + 2 * var(--home-gutter))!important;max-width:none!important;
	margin-inline:calc(-1 * var(--home-gutter))!important;
	padding:var(--home-feature-gap)!important;
	border-block:1px solid var(--shell-line);border-inline:0;border-radius:0;
	background:linear-gradient(145deg,color-mix(in srgb,var(--shell-card) 86%,transparent),color-mix(in srgb,var(--shell-bg) 94%,var(--shell-accent)));
	overflow:hidden;
}
.ace-shell--home .ace-home-featured .ace-boosted{box-sizing:border-box;width:min(100%,var(--home-wrap));max-width:var(--home-wrap);margin-inline:auto!important;margin-block:0!important;padding:0!important}
.ace-shell--home .ace-home-featured .ace-boosted__heading{margin:0 0 var(--home-feature-gap)}
.ace-shell--home .ace-home-featured .ace-boosted__grid{gap:var(--home-feature-gap)}
.ace-shell--home .ace-home-featured .ace-boosted__card{border:1px solid var(--shell-line);border-radius:18px}

.ace-shell--home .ace-home-content>.ace-home-categories.ace-home-categories{
	position:relative;isolation:isolate;overflow:hidden;
	padding-block:clamp(1.4rem,4cqi,3rem)!important;
	padding-inline:clamp(1.25rem,4cqi,3rem)!important;
	border:1px solid color-mix(in srgb,var(--shell-accent) 42%,var(--shell-line));
	border-radius:22px;
	background:radial-gradient(circle at 92% 8%,color-mix(in srgb,var(--shell-accent) 23%,transparent),transparent 42%),linear-gradient(135deg,var(--shell-panel),var(--shell-card));
}
.ace-shell--home .ace-home-categories>*{position:relative;z-index:1}
.ace-shell--home .ace-home-content>.ace-home-categories.ace-home-categories>:is(.ace-home-category-intro,h2,.wp-block-buttons){
	margin-left:0!important;margin-right:0!important;
}
.ace-shell--home .ace-home-categories h2{
	width:min(100%,18ch);max-width:18ch;margin:0!important;text-align:left!important;
	font-size:clamp(1.7rem,4cqi,3rem)!important;line-height:1.02;letter-spacing:-.035em;
}
.ace-shell--home .ace-home-categories>.ace-home-category-intro{
	width:min(100%,58ch);max-width:58ch;margin:.75rem 0 1.25rem!important;color:var(--shell-muted);line-height:1.55;
}
.ace-shell--home .ace-home-categories .wp-block-buttons{justify-content:flex-start!important;gap:.55rem}
.ace-shell--home .ace-home-categories .wp-block-button__link{
	min-height:42px;padding:.6rem 1rem;border:1px solid var(--shell-line)!important;
	border-radius:999px;background:color-mix(in srgb,var(--shell-bg) 76%,transparent)!important;
	color:var(--shell-ink)!important;font-size:.86rem;font-weight:700;
}
.ace-shell--home .ace-home-categories .wp-block-button__link:is(:hover,:focus-visible){border-color:var(--shell-accent)!important;color:var(--shell-accent)!important}

.ace-shell--home .ace-home-contribute{padding:0!important;background:none!important}
.ace-shell--home .ace-home-contribute>.wp-block-columns{align-items:stretch;gap:clamp(.8rem,2cqi,1.25rem);margin:0}
.ace-shell--home .ace-home-contribute .wp-block-column{
	position:relative;overflow:hidden;box-sizing:border-box;padding:0;background:none;
}
.ace-shell--home .ace-home-contribute .wp-block-cover{
	box-sizing:border-box;min-height:clamp(330px,28vw,430px);height:100%;
	padding:clamp(1.35rem,3.4cqi,2.5rem);border:1px solid var(--shell-line);border-radius:18px;
	overflow:hidden;color:#fff;
}
.ace-shell--home .ace-home-contribute .wp-block-cover__background{opacity:.55!important}
.ace-shell--home .ace-home-contribute .wp-block-cover__inner-container{width:min(100%,38rem)}
.ace-shell--home .ace-home-contribute h3{margin-top:0;color:#fff!important;font-size:clamp(1.4rem,3cqi,2rem)!important;line-height:1.08;letter-spacing:-.025em;text-shadow:0 2px 16px rgba(0,0,0,.65)}
.ace-shell--home .ace-home-contribute p{color:#f5f2ea!important;line-height:1.6;text-shadow:0 1px 10px rgba(0,0,0,.5)}
.ace-shell--home .ace-home-contribute .wp-block-button__link{border-radius:999px;font-size:.88rem;font-weight:750}
.ace-shell--home .ace-home-contribute .ace-home-photo-credit{margin:.9rem 0 0;font-size:.7rem;color:rgba(255,255,255,.76)}
.ace-shell--home .ace-home-contribute .ace-home-photo-credit a{color:inherit;text-decoration:underline;text-underline-offset:2px}

.ace-shell--home .ace-home-discovery{margin-top:clamp(1.5rem,4cqi,3.25rem)}
.ace-shell--home .ace-discovery-card{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.ace-shell--home .ace-discovery-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--shell-accent) 55%,var(--shell-line));box-shadow:0 18px 36px rgba(0,0,0,.16)}
@media(prefers-reduced-motion:reduce){.ace-shell--home .ace-discovery-card{transition:none}.ace-shell--home .ace-discovery-card:hover{transform:none}}

@media(min-width:901px){
 .ace-shell--home:not(.is-event-view) .ace-app.is-intro .ace-app__bar{
	left:calc(var(--shell-left) + max(24px,(100% - var(--shell-left) - var(--shell-right) - var(--home-wrap))/2))!important;
 }
 .ace-shell--home:not(.is-event-view) .ace-app.is-intro .ace-app__featured{
	left:calc(var(--shell-left) + max(24px,(100% - var(--shell-left) - var(--shell-right) - var(--home-wrap))/2) + min(400px,calc(100% - var(--shell-left) - var(--shell-right) - 48px)) + 2.75rem);
 }
 .ace-shell--home :is(.ace-shell__main,.ace-hub-route)>.ace-explore{
	width:min(100%,var(--home-wrap));max-width:var(--home-wrap);margin-inline:auto!important;
 }
 .ace-shell--home .ace-home-days>.wp-block-group>.ace-events-browser,
 .ace-shell--home .ace-home-days>.wp-block-group>.ace-suggestions{
	box-sizing:border-box;width:min(calc(100% - 2 * var(--home-gutter)),var(--home-wrap));max-width:var(--home-wrap);margin-inline:auto!important;
 }
}
/* admin-bar.css still loads for signed-in visitors (Jetpack's notes stylesheet depends on it) and sets
   --wp-admin--admin-bar--height on <html>, although the bar itself is never printed here. The shell
   subtracted those 32px and left an empty strip along the bottom. No bar, nothing to make room for. */
html:not(:has(#wpadminbar)){--wp-admin--admin-bar--height:0px}
/* Grouped navigation rail. Each group is its own labelled nav and every link is a tile:
   rounded, on its own card, with a border, so neighbours read as separate at any width.
   One column by default; the short sibling links (.ace-nav-pair) sit two across once the
   rail is 290px or wider, and fold back to one column when narrow or collapsed to icons.
   Specificity here is deliberately higher than the generic .ace-shell .ace-shell__left
   link rules above, and the radius is forced, because the earlier rail rule locked
   border-radius:0 and silently won for a while. */
.ace-shell .ace-shell__left .ace-nav-group__title{margin:18px 0 6px;padding:0 20px;font-family:'Space Grotesk',sans-serif;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--shell-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ace-shell .ace-shell__left .ace-nav-group__title:first-of-type{margin-top:10px}
.ace-shell .ace-shell__left .ace-nav-group.wp-block-navigation{padding:0 0 4px}
.ace-shell .ace-shell__left .ace-nav-group .wp-block-navigation__container{display:grid!important;grid-template-columns:minmax(0,1fr);gap:0;align-items:stretch}
.ace-shell .ace-shell__left .ace-nav-group .wp-block-navigation-item{grid-column:1/-1;min-width:0;width:auto;margin:0}
.ace-shell .ace-shell__left .ace-nav-group .wp-block-navigation-item__content{position:relative;min-height:44px;height:100%;padding:10px 18px;gap:11px;border:0;border-left:3px solid transparent;border-radius:0;background:transparent;color:var(--shell-ink);font-weight:500;transition:background .12s,border-color .12s,color .12s}
.ace-shell .ace-shell__left .ace-nav-group .wp-block-navigation-item__label{min-width:0;flex:1 1 auto}
.ace-shell .ace-shell__left .ace-nav-group .ace-shell__label{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ace-shell .ace-shell__left .ace-nav-group .ace-shell__icon{color:var(--shell-muted);transition:color .12s}
.ace-shell .ace-shell__left .ace-nav-group .wp-block-navigation-item__content:hover{background:color-mix(in srgb,var(--shell-accent) 12%,var(--shell-card));border-color:color-mix(in srgb,var(--shell-accent) 45%,transparent);color:var(--shell-ink);outline:none}
.ace-shell .ace-shell__left .ace-nav-group .wp-block-navigation-item__content:focus-visible{background:color-mix(in srgb,var(--shell-accent) 12%,var(--shell-card));border-color:var(--shell-accent);color:var(--shell-ink);outline:2px solid var(--shell-accent);outline-offset:2px}
.ace-shell .ace-shell__left .ace-nav-group .wp-block-navigation-item__content:is(:hover,:focus-visible) .ace-shell__icon{color:var(--shell-accent)}
.ace-shell .ace-shell__left .ace-nav-group .wp-block-navigation-item__content[aria-current=page],.ace-shell .ace-shell__left .ace-nav-group .current-menu-item>.wp-block-navigation-item__content{background:color-mix(in srgb,var(--shell-accent) 14%,transparent);border-color:var(--shell-accent);color:var(--shell-accent);font-weight:600}
.ace-shell .ace-shell__left .ace-nav-group .wp-block-navigation-item__content[aria-current=page] .ace-shell__icon,.ace-shell .ace-shell__left .ace-nav-group .current-menu-item>.wp-block-navigation-item__content .ace-shell__icon{color:var(--shell-accent)}
.ace-shell .ace-shell__left .ace-nav-group .wp-block-navigation-item__content[aria-current=page]:is(:hover,:focus-visible){background:color-mix(in srgb,var(--shell-accent) 26%,var(--shell-card))}
/* One column is flat rows with an accent edge for the current page. Only once the rail is wide
   enough for links to pair up do they become rounded tiles, with room between and around them. */
@container acenav (min-width:290px){
 /* An older rail rule zeroes the list gap with !important, and the list carries the nav's classes. */
 .ace-shell .ace-shell__left nav.ace-nav-group.wp-block-navigation{padding:4px 14px 10px!important}
 .ace-shell .ace-shell__left .ace-nav-group .wp-block-navigation__container{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important;padding:0!important}
 .ace-shell .ace-shell__left .ace-nav-group .wp-block-navigation-item.ace-nav-pair{grid-column:auto}
 .ace-shell .ace-shell__left .ace-nav-group .wp-block-navigation-item__content{min-height:48px;padding:12px 14px;gap:10px;border:1px solid color-mix(in srgb,var(--shell-ink) 11%,transparent);border-radius:12px!important;background:color-mix(in srgb,var(--shell-card) 72%,var(--shell-bg))}
 .ace-shell .ace-shell__left .ace-nav-group .ace-nav-pair .wp-block-navigation-item__content{padding:12px 12px}
 .ace-shell .ace-shell__left .ace-nav-group .wp-block-navigation-item__content[aria-current=page],.ace-shell .ace-shell__left .ace-nav-group .current-menu-item>.wp-block-navigation-item__content{background:color-mix(in srgb,var(--shell-accent) 20%,var(--shell-card));border-color:var(--shell-accent)}
 .ace-shell .ace-shell__left .ace-nav-group__title{margin:22px 0 8px;padding:0 22px}
}
/* Collapsed to icons: titles become hairline dividers, tiles become squares. */
@media(min-width:901px){
 .ace-shell[data-left-closed=true] .ace-shell__left .ace-nav-group__title{height:1px;margin:10px 14px 6px;padding:0;overflow:hidden;font-size:0;background:var(--shell-line)}
 .ace-shell[data-left-closed=true] .ace-shell__left .ace-nav-group__title:first-of-type{margin-top:8px}
 .ace-shell[data-left-closed=true] .ace-shell__left .ace-nav-group .wp-block-navigation__container{grid-template-columns:minmax(0,1fr)}
 .ace-shell[data-left-closed=true] .ace-shell__left .ace-nav-group .wp-block-navigation-item.ace-nav-pair{grid-column:1/-1}
 .ace-shell[data-left-closed=true] .ace-shell__left .ace-nav-group .wp-block-navigation-item__content{justify-content:center;padding:10px 0;gap:0}
 .ace-shell[data-left-closed=true] .ace-shell__left .ace-nav-group .wp-block-navigation-item__label{flex:0 0 auto}
}

/* Homepage "Search events": the map opens out from the hero into the whole main panel, and the
   matching events slide in down its side. Motion only; reduced motion gets the plain switch. */
@media (prefers-reduced-motion:no-preference){
 .ace-shell.is-event-view .ace-app.is-map-entering{animation:ace-map-enter .75s cubic-bezier(.2,.8,.2,1) both}
 .ace-shell.is-event-view .ace-app.is-map-entering .ace-app__panel{animation:ace-map-panel-in .6s .25s cubic-bezier(.2,.8,.2,1) both}
}
@keyframes ace-map-enter{from{clip-path:inset(12% 14% 34% 14% round 28px);opacity:.55}to{clip-path:inset(0 0 0 0 round 0);opacity:1}}
@keyframes ace-map-panel-in{from{transform:translateX(-28px);opacity:0}to{transform:none;opacity:1}}

/* Food Hub filters rail (plugin js/ace-propa-scran.js adds .has-scran-rail): open the filter
   column beside the main panel on desktop, and drop it on narrower screens. */
.ace-shell.has-scran-rail{grid-template-columns:var(--shell-left) var(--shell-filter) minmax(0,1fr) var(--shell-right)}
.ace-shell.has-scran-rail>.ace-shell__filter{display:block;padding:0;overflow-y:auto}
@media(max-width:1100px){
 .ace-shell.has-scran-rail{grid-template-columns:var(--shell-left) minmax(0,1fr) var(--shell-right)}
 .ace-shell.has-scran-rail>.ace-shell__filter{display:none}
 .ace-shell.has-scran-rail>.ace-shell__main{grid-column:2}
 .ace-shell.has-scran-rail>.ace-shell__right{grid-column:3}
}
