/* ace-interest-hubs */
/* Native hub blocks fill the available application panel, independently of prose width. */
.wp-block-post-content>.ace-community-hub--interest{width:100%;max-width:none!important;margin-inline:0!important}.ace-community-hub--interest{container:interest-hub/inline-size}.ace-community-hub--interest .ace-interest-hub{padding-inline:0}
.ace-interest-hub,.ace-interest-supplement{--hub-accent:#ff9a45;--hub-accent-ink:#201309;box-sizing:border-box;max-width:1400px;margin:auto;padding:clamp(1rem,3cqi,2.5rem);color:var(--ace-ink,#f5f2ea)}
.ace-interest-hub[data-interest-hub=goth]{--hub-accent:#cbabff;--hub-accent-ink:#20112e}.ace-interest-hub[data-interest-hub=music]{--hub-accent:#ffb0a2;--hub-accent-ink:#331712}.ace-interest-hub[data-interest-hub=dance]{--hub-accent:#f3a5df;--hub-accent-ink:#31122b}.ace-interest-hub[data-interest-hub=sport],.ace-interest-hub[data-interest-hub=cycling]{--hub-accent:#b6e879;--hub-accent-ink:#1c2a0c}.ace-interest-hub[data-interest-hub=parents],.ace-interest-hub[data-interest-hub=lego]{--hub-accent:#ffd16a;--hub-accent-ink:#30220a}.ace-interest-hub[data-interest-hub=free],.ace-interest-hub[data-interest-hub=walks]{--hub-accent:#88dfbf;--hub-accent-ink:#102a20}.ace-interest-hub[data-interest-hub=help]{--hub-accent:#9bcaff;--hub-accent-ink:#15263a}
.ace-interest-hub *,.ace-interest-supplement *{box-sizing:border-box}.ace-interest-hub a,.ace-interest-supplement a{color:inherit;text-underline-offset:.22em}.ace-interest-hub a:focus-visible,.ace-interest-hub button:focus-visible,.ace-interest-hub input:focus-visible,.ace-interest-hub select:focus-visible{outline:3px solid var(--hub-accent);outline-offset:5px}.ace-interest-hub [id]{scroll-margin-top:6rem}
.ace-interest-hero{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:clamp(2rem,5cqi,5rem);align-items:center;padding:clamp(1rem,3cqi,2.5rem) 0 3rem}.ace-interest-hero-copy{min-width:0}.ace-interest-hero h1{font-size:clamp(2.8rem,5.4cqi,5.3rem);font-weight:850;line-height:1.04;letter-spacing:-.045em;margin:.35em 0 .4em;max-width:12ch;text-wrap:balance}.ace-interest-lead{font-size:clamp(1.05rem,1.45cqi,1.22rem);line-height:1.65;color:var(--ace-muted,#b9b0a0);max-width:52ch}.ace-interest-kicker{color:var(--hub-accent);font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.13em;line-height:1.5;margin:0 0 .8rem}.ace-interest-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin:1.8rem 0 1.4rem}.ace-interest-button{display:inline-flex;align-items:center;justify-content:center;gap:1rem;min-height:48px;border:1px solid transparent;border-radius:.55rem;padding:.8rem 1.15rem;background:var(--hub-accent);color:var(--hub-accent-ink)!important;font:inherit;font-size:.9rem;font-weight:750;text-decoration:none;cursor:pointer;transition:transform .15s,filter .15s}.ace-interest-button:hover{filter:brightness(1.08);transform:translateY(-2px)}.ace-interest-button.is-secondary{background:transparent;color:inherit!important;border-color:var(--ace-line,rgba(255,255,255,.18))}.ace-interest-jump{display:flex;flex-wrap:wrap;gap:1.2rem;font-size:.8rem;color:var(--ace-muted,#b9b0a0)}.ace-interest-jump a{text-decoration:none}.ace-interest-jump a:hover{color:var(--hub-accent)}
.ace-interest-feature{width:100%;min-width:0;position:relative;display:flex;align-items:flex-end;min-height:480px;aspect-ratio:1/1.04;border-radius:1.2rem;overflow:hidden;text-decoration:none;background:#19171d;border:1px solid var(--ace-line,rgba(255,255,255,.14));isolation:isolate}.ace-interest-feature>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .35s}.ace-interest-feature::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.03) 15%,rgba(0,0,0,.2) 35%,rgba(0,0,0,.9) 100%);z-index:-1}.ace-interest-feature:hover>img{transform:scale(1.025)}.ace-interest-feature>div{padding:clamp(1.5rem,3cqi,2.5rem);color:#fff}.ace-interest-feature h2{font-size:clamp(1.45rem,2.2cqi,2.2rem);line-height:1.2;margin:.8rem 0;text-wrap:balance}.ace-interest-feature p{font-size:.9rem;margin:.4rem 0}.ace-interest-feature-link{display:block;margin-top:1.2rem;font-size:.85rem;font-weight:750}.ace-interest-card-tag{display:inline-block;color:var(--hub-accent);font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.ace-interest-feature .ace-interest-card-tag{padding:.4rem .7rem;color:#fff;background:rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.3);border-radius:2rem;backdrop-filter:blur(8px)}
.ace-interest-hero-art{position:relative;min-height:450px;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding:3rem;border-radius:1.2rem;background:radial-gradient(ellipse at 75% 18%,color-mix(in srgb,var(--hub-accent) 23%,transparent),transparent 65%),#1a1820;color:var(--hub-accent);border:1px solid color-mix(in srgb,var(--hub-accent) 25%,transparent)}.ace-interest-hero-art strong{position:relative;font-size:clamp(3rem,5cqi,5rem);line-height:1.03;letter-spacing:-.045em;z-index:1}.ace-interest-hero-art>span:last-child{position:relative;text-transform:uppercase;letter-spacing:.15em;font-size:.7rem;margin-top:2rem}.ace-interest-orbit{position:absolute;right:-30%;top:-15%;width:105%;aspect-ratio:1;border:1px solid color-mix(in srgb,var(--hub-accent) 22%,transparent);border-radius:50%}.ace-interest-orbit:nth-child(2){right:-15%;top:1%;width:90%}.ace-interest-orbit:nth-child(3){right:0;top:15%;width:75%}
.ace-interest-community{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1.8rem;margin:0 0 4rem;padding:1.7rem 2rem;border-radius:.9rem;border:1px solid color-mix(in srgb,var(--hub-accent) 28%,transparent);background:linear-gradient(105deg,color-mix(in srgb,var(--hub-accent) 9%,transparent),transparent)}.ace-interest-community h2{font-size:1.45rem;line-height:1.2;margin:.25rem 0 .5rem}.ace-interest-community p{max-width:67ch;font-size:.9rem;line-height:1.55;color:var(--ace-muted,#b9b0a0);margin:.4rem 0}.ace-interest-community .ace-interest-kicker{color:var(--hub-accent);font-size:.65rem;margin:0}.ace-interest-community .ace-interest-member-count{font-size:.75rem}.ace-interest-community-mark{position:relative;width:78px;height:60px}.ace-interest-community-mark span{position:absolute;width:34px;height:34px;border:2px solid var(--hub-accent);border-radius:50%;top:2px;left:21px}.ace-interest-community-mark span:nth-child(2){top:24px;left:3px;opacity:.5}.ace-interest-community-mark span:nth-child(3){top:24px;left:39px;opacity:.75}
.ace-interest-section{margin-block:4rem}.ace-interest-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.6rem}.ace-interest-heading h2,.ace-interest-guide-title h2{font-size:clamp(1.7rem,3cqi,2.5rem);letter-spacing:-.025em;line-height:1.15;margin:0}.ace-interest-heading .ace-interest-kicker{margin-bottom:.45rem}.ace-interest-text-link{font-size:.85rem;font-weight:700;white-space:nowrap}.ace-interest-filters{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;background:var(--ace-surface,#1c1813);padding:1.15rem;border-radius:.75rem;margin-bottom:1.5rem;border:1px solid var(--ace-line,rgba(255,255,255,.14))}.ace-interest-filters label{font-size:.75rem;font-weight:700;display:grid;gap:.4rem;flex:1;min-width:180px}.ace-interest-filters label:first-child{flex:2}.ace-interest-filters input,.ace-interest-filters select{width:100%;max-width:100%;min-height:46px;border:1px solid var(--ace-line,rgba(255,255,255,.2));border-radius:.4rem;color:var(--ace-ink,#f5f2ea);background:var(--ace-bg,#100e0c);padding:.65rem .8rem;font:inherit;font-size:.9rem;color-scheme:dark}.ace-interest-filters input::placeholder{color:var(--ace-muted,#b9b0a0)}.ace-interest-filters>.ace-interest-text-link{padding:.85rem 0}
.ace-interest-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.3rem}.ace-interest-cards article{overflow:hidden;border:1px solid var(--ace-line,rgba(255,255,255,.14));border-radius:.8rem;background:var(--ace-surface,#1c1813);transition:border-color .18s,transform .18s}.ace-interest-cards article:hover{border-color:color-mix(in srgb,var(--hub-accent) 45%,transparent);transform:translateY(-3px)}.ace-interest-card-image{display:block;aspect-ratio:16/10;overflow:hidden;background:#211d26;text-decoration:none}.ace-interest-card-image img{width:100%;height:100%;object-fit:cover;display:block}.ace-interest-card-image.is-placeholder{display:flex;align-items:center;justify-content:center;color:var(--hub-accent);background:radial-gradient(ellipse at 25% 5%,color-mix(in srgb,var(--hub-accent) 12%,transparent),transparent 70%),repeating-linear-gradient(135deg,transparent,transparent 25px,rgba(255,255,255,.025) 25px,rgba(255,255,255,.025) 26px),#19171c}.ace-interest-card-image.is-placeholder>span{display:grid;text-align:center;font-size:3rem;font-weight:750;line-height:1}.ace-interest-card-image small{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;margin-top:.6rem}.ace-interest-card-body{padding:1.2rem 1.3rem 1.35rem}.ace-interest-cards h3{font-size:1.12rem;line-height:1.35;margin:.65rem 0}.ace-interest-cards h3 a{text-decoration:none}.ace-interest-cards h3 a:hover{text-decoration:underline}.ace-interest-cards p,.ace-interest-cards time{color:var(--ace-muted,#b9b0a0);font-size:.8rem;line-height:1.6}.ace-interest-cards time{color:var(--hub-accent);font-size:.75rem;font-weight:650}.ace-interest-cards .ace-interest-price{font-size:.75rem;margin:1rem 0 0}.ace-interest-empty{grid-column:1/-1;text-align:center;border:1px dashed var(--ace-line,rgba(255,255,255,.25));border-radius:.8rem;padding:3rem 1.5rem;color:var(--ace-muted,#b9b0a0)}.ace-interest-empty h3{font-size:1.3rem;color:var(--ace-ink,#f5f2ea)}.ace-interest-empty p{max-width:62ch;margin:1rem auto;font-size:.95rem}.ace-interest-pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:1.5rem;margin-top:2rem}.ace-interest-pagination>span{font-size:.8rem;color:var(--ace-muted,#b9b0a0)}
.ace-interest-local-guide{display:grid;grid-template-columns:1fr 2fr;gap:clamp(2rem,6cqi,6rem);margin:4rem 0;padding-top:3rem;border-top:1px solid var(--ace-line,rgba(255,255,255,.14))}.ace-interest-guide-title>p:last-child{color:var(--ace-muted,#b9b0a0);font-size:.95rem;line-height:1.6}.ace-interest-intro{max-width:850px;line-height:1.75;margin-block:2rem}.ace-interest-local-guide .ace-interest-intro{margin:0}.ace-interest-intro>p:first-child{font-size:1.07rem;margin-top:0}.ace-interest-intro section{margin-block:1.8rem}.ace-interest-intro section h2{font-size:1.2rem;line-height:1.35}.ace-interest-intro section>p{font-size:.95rem;color:var(--ace-muted,#b9b0a0)}.ace-interest-intro .ace-interest-source,.ace-interest-reviewed{font-size:.76rem;color:var(--ace-muted,#b9b0a0)}.ace-interest-source a{color:inherit;text-underline-offset:.2em}.ace-interest-reviewed{border-top:1px solid var(--ace-line,rgba(255,255,255,.14));padding-top:.8rem}
.ace-interest-links{margin:2rem 0;padding:1.5rem 0;border-top:1px solid var(--ace-line,rgba(255,255,255,.14))}.ace-interest-links h2{font-size:1.05rem;margin:0 0 1rem}.ace-interest-links ul{display:flex;flex-wrap:wrap;gap:.65rem;list-style:none;padding:0;margin:0}.ace-interest-links li a{display:flex;gap:1.2rem;align-items:center;justify-content:space-between;padding:.65rem .9rem;border-radius:.4rem;border:1px solid var(--ace-line,rgba(255,255,255,.14));font-size:.8rem;text-decoration:none}.ace-interest-links li a:hover{border-color:var(--hub-accent);color:var(--hub-accent)}
@container interest-hub (max-width:1000px){.ace-interest-hero{gap:2rem}.ace-interest-feature{min-height:420px}.ace-interest-community{grid-template-columns:1fr auto}.ace-interest-community-mark{display:none}.ace-interest-cards{gap:1rem}.ace-interest-card-body{padding:1rem}.ace-interest-local-guide{grid-template-columns:1fr 1.7fr;gap:2rem}}
@container interest-hub (max-width:760px){.ace-interest-hero{grid-template-columns:1fr;padding-top:.5rem;gap:2rem}.ace-interest-hero h1{max-width:17ch;font-size:clamp(2.7rem,10cqi,4.5rem)}.ace-interest-feature{min-height:330px;aspect-ratio:16/11}.ace-interest-hero-art{min-height:280px}.ace-interest-hero-art strong{font-size:3.4rem}.ace-interest-community{grid-template-columns:1fr;gap:1rem;padding:1.5rem;margin-bottom:3rem}.ace-interest-community>.ace-interest-button{justify-self:start}.ace-interest-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.ace-interest-local-guide{grid-template-columns:1fr;gap:1rem}.ace-interest-section{margin-block:3rem}.ace-interest-heading{align-items:center}.ace-interest-heading>.ace-interest-text-link{font-size:.75rem}.ace-interest-filters>.ace-interest-button{flex:1}}
@container interest-hub (max-width:480px){.ace-interest-cards{grid-template-columns:1fr}.ace-interest-card-image{aspect-ratio:16/9}.ace-interest-heading{align-items:flex-start;flex-direction:column}.ace-interest-filters{gap:.8rem}.ace-interest-filters label{min-width:100%;flex:1}.ace-interest-actions{flex-direction:column;align-items:stretch}.ace-interest-community>.ace-interest-button{width:100%}.ace-interest-pagination{gap:.75rem}.ace-interest-pagination>.ace-interest-button{font-size:.8rem;padding:.7rem}.ace-interest-hero-art{display:none}}
@media(prefers-reduced-motion:reduce){.ace-interest-hub *, .ace-interest-supplement *{transition:none!important;scroll-behavior:auto!important}}

[data-ace-theme=light] .ace-interest-filters :is(input,select){color-scheme:light}


/* ace-map-style */
.ace-site-map.leaflet-container{background:var(--ace-bg, #2c2c2e);color:var(--ace-ink, #f5f2ea);font:14px/1.4 "Space Grotesk",sans-serif;isolation:isolate}.ace-site-map.leaflet-container .leaflet-tile-pane{filter:brightness(0.78) contrast(1.28) saturate(0.7)}body[data-ace-theme=light] .ace-site-map.leaflet-container .leaflet-tile-pane{filter:none}.ace-site-map .ace-tiles--dark{filter:none}.ace-site-map .ace-map-labels{opacity:.75;pointer-events:none}.ace-site-map.leaflet-container .leaflet-bar{border:1px solid var(--ace-line, #48514e);box-shadow:0 4px 18px rgba(0,0,0,.2)}.ace-site-map.leaflet-container .leaflet-bar a{background:var(--ace-surface-2, #242b2a);color:var(--ace-ink, #f5f2ea);border-color:var(--ace-line, #48514e)}.ace-site-map.leaflet-container .leaflet-bar a:hover,.ace-site-map.leaflet-container .leaflet-bar a:focus{background:var(--ace-surface, #1d2323);color:var(--ace-orange-2, #efb665)}.ace-site-map.leaflet-container .leaflet-bar a.leaflet-disabled{color:var(--ace-muted, #abb5b1);opacity:.6}.ace-site-map.leaflet-container .leaflet-control a:focus-visible{outline:2px solid var(--ace-orange-2, #efb665);outline-offset:2px}.ace-site-map.leaflet-container .leaflet-control-attribution,.ace-site-map.leaflet-container .leaflet-control-layers{background:color-mix(in srgb, var(--ace-surface-2, #242b2a) 88%, transparent);color:var(--ace-muted, #abb5b1);font-family:inherit}.ace-site-map.leaflet-container .leaflet-control-attribution a{color:var(--ace-ink, #f5f2ea)}.ace-site-map.leaflet-container .leaflet-popup-content-wrapper,.ace-site-map.leaflet-container .leaflet-popup-tip,.ace-site-map.leaflet-container .leaflet-tooltip{background:var(--ace-surface-2, #242b2a);color:var(--ace-ink, #f5f2ea);border:1px solid var(--ace-line, #48514e);box-shadow:0 8px 30px rgba(0,0,0,.3333333333);font-family:inherit}.ace-site-map.leaflet-container .leaflet-popup-content a,.ace-site-map.leaflet-container .leaflet-popup-close-button{color:var(--ace-orange-2, #efb665)}.ace-site-map .marker-cluster{background:color-mix(in srgb, var(--ace-orange-2, #efb665) 30%, transparent)}.ace-site-map .marker-cluster div{background:var(--ace-surface-2, #242b2a);color:var(--ace-ink, #f5f2ea);border:1px solid var(--ace-orange-2, #efb665);font-family:inherit}.ace-site-map .ace-map-job-pin{display:grid;place-items:center;border:2px solid var(--ace-ink, #f5f2ea);border-radius:50%;background:var(--ace-orange-2, #efb665);color:var(--ace-bg, #14120f);box-shadow:0 2px 8px rgba(0,0,0,.4)}.ace-site-map:is(.is-satellite,.is-regular) .leaflet-tile-pane{filter:none}.ace-site-map .ace-map-job-pin svg{display:block;width:16px;height:16px;fill:currentColor}


/* ace-live-map */
﻿.alm{--alm-h: calc(100vh - var(--ace-header-h, 64px));--alm-bg: var(--ace-bg, #14120f);--alm-surface: rgba(28, 24, 19, 0.95);--alm-surface-2: rgba(36, 31, 24, 0.97);--alm-ink: var(--ace-ink, #f5f2ea);--alm-muted: var(--ace-muted, #b9b0a0);--alm-line: rgba(255, 255, 255, 0.12);--alm-orange: var(--ace-orange, #ff7a18);--alm-orange-2: var(--ace-orange-2, #ff9a45);--alm-teal: #12b3a6;--alm-blue: #4ea1ff;--alm-purple: #a06cff;--alm-red: #ff4d4f;--alm-amber: #ffb020;--alm-green: #3ecf8e;position:relative;width:100%;height:var(--alm-h);min-height:420px;background:var(--alm-bg);color:var(--alm-ink);overflow:hidden;font:14px/1.4 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;margin-top:0;margin-bottom:0;max-width:none}.alm *{box-sizing:border-box}.alm{isolation:isolate;z-index:0}.alm__map{position:absolute;inset:0;background:#2c2c2e;z-index:1}.alm{width:100vw;margin-left:calc(50% - 50vw) !important;margin-right:calc(50% - 50vw) !important}.alm__flags{position:absolute;inset:0;z-index:20;pointer-events:none;overflow:hidden}.alm__flags.is-moving{opacity:.35}.alm__flags .alm-card{position:absolute;left:0;top:0;pointer-events:auto;transform:scale(0.82);transform-origin:50% 50%;opacity:.8;will-change:transform;transition:opacity .2s,box-shadow .2s}.alm__flags .alm-card.is-near,.alm__flags .alm-card:hover{opacity:1;box-shadow:0 16px 40px rgba(0,0,0,.7);z-index:2}.alm__flags .alm-card::after{display:none}.alm__leaders{position:absolute;left:0;top:0;z-index:19;pointer-events:none}.alm__leaders line{stroke:rgba(255,154,69,.85);stroke-width:1.5}.alm__leaders circle{fill:#ff9a45}.alm .leaflet-marker-icon.alm-pinwrap,.alm .leaflet-marker-icon.alm-clusterwrap{opacity:.72;transition:opacity .15s}.alm .leaflet-marker-icon.alm-pinwrap:hover,.alm .leaflet-marker-icon.alm-clusterwrap:hover,.alm .leaflet-marker-icon.alm-pinwrap.is-hot,.alm .leaflet-marker-icon.is-lit{opacity:1}.alm-pin.is-hot .alm-pin__dot{background:#fff;box-shadow:0 0 0 3px rgba(255,122,24,.55),0 2px 6px rgba(0,0,0,.6)}.alm .leaflet-container{background:#2c2c2e;font:inherit}.alm .leaflet-tile-pane{filter:brightness(0.78) contrast(1.28) saturate(0.7)}.alm .ace-tiles--dark{filter:none}.alm .alm-labels{opacity:.75}.alm .leaflet-shadow-pane{z-index:430;pointer-events:none}.alm .leaflet-control-attribution{background:rgba(20,18,15,.75);color:var(--alm-muted);font-size:10px;max-width:min(92vw,720px)}.alm .leaflet-control-attribution a{color:var(--alm-ink)}.alm .leaflet-bar a{background:var(--alm-surface-2);color:var(--alm-ink);border-bottom-color:var(--alm-line)}.alm .leaflet-bar a:hover{background:#2f2921}.alm .leaflet-popup-content-wrapper,.alm .leaflet-popup-tip{background:var(--alm-surface-2);color:var(--alm-ink);box-shadow:0 8px 30px rgba(0,0,0,.5)}.alm .leaflet-popup-content{margin:10px 12px;font-size:13px;line-height:1.35}.alm .leaflet-popup-content a{color:var(--alm-orange-2)}.alm .leaflet-popup-close-button{color:var(--alm-muted)}.alm .alm-tile-wx{mix-blend-mode:screen}.alm .alm-tile-traffic{opacity:.85}.alm__nojs{padding:2rem;text-align:center}.alm__top{position:absolute;top:0;left:0;right:0;z-index:40;display:flex;align-items:center;gap:8px;padding:8px 10px;pointer-events:none}.alm__top>*{pointer-events:auto}.alm__brand{display:flex;align-items:center;gap:8px;background:var(--alm-surface);border:1px solid var(--alm-line);border-radius:999px;padding:6px 12px 6px 10px;font-weight:700;letter-spacing:.01em;white-space:nowrap}.alm__brand .alm__live{width:8px;height:8px;border-radius:50%;background:var(--alm-red)}@keyframes alm-pulse{0%{transform:scale(1);opacity:.8}70%{transform:scale(1.8);opacity:0}100%{transform:scale(1.8);opacity:0}}.alm__chips{display:flex;gap:6px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;background:var(--alm-surface);border:1px solid var(--alm-line);border-radius:999px;padding:4px}.alm__chips::-webkit-scrollbar{display:none}.alm__chip{border:0;background:rgba(0,0,0,0);color:var(--alm-muted);border-radius:999px;padding:5px 11px;font:inherit;font-weight:600;cursor:pointer;white-space:nowrap}.alm__chip:hover{color:var(--alm-ink)}.alm__chip.is-on{background:var(--alm-orange);color:#1a1108}.alm__now{margin-left:auto;display:flex;gap:6px;align-items:center}.alm__pill{display:inline-flex;align-items:center;gap:6px;background:var(--alm-surface);border:1px solid var(--alm-line);border-radius:999px;padding:6px 11px;font-weight:600;white-space:nowrap;color:var(--alm-ink);text-decoration:none}.alm__pill small{color:var(--alm-muted);font-weight:500}.alm__pill.is-warn-yellow{border-color:var(--alm-amber);color:var(--alm-amber)}.alm__pill.is-warn-amber{background:rgba(255,176,32,.2);border-color:var(--alm-amber);color:var(--alm-amber)}.alm__pill.is-warn-red{background:rgba(255,77,79,.25);border-color:var(--alm-red);color:#fff}.alm__layersbtn{display:none}.alm__banner{position:absolute;top:56px;left:50%;transform:translateX(-50%);z-index:41;max-width:min(92vw,720px);background:rgba(255,176,32,.16);border:1px solid var(--alm-amber);color:var(--alm-ink);border-radius:12px;padding:8px 12px;font-size:13px}.alm__banner.is-red{background:rgba(255,77,79,.22);border-color:var(--alm-red)}.alm__banner a{color:var(--alm-ink);font-weight:700}.alm__rail{position:absolute;top:56px;right:10px;bottom:52px;z-index:39;width:272px;display:flex;flex-direction:column;gap:8px;overflow:auto;scrollbar-width:thin;padding-bottom:8px}.alm__group{background:var(--alm-surface);border:1px solid var(--alm-line);border-radius:14px;padding:8px 8px 6px}.alm__group h3{margin:0 4px 4px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--alm-muted);font-weight:700;display:flex;align-items:center;gap:6px;cursor:pointer;user-select:none;padding:2px 0}.alm__group h3::before{content:"▾";font-size:10px;transition:transform .15s;color:var(--alm-orange-2)}.alm__group.is-collapsed h3::before{transform:rotate(-90deg)}.alm__group.is-collapsed>*:not(h3){display:none !important}.alm__gcount{margin-left:auto;font-weight:600;color:var(--alm-muted);font-variant-numeric:tabular-nums;letter-spacing:0;text-transform:none}.alm__group.is-collapsed{padding-bottom:4px}.alm__layer{display:flex;align-items:center;gap:8px;width:100%;border:0;background:rgba(0,0,0,0);color:var(--alm-ink);padding:6px 6px;border-radius:9px;font:inherit;cursor:pointer;text-align:left}.alm__layer:hover{background:hsla(0,0%,100%,.06)}.alm__layer .alm__ico{width:22px;text-align:center;font-size:15px;flex:0 0 22px}.alm__layer .alm__lbl{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:.08rem;overflow:hidden;text-align:left}.alm__layer .alm__lbl{white-space:normal}.alm__note{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72em;font-weight:400;line-height:1.25;letter-spacing:.01em;color:var(--alm-muted);opacity:.85}.alm__layer.is-on .alm__note{opacity:.9}.alm__layer[disabled] .alm__note,.alm__layer.is-locked .alm__note{opacity:.55}.alm__layer .alm__cnt{font-size:11px;color:var(--alm-muted);font-variant-numeric:tabular-nums}.alm__layer .alm__sw{width:30px;height:16px;border-radius:999px;background:hsla(0,0%,100%,.14);position:relative;flex:0 0 30px;transition:background .2s}.alm__layer .alm__sw::after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:#fff;transition:transform .2s}.alm__layer.is-on .alm__sw{background:var(--alm-orange)}.alm__layer.is-on .alm__sw::after{transform:translateX(14px)}.alm__layer.is-loading .alm__sw{background:var(--alm-orange-2);opacity:.6}.alm__layer.is-off .alm__lbl{color:var(--alm-muted)}.alm__layer.is-locked{opacity:.55}.alm__layer.is-locked .alm__cnt::before{content:"key "}.alm__legend{display:flex;flex-wrap:wrap;gap:4px 10px;padding:2px 6px 4px;font-size:11px;color:var(--alm-muted)}.alm__legend i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:4px;vertical-align:-1px}.alm__radar{display:none;align-items:center;gap:8px;padding:4px 6px 2px;font-size:12px;color:var(--alm-muted)}.alm__radar.is-on{display:flex}.alm__radar input[type=range]{flex:1;accent-color:var(--alm-orange)}.alm__radar button{border:0;background:hsla(0,0%,100%,.1);color:var(--alm-ink);border-radius:8px;width:26px;height:26px;cursor:pointer}.alm__radar .alm__rt{min-width:44px;text-align:right;font-variant-numeric:tabular-nums;color:var(--alm-ink)}.alm__nowcard{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:4px 6px 6px;font-size:12px;color:var(--alm-muted)}.alm__nowcard b{color:var(--alm-ink);font-size:20px;line-height:1.1;font-weight:700}.alm__nowcard .alm__sym{font-size:26px;line-height:1;grid-row:span 2;align-self:center}.alm__hours{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;padding:4px 4px 2px}.alm__hours::-webkit-scrollbar{display:none}.alm__hour{flex:0 0 38px;text-align:center;font-size:10px;color:var(--alm-muted);line-height:1.2}.alm__hour b{display:block;color:var(--alm-ink);font-size:12px}.alm__hour span{display:block;font-size:15px;line-height:1.3}.alm__hour.is-wet{color:var(--alm-blue)}.alm__ticker{position:absolute;left:10px;right:10px;bottom:10px;z-index:39;display:flex;align-items:center;gap:10px;background:var(--alm-surface);border:1px solid var(--alm-line);border-radius:12px;padding:6px 10px;height:36px;overflow:hidden;font-size:13px}.alm__ticker.is-empty{display:none}.alm__ticker .alm__tk{font-weight:700;color:var(--alm-orange-2);flex:0 0 auto;font-size:11px;letter-spacing:.06em;text-transform:uppercase}.alm__ticker .alm__tkin{flex:1;min-width:0;overflow:hidden;white-space:nowrap;position:relative}.alm__ticker .alm__tkin::before,.alm__ticker .alm__tkin::after{content:"";position:absolute;top:0;bottom:0;width:22px;z-index:1;pointer-events:none}.alm__ticker .alm__tkin::before{left:0;background:linear-gradient(90deg, var(--alm-surface), transparent)}.alm__ticker .alm__tkin::after{right:0;background:linear-gradient(270deg, var(--alm-surface), transparent)}.alm__ticker.is-offscreen .alm__tktrack,.als__ticker.is-offscreen .als__tktrack{animation-play-state:paused}.alm__routes{display:inline-flex;gap:4px;margin-left:8px;vertical-align:middle}.alm__route{display:inline-block;min-width:22px;padding:1px 6px;border-radius:999px;font-size:11px;font-weight:800;line-height:16px;text-align:center;color:var(--ri, #fff);background:var(--rc, #666);text-shadow:0 1px 1px rgba(0,0,0,.35)}.alm__route.is-more{background:hsla(0,0%,100%,.18)}.alm__ticker .alm__tktrack{display:inline-block;padding-left:100%;animation:alm-tick var(--alm-tk, 60s) linear infinite;will-change:transform}.alm__ticker:hover .alm__tktrack{animation-play-state:paused}.alm__ticker a{color:var(--alm-ink);text-decoration:none;margin-right:34px}.alm__ticker a small{color:var(--alm-muted);margin-left:6px}.alm__ticker a.is-warn{color:var(--alm-amber)}.alm__ticker a.is-road{color:var(--alm-red)}@keyframes alm-tick{to{transform:translateX(-100%)}}@media(prefers-reduced-motion: reduce){.alm__ticker .alm__tktrack{animation:none;padding-left:0}.alm-ico.is-alert::after{animation:none}}.alm__panel{position:absolute;top:56px;left:10px;bottom:52px;z-index:42;width:min(420px,100vw - 20px);background:var(--alm-surface-2);border:1px solid var(--alm-line);border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.5);display:none;flex-direction:column;overflow:hidden}.alm__panel.is-open{display:flex}.alm__panelhead{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--alm-line)}.alm__panelhead h2{margin:0;font-size:15px;line-height:1.25;flex:1;min-width:0}.alm__panelhead .alm__x{border:0;background:hsla(0,0%,100%,.08);color:var(--alm-ink);width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:16px;flex:0 0 30px}.alm__panelbody{overflow:auto;padding:10px 12px 14px;scrollbar-width:thin}.alm__panelbody img{max-width:100%;height:auto;border-radius:10px}.alm__panelbody .ace-emodal__cover{margin:0 0 10px}.alm__panelbody .ace-emodal__coverimg{width:100%;border-radius:10px}.alm__meta{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}.alm__meta span{background:hsla(0,0%,100%,.07);border-radius:999px;padding:3px 9px;font-size:12px}.alm__meta span.is-hot{background:var(--alm-orange);color:#1a1108;font-weight:700}.alm__actions{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.alm__btn{display:inline-flex;align-items:center;gap:6px;background:var(--alm-orange);color:#1a1108;border-radius:999px;padding:7px 13px;font-weight:700;text-decoration:none;border:0;cursor:pointer;font:inherit}.alm__btn.is-ghost{background:hsla(0,0%,100%,.08);color:var(--alm-ink)}.alm__section{margin-top:12px;border-top:1px solid var(--alm-line);padding-top:8px}.alm__section h4{margin:0 0 6px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--alm-muted)}.alm__list{list-style:none;margin:0;padding:0;font-size:13px}.alm__list li{display:flex;justify-content:space-between;gap:8px;padding:4px 0;border-bottom:1px dashed hsla(0,0%,100%,.06)}.alm__list li span:last-child{color:var(--alm-muted);white-space:nowrap}.alm__list li b{font-weight:600}.alm__spark{width:100%;height:46px;display:block}.alm__gauge{display:flex;align-items:baseline;gap:8px}.alm__gauge b{font-size:26px}.alm__bar{height:8px;border-radius:4px;background:hsla(0,0%,100%,.1);position:relative;margin:6px 0 4px;overflow:hidden}.alm__bar i{position:absolute;left:0;top:0;bottom:0;border-radius:4px;background:var(--alm-blue)}.alm__bar.is-high i{background:var(--alm-amber)}.alm__bar.is-over i{background:var(--alm-red)}.alm__rating{display:inline-block;min-width:20px;text-align:center;border-radius:5px;background:var(--alm-green);color:#062;font-weight:800;font-size:11px;padding:1px 4px}.alm__rating.is-low{background:var(--alm-amber);color:#420}.alm-pin{position:relative}.alm-pin__dot{width:14px;height:14px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--alm-orange, #ff7a18);border:2px solid #1a1108;box-shadow:0 2px 6px rgba(0,0,0,.6)}.alm-pin.is-free .alm-pin__dot{background:var(--alm-teal, #12b3a6)}.alm-pin.is-cls .alm-pin__dot{background:#8f8a80}.alm-pin__wx{position:absolute;left:14px;top:-9px;background:rgba(20,18,15,.9);border:1px solid hsla(0,0%,100%,.14);border-radius:999px;padding:1px 6px 1px 4px;font-size:11px;white-space:nowrap;color:#f5f2ea;line-height:1.4;pointer-events:none}.alm-card{width:196px;height:150px;padding:0;text-align:left;text-decoration:none;font:inherit;color:inherit;background:rgba(28,24,19,.96);border:1px solid hsla(0,0%,100%,.16);border-radius:12px;overflow:hidden;box-shadow:0 12px 34px rgba(0,0,0,.55);transform:translate(-50%, -100%);position:relative;cursor:pointer;transition:transform .15s}.alm-card:hover{transform:translate(-50%, -100%) scale(1.03)}.alm-card:focus-visible{outline:3px solid var(--alm-orange-2);outline-offset:3px;opacity:1 !important}.alm-card::after{content:"";position:absolute;left:50%;bottom:-8px;width:14px;height:14px;background:inherit;border-right:1px solid hsla(0,0%,100%,.16);border-bottom:1px solid hsla(0,0%,100%,.16);transform:translateX(-50%) rotate(45deg)}.alm-card__img{height:96px;background:#241f18 center/cover no-repeat}.alm-card__body{padding:7px 9px 8px;font-size:12px;line-height:1.3;color:#f5f2ea}.alm-card__body b{font-size:13px;margin-bottom:2px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.alm-card__body small{color:#b9b0a0}.alm-card__tag{position:absolute;top:6px;left:6px;background:var(--alm-orange, #ff7a18);color:#1a1108;font-weight:800;font-size:10px;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:2px 7px}.alm-card.is-super .alm-card__tag{background:#fff}.alm-card__wx{position:absolute;top:6px;right:6px;background:rgba(20,18,15,.85);border-radius:999px;padding:2px 7px;font-size:11px;color:#f5f2ea}.alm-cluster{background:rgba(255,122,24,.9);color:#1a1108;border:2px solid #1a1108;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:12px;box-shadow:0 2px 8px rgba(0,0,0,.6)}.alm-bus{position:relative;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.alm-bus__body{width:34px;height:18px;border-radius:5px 9px 9px 5px;background:var(--bus, #2e6bd6);border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;position:relative}.alm-bus__body::after{content:"";position:absolute;right:-7px;top:50%;margin-top:-5px;border:5px solid rgba(0,0,0,0);border-left:6px solid #fff;border-right:0}.alm-bus__lbl{font-size:11px;font-weight:800;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.8);line-height:1;pointer-events:none}.alm-bus.is-stale{opacity:.45}.alm-ico{width:26px;height:26px;border-radius:50%;background:rgba(28,24,19,.95);border:2px solid var(--c, #fff);display:flex;align-items:center;justify-content:center;font-size:14px;box-shadow:0 2px 6px rgba(0,0,0,.6);color:#fff}.alm-ico.is-sm{width:20px;height:20px;font-size:11px}.alm-ico.is-alert{--c: var(--alm-red, #ff4d4f);position:relative}.alm-ico.is-alert::after{content:"";position:absolute;inset:-2px;border-radius:50%;border:2px solid rgba(255,77,79,.7);animation:alm-pulse 1.6s infinite;pointer-events:none}.alm-news{width:22px;height:22px;border-radius:6px;background:#f5f2ea;color:#1a1108;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:900;border:2px solid #1a1108;box-shadow:0 2px 6px rgba(0,0,0,.6)}.alm-news.is-hot{background:var(--alm-orange, #ff7a18)}.alm-station{background:rgba(20,18,15,.9);border:1px solid hsla(0,0%,100%,.2);border-radius:8px;padding:2px 6px;font-size:11px;font-weight:700;color:#fff;white-space:nowrap}.alm-tramstop{width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid #9b4dff}@media(max-width: 820px){.alm{--alm-h: calc(100vh - var(--ace-header-h, 56px))}.alm__top{flex-wrap:wrap;padding:6px}.alm__now{margin-left:0;order:3;width:100%;overflow-x:auto;scrollbar-width:none}.alm__brand{padding:5px 10px 5px 8px;font-size:13px}.alm__layersbtn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--alm-line);background:var(--alm-surface);color:var(--alm-ink);border-radius:999px;padding:6px 11px;font:inherit;font-weight:700;cursor:pointer;margin-left:auto}.alm__rail{top:auto;left:0;right:0;bottom:0;width:auto;max-height:52vh;background:var(--alm-surface-2);border-radius:16px 16px 0 0;border-top:1px solid var(--alm-line);padding:8px;transform:translateY(105%);transition:transform .25s;z-index:45}.alm__rail.is-open{transform:none}.alm__group{background:rgba(0,0,0,0);border:0;padding:4px 0}.alm__ticker{bottom:8px;left:8px;right:8px}.alm__panel{top:auto;left:0;right:0;bottom:0;width:auto;max-height:70vh;border-radius:16px 16px 0 0}.alm__banner{top:96px}.alm-card{width:160px}.alm-card__img{height:78px}}.alm .leaflet-bottom.leaflet-left{margin-bottom:54px}.alm .leaflet-marker-icon.alm-buswrap{transition:transform .9s linear}.alm .leaflet-zoom-anim .leaflet-marker-icon{transition:none !important}.alm .leaflet-marker-pane{will-change:transform}.alm .leaflet-marker-icon.alm-cardwrap,.alm .leaflet-marker-icon.alm-stationwrap{overflow:visible}.alm .leaflet-marker-icon.alm-councillor-wrap{overflow:visible;background:none;border:0}.alm-councillor-flag{position:relative;width:38px;height:38px;display:flex;align-items:center;justify-content:center;border:3px solid var(--alm-ink);border-radius:50% 50% 50% 8px;transform:rotate(-45deg);overflow:hidden;background:var(--alm-orange);color:#1a1108;font-weight:800;box-shadow:0 4px 16px rgba(0,0,0,.55)}.alm-councillor-flag>*{transform:rotate(45deg)}.alm-councillor-flag img{width:48px;height:48px;object-fit:cover;transform:rotate(45deg) scale(1.18)}.alm-councillor-photo{display:block;width:96px !important;height:112px !important;object-fit:cover;margin:0 auto 10px;border:2px solid var(--alm-orange)}body.ace-map-page{overflow:hidden}body.ace-map-page .ace-boosted,body.ace-map-page .ace-explore,body.ace-map-page .ace-explore-fold,body.ace-map-page footer.wp-block-template-part{display:none !important}body.ace-map-page main.wp-block-group{margin:0 !important;padding:0 !important}.alm__radio{padding:4px 6px 6px;font-size:12px;color:var(--alm-muted)}.alm__sel{width:100%;background:hsla(0,0%,100%,.07);color:var(--alm-ink);border:1px solid var(--alm-line);border-radius:8px;padding:6px;font:inherit;margin-bottom:6px}.alm__radiobtns{display:flex;gap:6px;margin-bottom:6px}.alm__radiobtns .alm__btn{padding:5px 10px;font-size:12px}.alm__radioout{line-height:1.35}.alm__radioout b{color:var(--alm-ink)}.als{margin:14px auto 6px;max-width:1240px;padding:0 10px}.als.alignfull{max-width:none;width:100vw;margin-left:calc(50% - 50vw) !important;margin-right:calc(50% - 50vw) !important}.als--ticker,.als--both{margin:0 !important;padding:10px 32px 8px;position:relative;z-index:1;background:var(--ace-bg, #14120f);box-sizing:border-box}.als__inner{max-width:none;margin:0;display:flex;flex-direction:column;gap:8px}.als--ticker .als__ticker{border-radius:10px;background:rgba(28,24,19,.92)}.als--ticker .als__chips{margin:0;justify-content:center}.als__chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.als__chip{display:inline-flex;align-items:center;gap:6px;background:rgba(28,24,19,.86);border:1px solid hsla(0,0%,100%,.12);border-radius:999px;padding:6px 12px;font-weight:700;font-size:14px;color:var(--ace-ink, #f5f2ea);text-decoration:none}.als__chip small{color:var(--ace-muted, #b9b0a0);font-weight:500}.als__chip.is-warn{border-color:#ffb020;color:#ffb020}.als__ticker{display:flex;align-items:center;gap:10px;background:rgba(28,24,19,.86);border:1px solid hsla(0,0%,100%,.12);border-radius:12px;padding:6px 10px;height:36px;overflow:hidden;font-size:13px;color:var(--ace-ink, #f5f2ea)}.als__tk{font-weight:700;color:#ff9a45;font-size:11px;letter-spacing:.06em;text-transform:uppercase;flex:0 0 auto}.als__tkin{flex:1;min-width:0;overflow:hidden;white-space:nowrap;position:relative}.als__tkin::before,.als__tkin::after{content:"";position:absolute;top:0;bottom:0;width:22px;z-index:1;pointer-events:none}.als__tkin::before{left:0;background:linear-gradient(90deg, rgba(28, 24, 19, 0.92), transparent)}.als__tkin::after{right:0;background:linear-gradient(270deg, rgba(28, 24, 19, 0.92), transparent)}.als__tktrack{display:inline-block;padding-left:100%;animation:alm-tick var(--als-tk, 60s) linear infinite;will-change:transform}.als__ticker:hover .als__tktrack{animation-play-state:paused}.als__tktrack a{color:var(--ace-ink, #f5f2ea);text-decoration:none;margin-right:34px}.als__tktrack a small{color:var(--ace-muted, #b9b0a0);margin-left:6px}.als__tktrack a.is-warn{color:#ffb020}.aln{max-width:1240px;margin:24px auto;padding:0 10px}.aln.alignfull{max-width:none;width:100vw;margin:32px calc(50% - 50vw) 48px !important;padding:36px 32px 44px;box-sizing:border-box;background:hsla(0,0%,100%,.025)}.aln.alignfull{padding-left:0;padding-right:0}.aln.alignfull>*{max-width:min(1640px,96vw);margin-left:auto;margin-right:auto;padding-left:clamp(.8rem,3vw,1.8rem);padding-right:clamp(.8rem,3vw,1.8rem);box-sizing:border-box}@media(max-width: 820px){.aln.alignfull{padding:24px 0 32px}.als--ticker,.als--both{padding:8px 12px 6px}.als--ticker .als__chips{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}.als--ticker .als__chips::-webkit-scrollbar{display:none}.als--ticker .als__chip{flex:0 0 auto;white-space:nowrap}}.aln__grid{grid-template-columns:repeat(auto-fill, minmax(220px, 1fr))}.aln__list{columns:1}@media(min-width: 1100px){.aln__cols{grid-template-columns:5fr 3fr}}.aln__heading{font-size:1.6rem;margin:0 0 12px}.aln h3{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ace-muted, #b9b0a0);margin:0 0 10px}.aln__cols{display:grid;grid-template-columns:3fr 2fr;gap:24px}.aln__grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(180px, 1fr));gap:12px}.aln__card{display:block;text-decoration:none;color:inherit;background:rgba(28,24,19,.86);border:1px solid hsla(0,0%,100%,.12);border-radius:12px;overflow:hidden}.aln__img{display:block;height:110px;background:#241f18 center/cover no-repeat}.aln__body{display:block;padding:8px 10px}.aln__body b{display:block;font-size:14px;line-height:1.3}.aln__body small{color:var(--ace-muted, #b9b0a0)}.aln__list{list-style:none;margin:0;padding:0}.aln__list li{padding:7px 0;border-bottom:1px dashed hsla(0,0%,100%,.1);line-height:1.35}.aln__list a{color:inherit;text-decoration:none;font-weight:600}.aln__list small{display:block;color:var(--ace-muted, #b9b0a0)}.aln__more a{color:#ff9a45;text-decoration:none;font-weight:700}@media(max-width: 820px){.aln__cols{grid-template-columns:1fr}}body.ace-map-page{overflow:auto}.alm__summary{max-width:900px;margin:18px auto 40px;padding:0 16px;color:var(--ace-muted, #b9b0a0);font-size:15px;line-height:1.55}.alm__summary h2{color:var(--ace-ink, #f5f2ea);font-size:1.3rem;margin:0 0 8px}.alm__summary a{color:#ff9a45}.alm__summary-stamp{font-size:12px;opacity:.7}.alm__radiostat{display:flex;gap:8px;align-items:baseline;margin:4px 0 6px}.alm__radiostat b{font-size:24px;color:var(--alm-ink)}.alm__radiolegend{display:flex;flex-wrap:wrap;gap:4px 10px;margin:4px 0 6px;font-size:11px}.alm__radiolegend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:4px;vertical-align:-1px}.alm__stations{padding:6px}.alm__stations .alm__btn{width:100%;justify-content:center}.arp{max-width:520px;margin:20px auto;padding:0 12px;color:var(--ace-ink, #f5f2ea)}.arp.is-pop{margin:0;padding:12px;max-width:none}.arp__now{background:rgba(28,24,19,.95);border:1px solid hsla(0,0%,100%,.14);border-radius:14px;padding:12px 14px;margin-bottom:12px}.arp__title{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ace-muted, #b9b0a0)}.arp__station{font-size:18px;font-weight:700;margin:2px 0 8px}.arp__ctl{display:flex;align-items:center;gap:10px}.arp__play{width:44px;height:44px;border-radius:50%;border:0;background:#ff7a18;color:#1a1108;font-size:18px;cursor:pointer;flex:0 0 44px}.arp__vol{flex:1;accent-color:#ff7a18}.arp__pop{border:1px solid hsla(0,0%,100%,.16);background:rgba(0,0,0,0);color:inherit;border-radius:999px;padding:6px 10px;font:inherit;cursor:pointer}.arp__list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.arp__st{display:block;width:100%;text-align:left;background:rgba(28,24,19,.86);border:1px solid hsla(0,0%,100%,.12);border-radius:10px;padding:9px 12px;color:inherit;font:inherit;font-weight:600;cursor:pointer;text-decoration:none}.arp__st small{display:block;font-weight:400;color:var(--ace-muted, #b9b0a0);font-size:12px}.arp__st.is-on{border-color:#ff7a18;background:rgba(255,122,24,.16)}.arp__st.is-ext::after{content:" ↗";color:var(--ace-muted, #b9b0a0)}.arp__note{font-size:12px;color:var(--ace-muted, #b9b0a0);margin-top:12px}.arp__note a{color:#ff9a45}.alm__bushead{display:flex;gap:12px;align-items:center;margin-bottom:6px}.alm-busmodel{width:120px;height:60px;flex:0 0 120px;filter:drop-shadow(0 6px 10px rgba(0, 0, 0, 0.5))}.alm__busline{display:inline-block;color:#fff;font-weight:800;border-radius:6px;padding:2px 8px;font-size:15px;text-shadow:0 1px 2px rgba(0,0,0,.6)}.alm__busdest{font-weight:600;margin:4px 0 2px}.alm__share{background:var(--alm-surface);border:1px solid var(--alm-line);color:var(--alm-ink)}.alm-tram .alm-bus__body{width:28px;height:28px;border-radius:50%}.alm-tram .alm-bus__body::after{display:none}.alm-tram .alm-bus__lbl{font-size:14px}.alm__skipbands{display:flex;flex-wrap:wrap;gap:4px;margin:6px 0}.alm__skipbands span{font-size:11px;border-radius:6px;padding:2px 6px;background:hsla(0,0%,100%,.08)}.alm__skipbands span b{font-weight:700;margin-right:3px}.alm__skipbands .is-good{background:rgba(62,207,142,.25)}.alm__skipbands .is-fair{background:rgba(255,176,32,.25)}.alm__skipbands .is-poor{background:rgba(255,77,79,.22)}.alm-plan{width:28px;height:28px;border-radius:50%;background:#ff9a45;color:#1a1108;font-weight:800;display:flex;align-items:center;justify-content:center;border:2px solid #1a1108;box-shadow:0 2px 8px rgba(0,0,0,.6)}body:has(#ace-live-map) .wp-block-template-part,body:has(#ace-live-map) header{backdrop-filter:none !important;-webkit-backdrop-filter:none !important}.alm__tktrack,.als__tktrack{will-change:transform}.alm__ticker,.alm__group,.alm__panel,.alm__chips{contain:paint}.alm.is-following .leaflet-marker-icon:not(.is-followed){opacity:.18 !important;filter:saturate(0.4)}.alm.is-following .leaflet-marker-icon.is-followed{opacity:1 !important;z-index:9000 !important;filter:drop-shadow(0 0 10px rgba(255, 255, 255, 0.9))}.alm.is-following .leaflet-marker-icon.is-followed .alm-bus__body{transform-origin:50% 50%;box-shadow:0 0 0 4px hsla(0,0%,100%,.55),0 2px 10px rgba(0,0,0,.7)}.alm.is-following .leaflet-almLines-pane path:not(.alm-focus-route),.alm.is-following .leaflet-almPoly-pane path,.alm.is-following .leaflet-overlay-pane path:not(.alm-focus-route){opacity:.15 !important}.alm.is-following .leaflet-almLines-pane path.alm-focus-route{opacity:1 !important}.alm.is-following .alm__flags,.alm.is-following .alm__leaders{opacity:.15}.alm.is-following .alm-tile-wx,.alm.is-following .alm-tile-traffic{opacity:.25 !important}.alm.is-following .leaflet-marker-icon{transition:opacity .35s}body.ace-locked .wp-block-post-content>*:has(.ace-app){display:block !important}body.ace-locked .wp-block-post-content>.als{display:none !important}.ace-suggest{box-sizing:border-box;max-width:min(1640px,96vw);padding:0 clamp(.8rem,3vw,1.8rem);margin:24px auto 32px}.ace-suggest-band{padding:0}body:has(.als--ticker) .ace-app{margin-top:0 !important;margin-block-start:0 !important;padding-top:0}body:has(.als--ticker) .ace-app__map{-webkit-mask-image:linear-gradient(to bottom, #000 0, #000 72%, transparent 100%);mask-image:linear-gradient(to bottom, #000 0, #000 72%, transparent 100%)}body:has(.als--ticker) .ace-events-browser{margin-top:-7.5rem !important;padding-top:1rem;background:linear-gradient(180deg, transparent, var(--ace-bg, #14120f) 5rem);isolation:isolate}body:has(.als--ticker) .ace-app{isolation:isolate;z-index:0}body:has(.als--ticker) .ace-browser__head{margin-bottom:.35rem}body:has(.als--ticker) .ace-grid-heading{color:var(--ace-ink, #f5f2ea)}@media(max-width: 820px){.ace-suggest,.ace-suggest-band{padding:0 16px}}.alm__jobs-controls{padding:10px 12px;min-width:0;max-width:100%;font-size:12px;line-height:1.5}.alm__jobs-controls label{display:grid;gap:6px;font-weight:600}.alm__jobs-controls input{width:100%;min-width:0;box-sizing:border-box;padding:10px;border:1px solid var(--shell-line, #44504e);border-radius:8px;background:var(--shell-card, #222b2a);color:var(--shell-ink, #f4f2e9);font:inherit}.alm__jobs-controls button{margin-top:8px;width:100%;white-space:normal}.alm__jobs-controls a{display:block;color:var(--shell-accent, #eeb659);overflow-wrap:anywhere}.alm__jobs-status,.alm__jobs-note{color:var(--shell-muted, #aeb8b5);font-size:12px;line-height:1.55}.alm__jobs-description{white-space:pre-wrap;overflow-wrap:anywhere;margin-block:16px;font-size:14px;line-height:1.65}.alm__food-controls{padding:10px 8px 6px;display:grid;gap:12px;min-width:0;max-width:100%;font-size:12px;line-height:1.45}.alm__food-controls fieldset{min-width:0;margin:0;padding:0;border:0}.alm__food-controls legend,.alm__food-controls label{display:grid;gap:6px;font-weight:700}.alm__food-controls .alm__sel{margin:0;min-width:0}.alm__food-status{margin:2px 0 0;color:var(--shell-muted, #aeb8b5);font-size:11px;line-height:1.45}.alm__filter-pills{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.alm__filter-pills button{min-width:34px;padding:5px 9px;border:1px solid var(--alm-line);border-radius:999px;background:rgba(0,0,0,0);color:var(--alm-muted);font:inherit;font-weight:700;cursor:pointer;transition:background .18s,color .18s,border-color .18s,transform .18s}.alm__filter-pills button:hover{border-color:var(--alm-orange-2);color:var(--alm-ink);transform:translateY(-1px)}.alm__filter-pills button.is-on{border-color:var(--alm-orange);background:var(--alm-orange);color:#17130d}.alm-cluster.is-food{background:rgba(62,207,142,.92);color:#08251a}.alm-food-popup .alm__rating{margin:4px 0}.alm-food-popup a{display:inline-block;margin-top:5px;font-weight:700}.ace-map-results .alm__job-result{display:block;width:100%;text-align:left;white-space:normal}.alm__gall{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-left:auto;padding:2px;border:1px solid var(--alm-line);border-radius:999px;background:color-mix(in srgb, var(--alm-surface-2) 82%, transparent);font-size:8px;letter-spacing:.05em;text-transform:uppercase}.alm__gall button{min-width:34px;padding:4px 6px;border:0;border-radius:999px;background:rgba(0,0,0,0);color:var(--alm-muted);font:inherit;font-weight:800;text-transform:inherit;cursor:pointer;transition:background .2s cubic-bezier(0.2, 0.8, 0.2, 1),color .2s,transform .2s}.alm__gall button:hover{color:var(--alm-ink)}.alm__gall button[aria-pressed=true]{background:var(--alm-orange);color:#17130d;box-shadow:0 1px 5px rgba(0,0,0,.2)}.alm__gall button:active{transform:scale(0.94)}.alm__group h3{display:flex;align-items:center;gap:.4rem}.alm__llegend{padding:0 6px 6px 36px;gap:3px 9px}.alm__llegend span{white-space:nowrap}.alm__llegend em{font-style:normal;margin-right:3px}.alm__layer.is-sub{padding-left:26px;font-size:12.5px;color:var(--alm-muted)}.alm__layer.is-sub.is-on{color:var(--alm-ink)}.alm__layer.is-sub::before{content:"";width:8px;height:8px;margin-right:-4px;border-left:1px solid hsla(0,0%,100%,.22);border-bottom:1px solid hsla(0,0%,100%,.22);border-radius:0 0 0 4px;flex:0 0 8px;align-self:flex-start;margin-top:2px}.alm__src{color:var(--alm-muted);font-size:11px;margin:6px 0 0}.alm__meta span.is-src{background:hsla(0,0%,100%,.12)}.alm-cluster.is-layer{background:rgba(78,161,255,.9);color:#08192e}.alm-air-citizen{opacity:.85}.alm__busfleet{display:block;color:var(--alm-muted);margin:0 0 8px}.alm__week{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;font-size:11px;font-variant-numeric:tabular-nums}.alm__week span{flex:1 1 0;min-width:34px;text-align:center;padding:4px 2px;border-radius:6px;background:hsla(0,0%,100%,.05);color:var(--alm-muted)}.alm__week span b{display:block;font-size:10px;color:var(--alm-ink)}.alm__week span.is-high{background:rgba(78,161,255,.22);color:var(--alm-ink)}.alm__modes{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 10px}.alm__modes .alm__btn{padding:5px 10px;font-size:12px}.alm__xtra{margin-top:10px}.alm__xtra small{display:block;margin-top:4px;color:var(--alm-muted);font-size:11px}.alm__xtra li.is-amber b{color:#ffb020}.alm__xtra li.is-red b{color:#ff4d4f}.alm__xtra li.is-online b{color:#3ecf8e}.alm__xtra li span:last-child{white-space:normal;text-align:right}.alm__layer[data-layer=mysheffield]{border-left:3px solid #ffd166}.alm__layer[data-layer=mysheffield].is-on{background:rgba(255,209,102,.12)}.alm__layer[data-layer=mysheffield] .alm__lbl::after{content:"only you";display:inline-block;margin-inline-start:.5em;padding:0 .4em;border-radius:6px;font-size:.7em;letter-spacing:.02em;text-transform:uppercase;background:rgba(255,209,102,.18);color:#ffd166;vertical-align:middle}.ace-minimap--plate{border-radius:var(--ace-radius, 12px);overflow:hidden}.ace-minimap__more{margin:.4rem 0 0;font-size:.82rem}.ace-minimap__more a{color:var(--ace-muted, #b9b0a0);text-decoration:underline}.ace-minimap__more a:hover,.ace-minimap__more a:focus{color:var(--ace-orange, #ff7a18)}.alm-key{display:flex;flex-direction:column;gap:2px;padding:0 0 18px;color:var(--shell-ink, var(--alm-ink))}.alm-key__head{display:flex;align-items:center;gap:8px;padding:14px 16px 10px;position:sticky;top:0;z-index:2;background:var(--shell-panel, var(--alm-surface))}.alm-key__head h2{flex:1;margin:0;font-size:15px;letter-spacing:.02em}.alm-key__x{border:0 !important;background:none !important;font-size:19px;line-height:1;padding:2px 6px !important;color:inherit}.alm-key__back{display:none;font-size:11px}.alm-key__status{margin:0;padding:0 16px 8px;font-size:11px;color:var(--shell-muted, var(--alm-muted))}.alm-key__layers{display:flex;flex-direction:column;gap:2px;padding:0 10px 6px}.alm-key__layer{display:flex;align-items:center;gap:9px;width:100%;text-align:left;padding:9px 8px !important;font-size:12px;border:0 !important;border-radius:8px !important;background:rgba(0,0,0,0) !important;color:inherit}.alm-key__layer:hover{background:color-mix(in srgb, var(--shell-accent, #ff7a18) 10%, transparent) !important}.alm-key__layer.is-focus{background:color-mix(in srgb, var(--shell-accent, #ff7a18) 16%, transparent) !important;box-shadow:inset 2px 0 0 var(--shell-accent, #ff7a18)}.alm-key__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alm-key__dot{flex:none;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:11px;line-height:1;background:color-mix(in srgb, var(--c, #ff7a18) 30%, transparent);box-shadow:inset 0 0 0 1px var(--c, #ff7a18)}.alm-key__cnt{flex:none;font-variant-numeric:tabular-nums;font-size:12px;color:var(--shell-ink, var(--alm-ink))}.alm-key__cnt small{opacity:.6;font-size:10px}.alm-key__cnt.is-none,.alm-key__cnt.is-wait{color:var(--shell-muted, var(--alm-muted));font-size:10.5px;text-transform:uppercase;letter-spacing:.05em}.alm-key__legend{display:flex;flex-wrap:wrap;gap:4px 10px;padding:0 10px 8px 40px;font-size:10.5px;color:var(--shell-muted, var(--alm-muted))}.alm-key__legend i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-inline-end:4px;vertical-align:baseline}.alm-key__legend em{font-style:normal;margin-inline-end:4px}.alm-key__fhead{padding:12px 16px 4px;border-top:1px solid var(--shell-line, var(--alm-line))}.alm-key__fhead h3{margin:0;font-size:13px}.alm-key__sort{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 16px}.alm-key__sort label{font-size:11px;color:var(--shell-muted, var(--alm-muted))}.alm-key__sort select{flex:1;min-width:120px;font-size:11px;padding:7px;border-radius:7px;border:1px solid var(--shell-line, var(--alm-line));background:var(--shell-bg, var(--alm-surface-2));color:inherit}.alm-key__dir{font-size:11px;padding:6px 9px !important}.alm-key__where{padding:0 16px 8px}.alm-key__me{font-size:10.5px;padding:5px 8px !important;color:var(--shell-muted, var(--alm-muted))}.alm-key__me[aria-pressed=true]{color:var(--shell-accent, var(--alm-orange));border-color:currentcolor !important}.alm-key__list{list-style:none;margin:0;padding:0 10px;display:flex;flex-direction:column;gap:2px}.alm-key__item{display:flex;align-items:flex-start;gap:9px;width:100%;text-align:left;padding:9px 8px !important;border:0 !important;border-radius:8px !important;background:rgba(0,0,0,0) !important;color:inherit;font-size:12px}.alm-key__item:hover{background:color-mix(in srgb, var(--shell-accent, #ff7a18) 12%, transparent) !important}.alm-key__itxt{flex:1;min-width:0}.alm-key__ttl{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alm-key__itxt small{display:block;font-size:10.5px;color:var(--shell-muted, var(--alm-muted));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alm-key__val{flex:none;text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.alm-key__val small{display:block;font-weight:400;font-size:10px;color:var(--shell-muted, var(--alm-muted))}.alm-key__empty,.alm-key__more{margin:0;padding:8px 16px;font-size:11px;color:var(--shell-muted, var(--alm-muted));list-style:none}.ace-shell__contextual:has(.alm__panel.is-open) .alm-key__status,.ace-shell__contextual:has(.alm__panel.is-open) .alm-key__layers,.ace-shell__contextual:has(.alm__panel.is-open) .alm-key__focus{display:none}.ace-shell__contextual:has(.alm__panel.is-open) .alm-key__head h2,.ace-shell__contextual:has(.alm__panel.is-open) .alm-key__x{display:none}.ace-shell__contextual:has(.alm__panel.is-open) .alm-key__back{display:block}.alm-key__btn{position:absolute;top:64px;right:12px;z-index:26;display:flex;align-items:center;gap:7px;padding:8px 12px;font-size:12px;border-radius:999px;border:1px solid var(--alm-line);background:var(--alm-surface);color:var(--alm-ink);box-shadow:0 8px 24px rgba(0,0,0,.35)}.alm-key__btncnt:not(:empty){padding:1px 7px;border-radius:999px;font-size:11px;font-variant-numeric:tabular-nums;background:var(--alm-orange);color:#1b1206}@media(max-width: 900px){.alm-key__btn{top:auto;bottom:18px;right:12px}}.ace-map-clear{display:flex;align-items:center;gap:.6rem;padding:.6rem .75rem 0}.ace-map-clear .alm-clear{flex:0 0 auto;padding:.4rem .8rem;border:1px solid var(--ace-line, rgba(255, 255, 255, 0.16));border-radius:999px;background:rgba(0,0,0,0);color:var(--ace-ink, #f5f2ea);font:inherit;font-size:.82rem;cursor:pointer}.ace-map-clear .alm-clear:hover{border-color:var(--ace-orange-2, #efb665);color:var(--ace-orange-2, #efb665)}.ace-map-clear .alm-clear__on{font-size:.78rem;color:var(--ace-muted, #b9b0a0)}.ace-map-scopes{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .9rem;padding:.1rem .75rem .5rem}.ace-map-scopes p{flex:0 0 100%;margin:0;font-size:.7rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--ace-muted, #b9b0a0)}.ace-map-scopes label{display:inline-flex;align-items:center;gap:.35rem;font-size:.84rem;cursor:pointer}@media(prefers-reduced-motion: no-preference){.ace-map-scopes{animation:alm-scopes .16s ease}@keyframes alm-scopes{from{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:none}}}.alm__route[style*="--ri:#15120d"]{text-shadow:none}.alm-key__list li.is-lead .alm-key__item{border-color:var(--ace-orange-2, #efb665);background:color-mix(in srgb, var(--ace-orange-2, #efb665) 10%, transparent)}.alm-key__lead{display:block;font-size:.66rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--ace-orange-2, #efb665)}.alm-key__fold{display:flex;align-items:center;gap:.45rem;width:100%;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.alm-key__fold h3{margin:0}.alm-key__caret{flex:0 0 auto;width:0;height:0;border-left:5px solid currentcolor;border-top:4px solid rgba(0,0,0,0);border-bottom:4px solid rgba(0,0,0,0);opacity:.75;transform:rotate(90deg)}.alm-key__fold[aria-expanded=false] .alm-key__caret{transform:none}@media(prefers-reduced-motion: no-preference){.alm-key__caret{transition:transform .16s ease}}.alm__layer.is-locked,.alm__layer[disabled]{cursor:not-allowed;opacity:.48}.alm__layer.is-locked:hover,.alm__layer[disabled]:hover{background:none}.alm__layer.is-locked .alm__sw{opacity:.35}.alm-indoor{position:absolute;inset:0;z-index:45;display:grid;grid-template-rows:auto auto 1fr auto;background:var(--alm-bg, #171b1b);color:var(--alm-ink, #f5f2ea)}.alm-indoor header{display:flex;align-items:center;gap:1rem;padding:.65rem .9rem;border-bottom:1px solid var(--alm-line);background:var(--alm-surface, #1d2323)}.alm-indoor header div{display:grid}.alm-indoor header small{color:var(--alm-muted)}.alm-indoor button,.alm-indoor a{font:inherit}.alm-indoor__back,.alm-indoor__levels button{border:1px solid var(--alm-line);border-radius:999px;background:rgba(0,0,0,0);color:inherit;padding:.45rem .75rem;cursor:pointer}.alm-indoor__levels{display:flex;gap:.45rem;padding:.55rem .9rem;overflow-x:auto;background:var(--alm-surface-2, #242b2a)}.alm-indoor__levels button[aria-pressed=true]{background:var(--alm-orange, #ff7a18);border-color:var(--alm-orange, #ff7a18);color:#1a1108}.alm-indoor__canvas{min-height:0;background:#252b2a}.alm-indoor__facts{padding:.65rem .9rem;border-top:1px solid var(--alm-line);background:var(--alm-surface, #1d2323)}.alm-indoor__facts p{margin:.15rem 0}.alm-indoor__facts .alm-indoor__notice{margin-block:.35rem .55rem;padding:.55rem .65rem;border-left:3px solid var(--alm-orange-2, #efb665);background:color-mix(in srgb, var(--alm-orange-2, #efb665) 10%, transparent);color:var(--alm-muted, #b9b0a0);font-size:.82rem}.alm-indoor__facts a{color:var(--alm-orange-2, #efb665)}@media(min-width: 821px){body.single-post.ace-workspace-page .ace-shell--content .ace-hub-route .entry-content>.alm:is([data-map-profile=ghosts],[data-map-profile=halloween]){--ace-ghost-map-bleed: clamp(1.5rem, 6vw, 6rem);float:right;clear:right;left:auto !important;box-sizing:border-box;width:calc(50% + var(--ace-ghost-map-bleed)) !important;max-width:none !important;margin:1rem calc(-1*var(--ace-ghost-map-bleed)) 1.5rem clamp(1.25rem,3vw,2.25rem) !important;border:1px solid var(--alm-line, rgba(255, 255, 255, 0.12));border-radius:18px;overflow:hidden}}@media(max-width: 820px){body.single-post.ace-workspace-page .ace-shell--content .ace-hub-route .entry-content>.alm:is([data-map-profile=ghosts],[data-map-profile=halloween]){float:none;left:auto !important;width:100% !important;max-width:100% !important;margin:1.25rem 0 !important;border-radius:14px;overflow:hidden}}body.postid-29332.ace-workspace-page .ace-shell--content .ace-hub-route .entry-content>.alm[data-map-profile=halloween]{float:none;clear:both;left:auto !important;box-sizing:border-box;width:100% !important;max-width:none !important;margin:1.5rem 0 !important;border:1px solid var(--alm-line, rgba(255, 255, 255, 0.12));border-radius:18px;overflow:hidden}body.postid-29332 .alm[data-map-profile=halloween] .alm__brand{position:relative;z-index:48;max-width:min(58vw,720px);padding:.7rem 1rem;border-color:hsla(0,0%,100%,.28);background:rgba(15,17,17,.94);color:#fff;box-shadow:0 8px 30px rgba(0,0,0,.58);font-size:clamp(1rem,2vw,1.45rem);line-height:1.15;white-space:normal}@media(max-width: 820px){body.postid-29332 .alm[data-map-profile=halloween] .alm__brand{max-width:calc(100vw - 8rem);padding:.55rem .75rem;font-size:.95rem}}.als .als__ticker--cards{--alt-orange: #ff7a18;--alt-orange-hi: #ffb067;--alt-glow: rgba(255, 122, 24, 0.42);--alt-ink: var(--shell-ink, #f5f2ea);--alt-muted: var(--shell-muted, #b9b0a0);height:auto;gap:14px;padding:0 0 0 16px;border:1px solid hsla(0,0%,100%,.09);border-radius:14px;background:rgba(16,19,20,.8);box-shadow:0 10px 28px rgba(0,0,0,.32);font-size:13px;color:var(--alt-ink)}.als .als__ticker--cards[hidden]{display:none}.als .als__ticker--cards .als__tk{display:flex;align-items:center;gap:8px;font:700 11px/1.2 "Space Grotesk","DM Sans",system-ui,sans-serif;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;color:var(--alt-orange)}.als__ticker--cards .als__tk svg{flex:none;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.als__ticker--cards .als__tkl b{font-weight:inherit}.als .als__ticker--cards .als__tkin{align-self:stretch;display:flex;align-items:center;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;contain:paint;-webkit-mask-image:linear-gradient(90deg, transparent, #000 36px, #000 calc(100% - 56px), transparent);mask-image:linear-gradient(90deg, transparent, #000 36px, #000 calc(100% - 56px), transparent)}.als__ticker--cards .als__tkin::-webkit-scrollbar{display:none}.als__ticker--cards .als__tkin::before,.als__ticker--cards .als__tkin::after{display:none}.als__ticker--cards.is-marquee .als__tkin{overflow:hidden}.als .als__ticker--cards .als__tktrack{display:flex;width:max-content;padding:8px 0 8px 18px;animation:none}.als .als__ticker--cards.is-marquee .als__tktrack{animation:als-marquee var(--als-dur, 90s) linear infinite;will-change:transform;backface-visibility:hidden}.als .als__ticker--cards:is(:hover,:focus-within) .als__tktrack,.als .als__ticker--cards.is-offscreen .als__tktrack{animation-play-state:paused}@keyframes als-marquee{from{transform:translate3d(0, 0, 0)}to{transform:translate3d(calc(-1 * var(--als-shift, 50%)), 0, 0)}}.als .als__ticker--cards .als__tktrack a.als-card{flex:none;display:flex;align-items:center;gap:12px;margin:0;padding:0 30px 0 0;color:inherit;text-decoration:none}.als-card:focus-visible{outline:2px solid var(--alt-orange);outline-offset:2px;border-radius:12px}.als-card__th{position:relative;flex:none;display:grid;place-items:center;width:50px;height:50px;overflow:hidden;border-radius:12px;background:linear-gradient(150deg, rgba(255, 160, 87, 0.55), rgba(242, 106, 12, 0.22));box-shadow:0 0 0 1.5px rgba(255,122,24,.6),0 0 12px var(--alt-glow);color:#1c1f20;text-align:center;line-height:1}.als-card__th img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.als-card__th b{display:block;font:800 19px/1 "Space Grotesk","DM Sans",sans-serif}.als-card__th small{display:block;margin-top:2px;font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.als-card__th svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.als-card__tx{display:grid;gap:2px;min-width:0;max-width:260px;line-height:1.25}.als-card__tx>*{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.als-card__tx b{font-size:14px;font-weight:700;color:var(--alt-ink)}.als-card__tx span{font-size:12.5px;color:var(--alt-muted)}.als-card__tx em{font:500 11px/1.25 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-style:normal;letter-spacing:.02em;color:var(--alt-orange-hi)}.als-card:hover .als-card__tx b{color:var(--alt-orange-hi)}.als-card.is-warn .als-card__th{background:linear-gradient(150deg, rgba(255, 200, 70, 0.75), rgba(255, 140, 0, 0.3));box-shadow:0 0 0 1.5px rgba(255,176,32,.75),0 0 12px rgba(255,176,32,.4)}.als-card.is-warn .als-card__tx em{color:#ffb020}@media(max-width: 600px){.als .als__ticker--cards{gap:8px;padding:0 0 0 12px;border-radius:12px}.als .als__ticker--cards .als__tk{font-size:9px;letter-spacing:.16em;line-height:1.3}.als__ticker--cards .als__tk svg{display:none}.als__ticker--cards .als__tkl b{display:block}.als .als__ticker--cards .als__tktrack{padding:7px 0 7px 12px}.als .als__ticker--cards .als__tktrack a.als-card{gap:10px;padding-right:22px}.als-card__th{width:42px;height:42px;border-radius:10px}.als-card__th b{font-size:16px}.als-card__th svg{width:19px;height:19px}.als-card__tx{max-width:196px}.als-card__tx b{font-size:13px}.als-card__tx span{font-size:11.5px}.als-card__tx em{font-size:10px}}@media(prefers-reduced-motion: reduce){.als .als__ticker--cards .als__tktrack{animation:none !important}.als .als__ticker--cards .als__tkin{overflow-x:auto}.als__ticker--cards [data-clone]{display:none !important}}


/* ace-matchday */
/* Match day (issue #55): banner on single events, chip in the live strip, fixture list. */
.acemd{margin:0 0 22px;padding:14px 16px;background:var(--ace-surface,#1c1813);border:1px solid rgba(255,176,32,.45);border-left:4px solid #ffb020;border-radius:var(--ace-radius,12px);color:var(--ace-ink,#f5f2ea);box-shadow:0 10px 30px rgba(0,0,0,.25)}
.acemd__row{display:flex;align-items:flex-start;gap:12px}
.acemd__row+.acemd__row{margin-top:12px;padding-top:12px;border-top:1px dashed rgba(255,255,255,.1)}
.acemd__icon{flex:0 0 auto;font-size:1.5rem;line-height:1}
.acemd__body{flex:1 1 auto;min-width:0}
.acemd__title{display:block;font-size:1.05rem;color:#ffb020}
.acemd__fix{font-weight:600}
.acemd__fix small{color:var(--ace-muted,#b9b0a0);font-weight:500}
.acemd__note{margin:6px 0 0;color:var(--ace-muted,#b9b0a0);font-size:.88rem;line-height:1.45}
.acemd__map{flex:0 0 auto;align-self:center;background:var(--ace-orange,#ff7a18);color:var(--ace-orange-ink,#1a1108);border-radius:999px;padding:7px 13px;font-weight:700;font-size:.82rem;text-decoration:none;white-space:nowrap}
.acemd__map:hover{background:var(--ace-orange-2,#ff9a45);color:var(--ace-orange-ink,#1a1108)}
.acemd__credit,.acemdl__credit{margin:10px 0 0;font-size:.72rem;color:var(--ace-muted,#b9b0a0)}
.acemd__credit a,.acemdl__credit a{color:inherit}
.als__chip.acemd-chip{border-color:#ffb020;color:#ffb020}
.acemdl{margin:28px 0;padding:18px 20px 16px;background:var(--ace-surface,#1c1813);border:1px solid rgba(255,255,255,.12);border-radius:var(--ace-radius,12px);color:var(--ace-ink,#f5f2ea)}
.acemdl__heading{margin:0 0 12px;font-size:1.25rem;line-height:1.2}
.acemdl__list{list-style:none;margin:0;padding:0}
.acemdl__item{display:grid;grid-template-columns:auto 92px 1fr auto;align-items:center;gap:12px;padding:9px 0;border-bottom:1px dashed rgba(255,255,255,.08);font-size:.92rem}
.acemdl__item:last-child{border-bottom:0}
.acemdl__item.is-today{background:rgba(255,176,32,.08);margin:0 -10px;padding:9px 10px;border-radius:8px}
.acemdl__icon{font-size:1.3rem;line-height:1}
.acemdl__when b,.acemdl__what b{display:block}
.acemdl__when small,.acemdl__what small{display:block;color:var(--ace-muted,#b9b0a0);font-size:.8rem}
.acemdl__map{background:rgba(255,255,255,.08);color:var(--ace-ink,#f5f2ea);border-radius:999px;padding:5px 11px;font-weight:700;font-size:.78rem;text-decoration:none}
.acemdl__map:hover{background:var(--ace-orange,#ff7a18);color:var(--ace-orange-ink,#1a1108)}
.acemdl__empty{margin:0;color:var(--ace-muted,#b9b0a0)}
@media (max-width:520px){.acemdl__item{grid-template-columns:auto 1fr auto}.acemdl__when{display:none}.acemd__row{flex-wrap:wrap}.acemd__map{align-self:flex-start}}


/* ace-bus-disruptions */
/* Bus disruptions (issue #56): shortcode list, home-strip chip, map-ticker anchors. */
.acebd{margin:28px 0;padding:18px 20px 16px;background:var(--ace-surface,#1c1813);border:1px solid rgba(255,255,255,.12);border-left:4px solid #ffb020;border-radius:12px;color:var(--ace-ink,#f5f2ea)}
.acebd__heading{margin:0 0 12px;font-size:1.25rem;line-height:1.2}
.acebd__list{list-style:none;margin:0;padding:0}
.acebd__item{padding:10px 0;border-bottom:1px dashed rgba(255,255,255,.1)}
.acebd__item:last-child{border-bottom:0}
.acebd__sum{display:block;color:#ffb020}
.acebd__meta{display:block;margin-top:3px;font-size:.82rem;color:var(--ace-muted,#b9b0a0)}
.acebd__text{margin:6px 0 0;font-size:.92rem;line-height:1.45;color:var(--ace-ink,#f5f2ea)}
.acebd__empty{margin:0;color:var(--ace-muted,#b9b0a0)}
.acebd__credit{margin:12px 0 0;font-size:.72rem;color:var(--ace-muted,#b9b0a0)}
.acebd__credit a{color:inherit}
.als__chip.acebd-chip{border-color:#ffb020;color:#ffb020}
.alm__ticker a.acebd-tk{color:var(--alm-amber,#ffb020)}


/* ace-event-weather */
/* Weather at start time (issue #60): forecast chip on single events and map-list cards. */
.aceew{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:18px 0 22px;padding:12px 16px;background:var(--ace-surface,#1c1813);border:1px solid var(--ace-line,rgba(255,255,255,.12));border-radius:var(--ace-radius,12px);color:var(--ace-ink,#f5f2ea);font-size:.92rem}
.aceew__chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid var(--ace-line,rgba(255,255,255,.12));font-weight:700;white-space:nowrap;line-height:1.2}
.aceew__icon{font-size:1.05em;line-height:1}
.aceew__dry{color:var(--ace-muted,#b9b0a0);font-weight:600}
.aceew__attr{flex-basis:100%;font-size:.7rem;line-height:1.3;color:var(--ace-muted,#b9b0a0);opacity:.8}
/* Card chip appended by event-weather.js under the date line. */
.aceew-card{display:inline-flex;align-items:center;gap:4px;margin:2px 0 4px;padding:2px 8px;border-radius:999px;background:rgba(0,0,0,.35);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.14);color:var(--ace-ink,#f5f2ea);font-size:.72rem;font-weight:700;line-height:1.3;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.aceew-card__icon{line-height:1}
@media (max-width:480px){.aceew{padding:10px 12px;font-size:.88rem}.aceew__chip{white-space:normal}}


/* ace-flood-power */
/* Flood watch and power-cut flags (issue #61). Prefix ace-fp. */
.ace-fp{margin:0 0 18px;display:grid;gap:10px}
.ace-fp__banner{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:var(--ace-surface,rgba(255,255,255,.06));color:var(--ace-ink,#f5f2ea);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)}
.ace-fp__banner--amber{border-color:rgba(255,170,40,.55);background:linear-gradient(90deg,rgba(255,170,40,.18),var(--ace-surface,rgba(255,255,255,.06)) 70%)}
.ace-fp__banner--red{border-color:rgba(255,80,70,.65);background:linear-gradient(90deg,rgba(255,80,70,.22),var(--ace-surface,rgba(255,255,255,.06)) 70%)}
.ace-fp__icon{flex:0 0 32px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:16px;line-height:1;background:rgba(255,170,40,.9);color:#1a1409}
.ace-fp__banner--red .ace-fp__icon{background:rgba(255,80,70,.95);color:#fff}
.ace-fp__text{display:grid;gap:3px;min-width:0}
.ace-fp__title{font-size:1rem;font-weight:800;letter-spacing:.2px}
.ace-fp__detail{font-size:.85rem;color:var(--ace-ink,#f5f2ea);opacity:.9}
.ace-fp__msg{font-size:.85rem;color:var(--ace-muted,#b9b0a0)}
.ace-fp__attr{font-size:.72rem;color:var(--ace-muted,#b9b0a0)}
.ace-fp__attr a{color:var(--ace-orange,#ff7a18);text-decoration:none}
.ace-fp__attr a:hover{text-decoration:underline}
/* Card badges appended by flood-power.js */
.ace-fp__badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}
.ace-fp__badge{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:2px 9px;font-size:.72rem;font-weight:700;line-height:1.5;white-space:nowrap;border:1px solid rgba(255,170,40,.6);background:rgba(255,170,40,.18);color:#ffd28a}
.ace-fp__badge--red{border-color:rgba(255,80,70,.7);background:rgba(255,80,70,.22);color:#ffb4ae}
.ace-fp__badge--power{border-color:rgba(255,170,40,.6);background:rgba(255,170,40,.18);color:#ffd28a}
@media (max-width:600px){.ace-fp__banner{padding:10px 12px}.ace-fp__icon{flex-basis:26px;width:26px;height:26px;font-size:13px}}


/* ace-context-chips */
/* Context chips (issue #63): bank holidays, term dates, council meetings, elections. */
.acectx{margin:12px 0}
.acectx__chips{display:flex;flex-wrap:wrap;gap:8px}
.acectx__credit{margin:8px 0 0;font-size:.72rem;color:var(--ace-muted,#b9b0a0)}
.als__chip.acectx-chip,.alm__now .acectx-chip{display:inline-flex;align-items:center;gap:6px;background:rgba(28,24,19,.86);border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:6px 12px;font-weight:700;font-size:14px;color:var(--ace-ink,#f5f2ea);text-decoration:none;white-space:nowrap}
.acectx-chip small{color:var(--ace-muted,#b9b0a0);font-weight:500}
.acectx-chip--bank-holiday{border-color:var(--ace-orange,#ff7a18)}
.acectx-chip--election{border-color:#7fb3ff}
.acectx-chip--council{border-color:rgba(255,255,255,.28)}
.acectx-chip--term{border-color:#9be07a}
.alm__now .acectx-chip{padding:4px 10px;font-size:12px}
.alm__now .acectx-chip small{display:none}


/* ace-discovery-preferences */
.ace-discovery-watch,.ace-discovery-manager{box-sizing:border-box;min-width:0;padding:1rem;border-block:1px solid var(--shell-line,#394240);font:inherit;color:inherit}.ace-discovery-watch form{display:grid;gap:.65rem;margin-block:1rem}.ace-discovery-watch input[type=text]{box-sizing:border-box;display:block;width:100%;min-width:0;padding:.7rem;border:1px solid var(--shell-line,#68716e);border-radius:6px;background:var(--shell-card,var(--ace-surface,#fff));color:inherit}.ace-discovery-watch button,.ace-discovery-manager button{font:inherit;color:inherit;white-space:normal;text-align:start;padding:.6rem .7rem;max-width:100%;cursor:pointer}.ace-discovery-watch>button{width:100%;border:1px solid var(--shell-line,#68716e);background:transparent}.ace-discovery-watch p,.ace-discovery-manager p{font-size:.875rem;line-height:1.5;margin:.6rem 0}.ace-discovery-toggle{display:flex!important;gap:.5rem;align-items:center;font-size:.875rem}.ace-discovery-toggle input{width:1.1rem!important;height:1.1rem;flex:none;accent-color:#efb65d}.ace-discovery-list{list-style:none;padding:0;margin:.8rem 0}.ace-discovery-saved{border-block-end:1px solid var(--shell-line,#68716e);padding:.9rem 0;overflow-wrap:anywhere}.ace-discovery-saved-title{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.ace-discovery-saved-title>a{font-weight:650}.ace-discovery-saved-title>span{font-size:.75rem;opacity:.7}.ace-discovery-channels{display:flex;flex-wrap:wrap;gap:.6rem;margin:.6rem 0}.ace-discovery-remove{background:transparent;border:0;text-decoration:underline;font-size:.8rem!important;padding:.3rem 0!important}.ace-discovery-summary{opacity:.75}.ace-discovery-watch summary{cursor:pointer;padding-block:.7rem}.ace-discovery-watch a,.ace-discovery-manager a{color:inherit;text-decoration:underline}.ace-discovery-watch button:focus-visible,.ace-discovery-watch input:focus-visible,.ace-discovery-manager a:focus-visible{outline:2px solid #efb65d;outline-offset:3px}


/* ace-section-blocks */
/* Grouped open-data blocks on section and area pages. Tokens come from the theme shell
   (--ace-* map to --shell-* in both themes); the fallbacks are the dark palette. */
.ace-blocks{--ab-line:var(--ace-line,rgba(255,255,255,.12));--ab-surface:var(--ace-surface,#1b211f);--ab-surface-2:var(--ace-surface-2,#222a27);--ab-muted:var(--ace-muted,#b9b0a0);--ab-accent:var(--ace-orange-2,#efb665);--ab-gap:clamp(.9rem,1.8vw,1.25rem);color:var(--ace-ink,#f5f2ea);margin:clamp(2rem,4vw,3rem) 0 0;min-width:0;max-width:100%}
.ace-blocks *,.ace-blocks *::before,.ace-blocks *::after{box-sizing:border-box}

/* Contents: a compact chip bar at the top of the blocks on small screens (and for
   no-JavaScript readers); wide screens carry the same list in the left rail. */
@media(min-width:761px){.ace-blocks__contents--bar{display:none}}
.ace-blocks__contents{margin:0 0 var(--ab-gap);padding:.8rem 1rem;border:1px solid var(--ab-line);border-radius:12px;background:var(--ab-surface)}
.ace-blocks__contents-title{margin:0 0 .45rem;color:var(--ab-accent);font-size:.7rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.ace-blocks__contents ol{display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none}
.ace-blocks__contents a{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .7rem;border:1px solid var(--ab-line);border-radius:999px;background:var(--ab-surface-2);color:inherit;font-size:.86rem;line-height:1.2;text-decoration:none}
.ace-blocks__contents a:hover,.ace-blocks__contents a.is-current{border-color:var(--ab-accent)}
.ace-blocks__contents a.is-current{background:color-mix(in srgb,var(--ab-accent) 12%,var(--ab-surface-2))}
.ace-blocks__contents a:focus-visible,.ace-blocks__group summary:focus-visible,.ace-blocks a:focus-visible{outline:2px solid var(--ab-accent);outline-offset:2px}
.ace-blocks__count{display:inline-block;min-width:1.5em;padding:.05rem .45rem;border-radius:999px;background:var(--ab-accent);color:#1b1610;font-size:.72rem;font-weight:700;line-height:1.5;text-align:center;vertical-align:middle}
/* The same contents as the rail's nav part, beside the section's filters. */
.ace-blocks__nav .ace-blocks__navlist,.ace-chy__filters--list .ace-chy__shoplist{margin:0;padding:0;list-style:none;display:grid;gap:1px}
.ace-blocks__nav .ace-blocks__navlist li{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin:0;padding:0;border:0;background:none}
.ace-blocks__nav .ace-blocks__navlist a{flex:1;min-width:0;display:block;padding:.45rem .55rem;border-radius:7px;color:inherit;font-size:.86rem;line-height:1.3;text-decoration:none;overflow-wrap:anywhere}
.ace-blocks__nav .ace-blocks__navlist li.is-block a,#ace-shell-filter .ace-chy__shoplist li.is-block a{padding-left:.5rem;font-size:.82rem;color:var(--ace-muted,#b9b0a0)}
/* Depth in the rail: a hairline runs down the items inside a group and a short tick joins each
   one to it, so the nesting reads at a glance without indenting the labels off the edge. */
.ace-blocks__nav .ace-blocks__navlist li.is-block,#ace-shell-filter .ace-chy__shoplist li.is-block{position:relative;padding-left:.95rem}
.ace-blocks__nav .ace-blocks__navlist li.is-block::before,#ace-shell-filter .ace-chy__shoplist li.is-block::before{content:"";position:absolute;left:.42rem;top:0;bottom:0;width:1px;background:var(--ace-line,rgba(255,255,255,.14))}
.ace-blocks__nav .ace-blocks__navlist li.is-block::after,#ace-shell-filter .ace-chy__shoplist li.is-block::after{content:"";position:absolute;left:.42rem;top:50%;width:.32rem;height:1px;background:var(--ace-line,rgba(255,255,255,.14))}
/* Close the line off at the end of a run so it does not trail past the last item. */
.ace-blocks__nav .ace-blocks__navlist li.is-block:last-child::before,#ace-shell-filter .ace-chy__shoplist li.is-block:last-child::before{bottom:50%}
.ace-blocks__nav .ace-blocks__navlist li.is-block:not(:has(+ li.is-block))::before,#ace-shell-filter .ace-chy__shoplist li.is-block:not(:has(+ li.is-block))::before{bottom:50%}
.ace-blocks__nav .ace-blocks__navlist li.is-block.is-current::before,.ace-blocks__nav .ace-blocks__navlist li.is-block,#ace-shell-filter .ace-chy__shoplist li.is-block.is-current::after,#ace-shell-filter .ace-chy__shoplist li.is-block.is-current::before,.ace-blocks__nav .ace-blocks__navlist li.is-block,#ace-shell-filter .ace-chy__shoplist li.is-block.is-current::after{background:var(--ab-accent)}
.ace-blocks__nav .ace-blocks__navlist li.is-group a,.ace-blocks__nav .ace-blocks__navlist li.is-section a,.ace-blocks__nav .ace-blocks__navlist li.is-title a{font-weight:700}
.ace-blocks__nav .ace-blocks__navlist li.is-group{margin-top:.35rem}
.ace-blocks__nav .ace-blocks__navlist li.is-group:first-child{margin-top:0}
.ace-blocks__nav .ace-blocks__navlist li>span{flex:0 0 auto;min-width:1.5em;padding:.05rem .45rem;border:1px solid var(--ace-line,rgba(255,255,255,.14));border-radius:999px;color:var(--ace-ink,#b9b0a0);font-size:.72rem;line-height:1.5;text-align:center}
.ace-blocks__nav .ace-blocks__navlist a:hover,.ace-chy__filters--list .ace-chy__shoplist a[href^="#"]:hover{background:color-mix(in srgb,var(--ace-orange-2,#efb665) 10%,transparent)}
.ace-blocks__nav .ace-blocks__navlist a.is-current,.ace-chy__filters--list .ace-chy__shoplist a[href^="#"].is-current{color:var(--ace-orange-2,#efb665);background:color-mix(in srgb,var(--ace-orange-2,#efb665) 12%,transparent)}
.ace-blocks__nav .ace-blocks__navlist li.is-block a.is-current,#ace-shell-filter .ace-chy__shoplist li.is-block a.is-current{color:var(--ace-orange-2,#efb665)}
.ace-blocks__navfind{display:block;margin:0 0 .5rem}
.ace-blocks__navfind input{width:100%;min-width:0;padding:.5rem .6rem;border:1px solid var(--ace-line,rgba(255,255,255,.14));border-radius:8px;background:var(--ace-bg,transparent);color:inherit;font-size:.86rem}
.ace-blocks__navempty{margin:.4rem .55rem 0;color:var(--ace-muted,#b9b0a0);font-size:.82rem}
/* A section without filters: the rail is the contents list itself, searchable. */
.ace-chy__filters--list .ace-chy__shoplist li:has(>a[href^="#"]){display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
.ace-chy__filters--list .ace-chy__shoplist a[href^="#"]{flex:1;min-width:0;display:block;padding:.45rem .55rem;border-radius:7px;color:inherit;font-size:.86rem;line-height:1.3;text-decoration:none;overflow-wrap:anywhere}
.ace-chy__filters--list .ace-chy__shoplist a[href^="#"]{font-weight:400}
.ace-chy__filters--list .ace-chy__shoplist a[href^="#ace-group-"]{font-weight:700}
.ace-chy__filters--list .ace-chy__shoplist a[href^="#"]:hover{color:inherit}
.ace-chy__filters--list .ace-chy__shoplist li:has(>a[href^="#ace-group-"]){margin-top:.35rem}
.ace-chy__filters--list .ace-chy__shoplist li:has(>a[href^="#"])>span{flex:0 0 auto;padding:.05rem .45rem;border:1px solid var(--ace-line,rgba(255,255,255,.14));border-radius:999px;color:var(--ace-muted,#b9b0a0);font-size:.72rem;line-height:1.5}

/* Groups arrive closed; wide screens paint them open before the script runs. */
@media(min-width:761px){
  .ace-blocks:not(.is-js) .ace-blocks__group:not([open])::details-content{content-visibility:visible;display:block}
  .ace-blocks:not(.is-js) .ace-blocks__group:not([open]) summary::before{transform:translateY(-.11rem) rotate(45deg)}
}
.ace-blocks__group{margin:0 0 var(--ab-gap);border:0;border-top:1px solid var(--ab-line);padding:1.1rem 0 0;scroll-margin-top:calc(var(--ace-header-h,64px) + 1rem)}
.ace-blocks__group summary{list-style:none;cursor:pointer;display:flex;align-items:flex-start;gap:.55rem}
.ace-blocks__group summary::-webkit-details-marker{display:none}
.ace-blocks__group summary::before{content:"";flex:0 0 auto;width:.5rem;height:.5rem;margin:.55rem .2rem 0 0;border-right:2px solid var(--ab-accent);border-bottom:2px solid var(--ab-accent);transform:translateY(-.11rem) rotate(45deg);transform-origin:50% 50%;transition:transform .15s ease}
.ace-blocks__group:not([open]) summary::before{transform:translateX(-.11rem) rotate(-45deg)}
.ace-blocks__title{margin:0;font-size:clamp(1.05rem,1.8vw,1.25rem);font-weight:800;letter-spacing:.01em;display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap}
.ace-blocks__title .ace-blocks__count{background:transparent;border:1px solid var(--ab-line);color:var(--ace-ink,#f5f2ea);opacity:.82;font-weight:600;padding:.1rem .55rem}
.ace-blocks__body{display:grid;gap:var(--ab-gap);margin-top:var(--ab-gap)}

/* Every block becomes the same card, whatever its own inline styles say. */
.ace-blocks .ace-blocks__item{min-width:0;max-width:100%}
.ace-blocks .ace-blocks__item>section,.ace-blocks .ace-blocks__item>div:not(.ace-blocks__scroll)>section{margin:0;padding:clamp(1rem,2.2vw,1.35rem);border:1px solid var(--ab-line);border-radius:14px;background:var(--ab-surface);color:inherit}
/* Neighbourhood blocks are a heading div followed by siblings: card them together. */
.ace-blocks .ace-blocks__item>.ace-csection__heading:first-child{margin:0 0 .75rem;padding:0;border:0}
.ace-blocks .ace-blocks__item:not(:has(>section)){padding:clamp(1rem,2.2vw,1.35rem);border:1px solid var(--ab-line);border-radius:14px;background:var(--ab-surface)}
.ace-blocks .ace-blocks__item>section .ace-source-panel,.ace-blocks .ace-blocks__item>div>section .ace-source-panel{margin:0;padding:0;border:0;background:transparent}
.ace-blocks .ace-blocks__item>section.ace-source-panel,.ace-blocks .ace-blocks__item>div>section.ace-source-panel{margin:0;padding:clamp(1rem,2.2vw,1.35rem);border:1px solid var(--ab-line);border-radius:14px;background:var(--ab-surface);color:inherit}
/* Blocks inherit the page's ink in both themes; a few carry the dark palette inline. */
.ace-blocks .ace-blocks__item dd,.ace-blocks .ace-blocks__item strong,.ace-blocks .ace-blocks__item [class*="__value"],.ace-blocks .ace-blocks__item [class*="__num"],.ace-blocks .ace-blocks__item [class*="__big"]{color:inherit}
.ace-blocks .ace-blocks__item>style:first-child+section{margin:0}
.ace-blocks .ace-blocks__item>section>section{margin:0}
.ace-blocks .ace-blocks__item .ace-csection__heading{margin:0 0 .75rem;padding:0;border-top:0}
.ace-blocks .ace-blocks__item .ace-csection__heading h2,.ace-blocks .ace-blocks__item>section>h2,.ace-blocks .ace-blocks__item .ace-source-panel__head h2,.ace-blocks .ace-blocks__item h2{margin:0 0 .55rem;font-size:clamp(1.1rem,2vw,1.35rem);line-height:1.25;text-wrap:balance}
.ace-blocks .ace-blocks__item h3{margin:1rem 0 .4rem;font-size:1rem;line-height:1.3}
.ace-blocks .ace-blocks__item .ace-source-panel__head{margin-bottom:.75rem}
.ace-blocks .ace-blocks__item .ace-source-panel__eyebrow,.ace-blocks .ace-blocks__item .ace-life__eyebrow{margin:0 0 .3rem;color:var(--ab-accent);font-size:.68rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.ace-blocks .ace-blocks__item p{margin:.35rem 0 0;line-height:1.55}
.ace-blocks .ace-blocks__item ul,.ace-blocks .ace-blocks__item ol{margin:.5rem 0 0}
.ace-blocks .ace-blocks__item img{max-width:100%;height:auto}
.ace-blocks .ace-blocks__item a{color:var(--ab-accent);text-underline-offset:.15em}
.ace-blocks .ace-blocks__item h2 a,.ace-blocks .ace-blocks__item h3 a{color:inherit;text-decoration:none}
.ace-blocks .ace-blocks__item h2 a:hover,.ace-blocks .ace-blocks__item h3 a:hover{text-decoration:underline}
@media(hover:none){}

/* One muted credit style for every source line. */
.ace-blocks .ace-blocks__item [class*="__credit"],.ace-blocks .ace-blocks__item .ace-source-panel__credit,.ace-blocks .ace-blocks__item>section>p.ace-csection-card__meta:last-child,.ace-blocks .ace-blocks__item>section>p[class*="__meta"]:last-child,.ace-blocks .ace-blocks__item>p.ace-csection-card__meta:last-child,.ace-blocks .ace-blocks__item>section>p:last-child:not([class]){margin-top:1rem;padding-top:.7rem;border-top:1px dashed var(--ab-line);color:var(--ab-muted);font-size:.8rem;line-height:1.5;opacity:1}
.ace-blocks .ace-blocks__item [class*="__credit"] a,.ace-blocks .ace-blocks__item .ace-source-panel__credit a,.ace-blocks .ace-blocks__item>section>p.ace-csection-card__meta:last-child a{color:inherit;text-decoration:underline}

/* Tables and charts fill their block; wide ones scroll inside it. */
.ace-blocks__scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:.6rem 0 0}
.ace-blocks .ace-blocks__item table{width:100%;min-width:0;border-collapse:collapse;font-size:.9rem}
.ace-blocks .ace-blocks__item th,.ace-blocks .ace-blocks__item td{padding:.45rem .6rem;border-bottom:1px solid var(--ab-line);text-align:left;vertical-align:top}
.ace-blocks .ace-blocks__item th{color:var(--ab-muted);font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.ace-blocks .ace-blocks__item td[align=right],.ace-blocks .ace-blocks__item th[align=right]{text-align:right}
.ace-blocks__charts{display:grid;gap:var(--ab-gap);min-width:0}
.ace-blocks .ace-chart,.ace-blocks .ace-section-charts .ace-chart{max-width:100%;margin:0;padding:clamp(1rem,2.2vw,1.35rem);border:1px solid var(--ab-line);border-radius:14px;background:var(--ab-surface)}
.ace-blocks .ace-chart__scroll{max-width:100%;overflow-x:auto}
.ace-blocks .ace-chart__svg{display:block;width:100%;height:auto;max-width:100%}
.ace-blocks .ace-blocks__item .ace-chart{border:0;padding:0;background:transparent}
.ace-blocks pre,.ace-blocks code{max-width:100%;overflow-x:auto;overflow-wrap:anywhere}
.ace-blocks .ace-blocks__item [class*="__grid"],.ace-blocks .ace-blocks__item [class*="__cards"]{min-width:0}

/* Deferred charts and tables: a quiet placeholder that keeps its height. */
.ace-blocks__lazy{display:grid;place-items:center;min-height:9rem;padding:1.2rem;border:1px dashed var(--ab-line);border-radius:14px;color:var(--ab-muted);text-align:center;background:color-mix(in srgb,var(--ab-surface) 60%,transparent)}
.ace-blocks__lazy p{margin:0}
.ace-blocks__lazy a{color:var(--ab-accent)}
/* This is a control people click, so it takes readable ink rather than the muted
   token, which sits just under AA on the light ground. */
.ace-blocks.is-js .ace-blocks__lazy:not(.is-failed) a{color:var(--ace-ink,#f5f2ea);opacity:.92;text-decoration:none;pointer-events:auto}
.ace-blocks__lazy[aria-busy=true]{background-image:linear-gradient(90deg,transparent 0,color-mix(in srgb,var(--ab-accent) 12%,transparent) 50%,transparent 100%);background-size:200% 100%;animation:ace-blocks-shimmer 1.2s linear infinite}
.ace-blocks__lazy.is-failed a::after{content:" (try again)"}
@keyframes ace-blocks-shimmer{from{background-position:200% 0}to{background-position:-200% 0}}
@media(prefers-reduced-motion:reduce){.ace-blocks__lazy[aria-busy=true]{animation:none}}
.ace-blocks__more{margin:.8rem 0 0!important;padding-top:.6rem;border-top:1px solid var(--ab-line)}
.ace-blocks__more a{font-weight:700}
.ace-blocks__item.is-truncated>section{position:relative}

/* Small screens: groups fold to their summary, nothing may overflow sideways. */
@media(max-width:760px){
  .ace-blocks{--ab-gap:.85rem}
  .ace-blocks__group{padding-top:.85rem}
  .ace-blocks__group summary{padding:.2rem 0;min-height:44px}
  .ace-blocks .ace-blocks__item>section,.ace-blocks .ace-blocks__item:not(:has(>section)),.ace-blocks .ace-chart{padding:.9rem;border-radius:12px}
  .ace-blocks .ace-blocks__item [class*="__grid"],.ace-blocks .ace-blocks__item [class*="__occ"]{columns:1!important;grid-template-columns:1fr!important}
  .ace-blocks .ace-blocks__item [class*="__cards"]{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))!important}
  .ace-blocks .ace-source-panel__metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .ace-blocks .ace-blocks__item table{font-size:.84rem}
  .ace-blocks__contents{padding:.7rem .8rem}
  .ace-blocks__contents ol{flex-wrap:nowrap;overflow-x:auto;padding-bottom:.2rem;scrollbar-width:thin}
  .ace-blocks__contents a{white-space:nowrap}
}

/* The accent reads well on the dark ground but not on cream, so the light theme gets a deeper tone.
   Status colours are not handled here any more: connectors mark status with the shared .ace-stat
   classes in ace-data-blocks.css, which carry their own light palette. */
[data-ace-theme=light] .ace-blocks .ace-csection-card__kind:not(.ace-stat),[data-ace-theme=light] .ace-blocks .ace-blocks__contents-title{color:#6b3c19}

/* Landing on an anchor: a brief ring so the reader sees where they arrived, then it fades. */
.ace-blocks .is-anchor-flash{border-radius:12px;box-shadow:0 0 0 2px var(--ab-accent);transition:box-shadow .5s ease .9s}
@media (prefers-reduced-motion: reduce){.ace-blocks .is-anchor-flash{transition:none}}

/* The heading is the link. The copy control sits beside it and only shows on hover or focus,
   so a heading reads as a heading until the reader wants the link to it. */
.ace-blocks h2:has(.ace-blocks__anchor){display:flex;align-items:baseline;gap:.4rem}
.ace-blocks .ace-blocks__anchor{color:inherit;text-decoration:none}
.ace-blocks .ace-blocks__anchor:hover,.ace-blocks .ace-blocks__anchor:focus-visible{text-decoration:underline;text-underline-offset:.18em}
.ace-blocks .ace-blocks__copy{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:1.7rem;height:1.7rem;padding:0;border:0;border-radius:8px;background:none;color:var(--ab-muted);cursor:pointer;opacity:0;transform:translateY(1px)}
.ace-blocks h2:hover .ace-blocks__copy,.ace-blocks .ace-blocks__copy:focus-visible,.ace-blocks .ace-blocks__copy.is-done{opacity:1}
.ace-blocks .ace-blocks__copy:hover{color:var(--ab-accent);background:var(--ab-surface-2)}
.ace-blocks .ace-blocks__copy.is-done{color:var(--ab-accent)}
@media (prefers-reduced-motion: no-preference){.ace-blocks .ace-blocks__copy{transition:opacity .16s ease,color .16s ease,background .16s ease}}
@media (hover: none){.ace-blocks .ace-blocks__copy{opacity:.55}}

/* Folding the rail's contents group. The filter groups get this from the rail styles;
   the contents list is placed outside them, so it needs the same look here. Any group
   the component leaves without a button folds from its heading instead. */
#ace-shell-filter .ace-blocks__nav .alm__fold,#ace-shell-filter .alm__group>h3.is-foldhead{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;min-height:24px;margin:0 0 .55rem;padding:0;border:0;border-radius:6px;background:none;color:inherit;font:inherit;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;text-align:left;cursor:pointer;transition:color .12s ease}
#ace-shell-filter .ace-blocks__nav .alm__fold:hover,#ace-shell-filter .alm__group>h3.is-foldhead:hover{color:var(--rail-accent,var(--ab-accent))}
#ace-shell-filter .alm__group.is-folded>.alm__fold,#ace-shell-filter .alm__group.is-folded>h3.is-foldhead,#ace-shell-filter .alm__group.is-folded>h3>.alm__fold{margin-bottom:0}
#ace-shell-filter .ace-blocks__nav .alm__fold::after,#ace-shell-filter .alm__group>h3.is-foldhead::after{content:"";flex:none;width:.42rem;height:.42rem;margin-right:.1rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .22s ease,opacity .12s linear;opacity:.7}
#ace-shell-filter .ace-blocks__nav .alm__fold:hover::after,#ace-shell-filter .alm__group>h3.is-foldhead:hover::after{opacity:1}
#ace-shell-filter .is-folded .alm__fold::after,#ace-shell-filter .alm__group.is-folded>h3.is-foldhead::after{transform:translateY(1px) rotate(-45deg)}
#ace-shell-filter .ace-blocks__nav h3{margin:0}
#ace-shell-filter .ace-blocks__nav .alm__foldwrap{display:grid;grid-template-rows:1fr;transition:grid-template-rows .24s ease}
#ace-shell-filter .ace-blocks__nav.is-folded .alm__foldwrap{grid-template-rows:0fr}
#ace-shell-filter .ace-blocks__nav .alm__body{min-height:0;overflow:hidden;opacity:1;transition:opacity .18s ease}
#ace-shell-filter .ace-blocks__nav.is-folded .alm__body{opacity:0;transition-duration:.12s}
/* A group folded from its heading has no animating wrapper, so its body simply goes. */
#ace-shell-filter .alm__group.is-folded>h3.is-foldhead~*{display:none}

/* A section's sub-routes sit above its search, because they change what the
   search is searching rather than narrowing what is already there. */
#ace-shell-filter .ace-chy__viewtabs--routes{margin:0 0 .75rem}

/* Find on this page. The match is marked where it sits, the one you are on is
   the loud one, and the rail lists them with enough sentence to choose by. */
/* The accent is a light orange in the dark theme and a dark brown in the light one,
   so the ink on top of it has to flip as well. A fixed dark ink read at 2.99:1 on
   the light theme, which is a highlight you cannot read. */
mark.ace-find{background:color-mix(in srgb,var(--ab-accent) 28%,transparent);color:inherit;border-radius:3px;padding:0 .08em;box-decoration-break:clone}
mark.ace-find.is-current{background:var(--ab-accent);color:var(--ab-accent-ink,#1b1610);box-shadow:0 0 0 2px color-mix(in srgb,var(--ab-accent) 45%,transparent)}
@media(prefers-reduced-motion:no-preference){mark.ace-find.is-current{transition:background .18s ease}}
#ace-shell-filter .ace-blocks__findnav{display:flex;align-items:center;justify-content:space-between;gap:.4rem;margin:0 0 .5rem}
#ace-shell-filter .ace-blocks__findat{font-size:.74rem;font-variant-numeric:tabular-nums;color:var(--ace-muted,#b9b0a0)}
#ace-shell-filter .ace-blocks__findlist{margin:0;padding:0;list-style:none;display:grid;gap:.2rem}
#ace-shell-filter .ace-blocks__findrow{display:block;width:100%;text-align:left;padding:.45rem .55rem;border:0;border-radius:7px;background:none;color:inherit;font:inherit;cursor:pointer}
#ace-shell-filter .ace-blocks__findrow:hover{background:color-mix(in srgb,var(--ab-accent) 10%,transparent)}
#ace-shell-filter .ace-blocks__findrow.is-current{background:color-mix(in srgb,var(--ab-accent) 18%,transparent)}
#ace-shell-filter .ace-blocks__findtext{display:block;font-size:.82rem;line-height:1.35;overflow-wrap:anywhere}
#ace-shell-filter .ace-blocks__findwhere{display:block;margin-top:.12rem;font-size:.7rem;letter-spacing:.03em;text-transform:uppercase;color:var(--ace-muted,#b9b0a0)}

/* Ink that sits on the accent. Dark by default, because the accent is light in the
   dark theme, and white where the accent itself is dark. */
.ace-blocks,#ace-shell-filter{--ab-accent-ink:#1b1610}
[data-ace-theme=light] .ace-blocks,[data-ace-theme=light] #ace-shell-filter,
body[data-ace-theme=light] .ace-blocks,body[data-ace-theme=light] #ace-shell-filter{--ab-accent-ink:#ffffff}

/* Anything that can be arrived at by anchor keeps clear of the sticky ticker.
   The offset is published by the script from the strip's real height, because the
   strip is not on every route and collapses to a sliver as you scroll; the fallback
   is its resting height plus the same padding. */
:where(.ace-shell__main) :is(h1,h2,h3,h4,[id]):target,
.ace-blocks__group,.ace-blocks__item,
.ace-chy__head,.ace-csection,
[data-ace-anchor]{
	scroll-margin-top:var(--ace-anchor-offset,70px);
}

/* The contents, for a rail that is shut.
   Forty pixels of width has no room for a heading, but it has room to say how many
   sections a page has, which one you are in, and roughly how far through you are.
   Drawn as an outline: a section is a notch with weight of its own, and everything
   under it hangs off its stem on an L. Where a heading opens with a year - which is
   what a timeline is made of - that year is shown, because four digits is the most
   useful thing that fits. It all sits under the search, where the contents sit when
   the rail is open. */
.ace-blocks__ticks{display:none}
.ace-shell[data-filter-closed="true"] #ace-shell-filter .ace-blocks__ticks{
	/* The rows take the whole width of the closed rail: half a column of marks reads
	   as something unfinished, and a wider row is a bigger thing to aim at. And the
	   list scrolls inside the rail, because a long page has more contents than a
	   column has height and the rest of them were simply unreachable. */
	display:flex;flex-direction:column;align-items:stretch;gap:7px;
	padding:16px 12px 14px 12px;
	flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;
	scrollbar-width:thin;scrollbar-color:var(--ab-line,rgba(255,255,255,.22)) transparent;
}
.ace-shell[data-filter-closed="true"] #ace-shell-filter .ace-blocks__ticks::-webkit-scrollbar{width:6px}
.ace-shell[data-filter-closed="true"] #ace-shell-filter .ace-blocks__ticks::-webkit-scrollbar-thumb{
	background:var(--ab-line,rgba(255,255,255,.22));border-radius:3px;
}
/* The rail itself becomes the column the list scrolls inside. */
/* Only a rail with something in it. Every content route prints this aside empty
   and the theme hides it; forcing it to display on those routes put an empty
   column where the page should be and pushed the page itself into the account
   rail's column, for anyone who had ever collapsed the filter rail. */
.ace-shell[data-filter-closed="true"] #ace-shell-filter:not(:empty){
	/* Visible, not hidden: the closed rail's search row is wider than the rail on
	   purpose and leans out across the context strip, and hiding the overflow here
	   cut it off at the rail's own edge. The scrolling belongs to the list of marks,
	   which asks for it itself. */
	display:flex;flex-direction:column;min-height:0;overflow:visible;
}
.ace-blocks__tick{
	position:relative;display:flex;align-items:center;gap:5px;
	text-decoration:none;
	border-radius:2px;
	background:var(--ab-line,rgba(255,255,255,.24));
	transition:width .16s ease,height .16s ease,background .16s ease,opacity .16s ease,color .16s ease;
}
/* A plain mark still reads as a mark: the row is full width so it can be aimed at,
   and the bar inside it is drawn to the length that says what level this is. */
.ace-blocks__tick.is-section{min-height:8px;background:none}
.ace-blocks__tick.is-section::marker{content:none}
.ace-blocks__tick.is-section .ace-blocks__bar{flex:1 1 auto;width:auto;height:1px;border-radius:0}
/* A child sits in from the left on its bracket and stops short of the right, which
   is what says it is a child. It still runs most of the column: a twelve pixel dash
   in an eighty pixel rail reads as a rail half built rather than as a hierarchy. */
.ace-blocks__tick.is-block{min-height:6px;margin-left:8px;background:none;opacity:.8}
.ace-blocks__tick.is-block .ace-blocks__bar{flex:1 1 auto;width:auto;height:1px;border-radius:0}
/* The rule has to be seen to be doing the job of showing the width, so it is drawn
   from the ink colour rather than from the faintest line colour on the page. */
/* One weight of line for everything: the hierarchy is said by where a line starts
   and by the bracket it hangs off, not by how fat it is. */
.ace-blocks__bar{display:block;background:var(--ab-line,rgba(255,255,255,.22))}
.ace-blocks__tick.is-section .ace-blocks__bar{background:color-mix(in srgb,var(--ab-ink,#e8e4da) 30%,transparent)}
.ace-blocks__tick.is-current .ace-blocks__bar{background:var(--ab-accent,#f0b65e)}
.ace-blocks__tick.is-current .ace-blocks__bar{height:2px}

/* An icon stands in for anything that is not a date.
   The shell forces its own family onto every span inside it, which turns an icon
   into a blank box, so these have to ask for the icon font by name - exactly as the
   shell's own navigation icons already do. */
.ace-blocks__markicon.fa-solid,.ace-chy__viewicon.fa-solid{
	/* The shell ships its own subset of the icon font under its own name, and Font
	   Awesome's stylesheet is deferred on these pages, so asking for "Font Awesome 6
	   Free" gets a blank box. This is the family the shell's own navigation uses. */
	font-family:'Ace Workspace Icons','Font Awesome 6 Free'!important;
	font-weight:900!important;font-style:normal;
}

.ace-blocks__markicon{font-size:12px;line-height:1;color:var(--ab-muted,#9aa4a2)}
.ace-blocks__tick.is-section .ace-blocks__markicon{font-size:14px;color:var(--ab-ink,#e8e4da)}
.ace-blocks__tick.is-current .ace-blocks__markicon{color:var(--ab-accent,#f0b65e)}
.ace-blocks__tick.has-icon{background:none;height:auto;width:auto;min-height:12px}

/* A year rides beside its notch rather than inside it, so the notch keeps its shape
   and the digits stay legible at nine pixels. */
.ace-blocks__tick.has-stamp{background:none;height:auto;width:auto;min-height:12px}
.ace-blocks__tick.has-stamp::before,.ace-blocks__tick.has-stamp::after{opacity:.55}
/* The digits take the width they are given. A rail this narrow has room for four
   numerals at a readable size, and a year set at nine pixels in the corner of an
   eighty pixel column is a waste of the column. */
/* The year leads the row and the rule runs out behind it to the edge of the rail:
   with the rule first, the digits were pushed into the last thirty pixels of the
   column and the whole list read as a narrow strip of numbers. */
/* A dated row is the year, then its rule running out to the edge of the rail.
   The right of the column was empty while the years sat on their own in the left
   third, and an index reads far better as a set of lines of differing weight than
   as a list of numbers against a void. */
.ace-blocks__tick.has-stamp,.ace-blocks__tick.has-icon{align-items:center;gap:7px}
/* The rule is the left of the row and the year or the icon is the right of it, and
   what the rule is worth is its length: an era runs the width it is given, a single
   entry runs a shorter one, so the hierarchy can be read down the lines alone
   without reading a single digit. */
.ace-blocks__tick.has-stamp .ace-blocks__stamp,
.ace-blocks__tick.has-icon .ace-blocks__markicon{margin-left:auto;text-align:right}
/* Every date ends on the same edge, whatever level it is: a child indents on the
   left, where its bracket is, and never on the right. */
.ace-blocks__tick.is-block{margin-right:0}
/* The rule is written after the year in the markup, where a screen reader wants it;
   on screen it belongs first. */
.ace-blocks__bar{order:-1}
.ace-blocks__stamp{
	flex:0 0 auto;
	font:600 13px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;
	/* No trailing letter-space: it is added after the last numeral as well, and at two
	   different sizes that put the eras and their entries on two different right
	   edges. Tabular figures so the columns of digits line up as well. */
	letter-spacing:0;font-variant-numeric:tabular-nums;color:var(--ab-muted,#9aa4a2);
	white-space:nowrap;
}
.ace-blocks__tick.is-section.has-stamp .ace-blocks__stamp{
	font-size:15px;font-weight:700;color:var(--ab-ink,#e8e4da);
}
.ace-blocks__tick.has-stamp.is-current .ace-blocks__stamp{color:var(--ab-accent,#f0b65e)}

/* The bracket is drawn rather than typed, so it lines up whatever the row height
   works out to be, and the run carries down the left so consecutive children read as
   one group rather than a column of separate corners. */
.ace-blocks__tick.is-block::before{
	content:"";position:absolute;right:100%;top:-7px;bottom:0;width:7px;
	border-left:2px solid var(--ab-line,rgba(255,255,255,.18));
	border-bottom:2px solid var(--ab-line,rgba(255,255,255,.18));
	border-bottom-left-radius:4px;
}
.ace-blocks__tick.is-block:not(:last-child)::after{
	content:"";position:absolute;right:100%;top:0;height:calc(100% + 9px);width:2px;
	margin-right:5px;background:var(--ab-line,rgba(255,255,255,.18));
}
.ace-blocks__tick.is-block + .ace-blocks__tick.is-section{margin-top:12px}

.ace-blocks__tick{background:none}
.ace-blocks__tick:hover .ace-blocks__bar,.ace-blocks__tick:focus-visible .ace-blocks__bar{background:var(--ab-accent,#f0b65e)}
.ace-blocks__tick:hover .ace-blocks__markicon,.ace-blocks__tick:focus-visible .ace-blocks__markicon{color:var(--ab-accent,#f0b65e)}
.ace-blocks__tick:hover,.ace-blocks__tick:focus-visible{opacity:1}
.ace-blocks__tick.has-stamp:hover .ace-blocks__stamp,
.ace-blocks__tick.has-stamp:focus-visible .ace-blocks__stamp{color:var(--ab-accent,#f0b65e)}
/* Where you are, grown rather than merely coloured: it has to be findable at a
   glance from the other side of the screen. */
.ace-blocks__tick.is-current{opacity:1}
.ace-blocks__tick:focus-visible{outline:2px solid var(--ab-accent,#f0b65e);outline-offset:3px}
@media (prefers-reduced-motion:reduce){.ace-blocks__tick{transition:none}}

/* The section's own routes, stacked, when the rail is shut: the icon is all there is
   room for, and it is the only thing in there you can still navigate with. */
.ace-chy__viewicon{display:inline-block;margin-right:.4rem;opacity:.85}
.ace-shell[data-filter-closed="true"] #ace-shell-filter .ace-chy__viewtabs--routes{
	/* nowrap matters as much as the direction: the group wraps by default, and a
	   wrapping column turns into a second column the moment the height is constrained,
	   which is how the second route ended up beside the first rather than under it. */
	flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:6px;
	/* and let it grow to whatever the stack needs: the open state gives this a single
	   row's height, which the second route then painted straight over. */
	height:auto;min-height:0;max-height:none;
	padding:10px 8px 4px;border:0;background:none;
}
.ace-shell[data-filter-closed="true"] #ace-shell-filter .ace-chy__viewtabs--routes .ace-chy__viewtab{
	display:grid;place-items:center;width:100%;min-height:36px;padding:0;border-radius:10px;
}
.ace-shell[data-filter-closed="true"] #ace-shell-filter .ace-chy__viewtabs--routes .ace-chy__viewword{display:none}
.ace-shell[data-filter-closed="true"] #ace-shell-filter .ace-chy__viewicon{display:inline-block;font-size:15px}

/* Where you are: the line goes accent and ends in a dot, so the row reads as a
   position on a dial rather than merely as brighter text. */
.ace-blocks__tick.is-current .ace-blocks__stamp{color:var(--ab-accent,#f0b65e)}
.ace-blocks__tick.is-current .ace-blocks__bar{position:relative;overflow:visible}
.ace-blocks__tick.is-current .ace-blocks__bar::after{
	content:"";position:absolute;right:-1px;top:50%;
	width:5px;height:5px;margin-top:-2.5px;border-radius:50%;
	background:var(--ab-accent,#f0b65e);
}
/* An era is given air above it so the eye can find the groups without a heading. */
.ace-blocks__tick.is-section{margin-top:6px}
.ace-blocks__ticks>.ace-blocks__tick.is-section:first-child{margin-top:0}
/* Hover reads as the row coming forward, which is the same language as the wheel. */
.ace-blocks__tick:hover .ace-blocks__stamp,
.ace-blocks__tick:focus-visible .ace-blocks__stamp{color:var(--ab-ink,#e8e4da)}

/* The wheel. Rows away from where you are turn out of the light: a little smaller,
   a little softer, a little further back, so the rail reads as something coming
   round past the reader rather than as a flat list. The distance is published by
   the script as --away; nothing here needs to know how it was worked out. */
.ace-blocks__tick{
	transform-origin:center center;
	transform:scale(calc(1 - var(--away,0) * .022));
	filter:blur(calc(var(--away,0) * .22px));
	opacity:calc(1 - var(--away,0) * .075);
	transition:transform .28s ease,filter .28s ease,opacity .28s ease;
}
.ace-blocks__tick.is-current{transform:scale(1.1);filter:none;opacity:1}
.ace-blocks__tick:hover,.ace-blocks__tick:focus-visible{filter:none;opacity:1}
@media (prefers-reduced-motion:reduce){
	.ace-blocks__tick{transform:none;filter:none;opacity:1;transition:none}
	.ace-blocks__tick.is-current{transform:none}
}

/* The plain rail ("marks"), the default for any page that is not a timeline.
   A column of short, evenly spaced marks, the way an editor's minimap or a chat app's
   inline sidebar does it: a section mark is longer, a child mark shorter and set in,
   and the one you are at is the accent with a soft track behind it. The label is not
   drawn until you point at a mark, when it slides out beside it; nothing scales,
   blurs or turns. The dated "wheel" rail keeps all of that for timelines. */
/* Every mark fits without scrolling: the rows share the rail's height and shrink
   together on a long page, down to a floor you can still aim at. */
.ace-blocks__ticks.is-marks{gap:0;padding:14px 0 14px 0;align-items:stretch;justify-content:flex-start;overflow:visible}
.ace-blocks__ticks.is-marks .ace-blocks__tick{
	display:flex;align-items:center;justify-content:flex-start;
	flex:0 1 22px;min-height:9px;height:22px;margin:0;padding:0 0 0 22px;
	background:none;opacity:1;transform:none;filter:none;transition:none;border-radius:0;
}
.ace-blocks__ticks.is-marks .ace-blocks__tick::before,.ace-blocks__ticks.is-marks .ace-blocks__tick::after{content:none}
.ace-blocks__ticks.is-marks .ace-blocks__bar{
	flex:none;height:2px;border-radius:2px;
	width:18px;background:color-mix(in srgb,var(--ab-ink,#e8e4da) 34%,transparent);
	transition:width .16s ease,background .16s ease;
}
.ace-blocks__ticks.is-marks .ace-blocks__tick.is-block{margin-left:0;padding-left:30px}
.ace-blocks__ticks.is-marks .ace-blocks__tick.is-block .ace-blocks__bar{width:10px;background:color-mix(in srgb,var(--ab-ink,#e8e4da) 22%,transparent)}
.ace-blocks__ticks.is-marks .ace-blocks__tick.is-current .ace-blocks__bar,
.ace-blocks__ticks.is-marks .ace-blocks__tick:hover .ace-blocks__bar,
.ace-blocks__ticks.is-marks .ace-blocks__tick:focus-visible .ace-blocks__bar{background:var(--ab-accent,#f0b65e)}
.ace-blocks__ticks.is-marks .ace-blocks__tick.is-current .ace-blocks__bar{width:26px}
.ace-blocks__ticks.is-marks .ace-blocks__tick.is-block.is-current .ace-blocks__bar{width:16px}
/* A soft track marks the current row so it can be found from across the screen. */
.ace-blocks__ticks.is-marks .ace-blocks__tick.is-current{background:color-mix(in srgb,var(--ab-accent,#f0b65e) 10%,transparent)}
/* The label: hidden until pointed at, then slides out beside the mark over the page. */
.ace-blocks__ticks.is-marks .ace-blocks__label{
	position:absolute;left:calc(100% + 6px);top:50%;translate:-6px -50%;z-index:30;
	max-width:260px;padding:5px 9px;border:1px solid var(--shell-line,rgba(255,255,255,.14));border-radius:8px;
	background:var(--shell-panel,var(--ab-surface,#1b211f));color:var(--ab-ink,#e8e4da);
	font:600 12px/1.3 inherit;font-family:inherit;white-space:nowrap;
	opacity:0;pointer-events:none;transition:opacity .12s ease,translate .12s ease;
	box-shadow:0 8px 24px rgba(0,0,0,.28);
}
.ace-blocks__ticks.is-marks .ace-blocks__tick.is-block .ace-blocks__label{font-weight:500}
.ace-blocks__ticks.is-marks .ace-blocks__tick:hover .ace-blocks__label,
.ace-blocks__ticks.is-marks .ace-blocks__tick:focus-visible .ace-blocks__label{opacity:1;translate:0 -50%}
.ace-blocks__ticks.is-marks .ace-blocks__tick:focus-visible{outline:none}
.ace-blocks__ticks.is-marks .ace-blocks__tick:focus-visible .ace-blocks__bar{outline:2px solid var(--ab-accent,#f0b65e);outline-offset:3px}
/* A section starts a group: a touch of air above it, unless it is first. */
.ace-blocks__ticks.is-marks .ace-blocks__tick.is-section{margin-top:6px}
.ace-blocks__ticks.is-marks>.ace-blocks__tick.is-section:first-child{margin-top:0}
/* The rail itself must not clip the label. */
.ace-shell[data-filter-closed="true"] #ace-shell-filter .ace-blocks__ticks.is-marks{overflow:visible}
@media (prefers-reduced-motion:reduce){.ace-blocks__ticks.is-marks .ace-blocks__bar,.ace-blocks__ticks.is-marks .ace-blocks__label{transition:none}}


/* ace-indoor-webgl */
.ace-indoor-3d__controls{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--shell-line, var(--ace-line, #35403f))}.ace-indoor-3d__status{margin:0;color:var(--shell-muted, var(--ace-muted, #a7b1ad));font-size:12px}.ace-indoor-3d__stage{position:relative;min-height:320px;background:var(--shell-bg, var(--ace-bg, #14191b));overflow:hidden}.ace-indoor-3d__stage canvas{display:block;width:100%;height:100%;min-height:320px;touch-action:none}.ace-indoor-3d__places{position:absolute;left:12px;bottom:12px;display:flex;flex-wrap:wrap;gap:6px;max-width:calc(100% - 24px);margin:0;padding:0;list-style:none}.ace-indoor-3d__places button{padding:6px 9px;font-size:11px;background:var(--shell-panel, var(--ace-surface, #1c2224))}.ace-indoor-3d__places button[aria-pressed=true]{border-color:var(--shell-accent, var(--ace-orange, #efb665));color:var(--shell-accent, var(--ace-orange, #efb665))}.ace-indoor-3d__fallback{padding:18px;color:var(--shell-muted, var(--ace-muted, #a7b1ad))}@media(prefers-reduced-motion: reduce){.ace-indoor-3d__stage *{scroll-behavior:auto !important;transition:none !important;animation:none !important}}


