/* Theme surfaces preserve the original colours of Instagram artwork. */
:root{--surface:#fff;--soft:#f3f6f3;--strong:#10584f;--on-accent:#fff;--notice:#fff5dc}
.theme-toggle{flex-shrink:0}.theme-toggle[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}
header{gap:18px}header nav{gap:19px;font-size:13px}header nav a{white-space:nowrap}.saved-link{padding:9px 12px;font-size:12px}
.calendar-frequency{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 22px;justify-content:flex-start}
.calendar-frequency button{padding:10px 18px;min-height:44px}.calendar-frequency button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.pricing-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:10px 0 20px}.pricing-card{padding:28px;border:1px solid var(--line);border-radius:20px;background:var(--surface);display:flex;flex-direction:column;align-items:flex-start;gap:16px}.pricing-card h2{font-size:21px;letter-spacing:-.4px}.pricing-card p{color:var(--muted);font-size:14px;margin:0;flex:1}.plan-price{font-size:34px;font-weight:600;letter-spacing:-1px}.plan-price small{font-size:13px;letter-spacing:0;color:var(--muted);font-weight:400}.pricing-note{font-size:13px;color:var(--muted);max-width:940px;margin:0 0 30px}.promotion-page .form-container{max-width:960px;margin:0 auto 45px}.promotion-page .form-container>h2{margin-bottom:15px}.promotion-page .notice{margin-bottom:25px}
.submission-request{display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px;padding:25px;border:1px solid var(--line);border-radius:18px;margin-bottom:25px;background:var(--surface)}.submission-request>img{width:100%;max-height:320px;object-fit:contain;border-radius:12px;background:var(--soft)}.submission-request h2{margin:14px 0}.submission-description{white-space:pre-wrap}.submission-facts{display:grid;grid-template-columns:150px minmax(0,1fr);gap:8px 18px;font-size:13px}.submission-facts dt{text-transform:capitalize;color:var(--muted)}.submission-facts dd{margin:0;overflow-wrap:anywhere}.submission-request .muted{font-size:12px;margin-top:16px}
html[data-theme=dark]{color-scheme:dark;--ink:#edf4f1;--muted:#adbdb8;--accent:#7cd4c3;--bg:#111b1b;--surface:#192626;--soft:#213332;--line:#344646;--sand:#1a2c2a;--strong:#a0e4d7;--on-accent:#102623;--notice:#342d1c}
[data-theme=dark] body,[data-theme=dark] header,[data-theme=dark] footer,[data-theme=dark] .card-body{background:var(--bg);color:var(--ink)}
[data-theme=dark] button,[data-theme=dark] .button,[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea,[data-theme=dark] dialog,[data-theme=dark] .search-box,[data-theme=dark] .explore-tools,[data-theme=dark] .org-card,[data-theme=dark] .form-container,[data-theme=dark] .metric,[data-theme=dark] .admin-row,[data-theme=dark] .empty,[data-theme=dark] .calendar-shell,[data-theme=dark] .day,[data-theme=dark] .poster-agenda,[data-theme=dark] .sticky-register,[data-theme=dark] .skip{background:var(--surface);color:var(--ink);border-color:var(--line)}
[data-theme=dark] .primary,[data-theme=dark] .views button.active,[data-theme=dark] .tabs button.active,[data-theme=dark] .admin-nav button.active,[data-theme=dark] .home-activity-filter button[aria-pressed=true],[data-theme=dark] .calendar-frequency button[aria-pressed=true]{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
[data-theme=dark] .primary:hover{background:var(--strong);color:var(--on-accent)}
[data-theme=dark] button:not(.primary):not([aria-pressed=true]):hover,[data-theme=dark] .button:not(.primary):hover,[data-theme=dark] .day:hover,[data-theme=dark] .poster-agenda:hover{background:var(--soft);border-color:var(--accent)}
[data-theme=dark] .plain,[data-theme=dark] .chip,[data-theme=dark] .date-row button,[data-theme=dark] .tabs button,[data-theme=dark] .admin-nav button{background:transparent;color:var(--ink)}
[data-theme=dark] .event-card.compact,[data-theme=dark] .mobile-map-sheet .compact{background:var(--surface);border-color:var(--line)}
[data-theme=dark] .compact .card-body{background:transparent}
[data-theme=dark] .poster-wrap,[data-theme=dark] .detail-poster,[data-theme=dark] .agenda-poster,[data-theme=dark] .calendar-event img{background:#0c1414;border-color:var(--line)}
[data-theme=dark] .calendar-event,[data-theme=dark] .calendar-header,[data-theme=dark] .tag,[data-theme=dark] .org-avatar,[data-theme=dark] .saved-link b,[data-theme=dark] .active-filters button,[data-theme=dark] .home-activity-filter .activity-segments,[data-theme=dark] .success-panel .success-icon,[data-theme=dark] .detail-fact .symbol,[data-theme=dark] .poster-transcript,[data-theme=dark] .admin-badge{background:var(--soft);color:var(--ink)}
[data-theme=dark] .tag.teal,[data-theme=dark] .admin-badge.published{background:#24453e;color:#b1e6d8}
[data-theme=dark] .near-section,[data-theme=dark] .cta,[data-theme=dark] .org-banner,[data-theme=dark] .trial-bar{background:var(--sand);color:var(--ink)}
[data-theme=dark] .notice,[data-theme=dark] .status-banner{background:var(--notice);color:#f0d897;border-color:#66573b}
[data-theme=dark] .day.outside{background:#142020;color:var(--muted)}[data-theme=dark] .day.selected{background:#25433d}[data-theme=dark] .day.today .day-number{background:var(--accent);color:var(--on-accent)}
[data-theme=dark] .bottom-nav{background:#111b1bf5;border-color:var(--line)}[data-theme=dark] .bottom-nav button,[data-theme=dark] .bottom-nav a{background:transparent;color:var(--muted)}[data-theme=dark] .bottom-nav .active{color:var(--accent)}
[data-theme=dark] .sheet-head,[data-theme=dark] .sheet-footer{border-color:var(--line)}[data-theme=dark] dialog::backdrop{background:#0009}
[data-theme=dark] .bookmark{background:#172624ed;color:#ecf6f1;border-color:var(--line)}[data-theme=dark] .bookmark[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}
[data-theme=dark] .frequency-badge{background:#112724ed;color:#d4f4e9}[data-theme=dark] .frequency-badge.one-off{background:#292720ed;color:#fff1d6}
[data-theme=dark] .map-wrap,[data-theme=dark] .leaflet-container{background:#142222;border-color:var(--line)}
/* Invert only base tiles: event posters, map markers and popup images stay original. */
[data-theme=dark] .leaflet-tile-pane{filter:invert(1) hue-rotate(180deg) saturate(.6) brightness(.95) contrast(.86)}
[data-theme=dark] .leaflet-popup-content-wrapper,[data-theme=dark] .leaflet-popup-tip,[data-theme=dark] .leaflet-bar a,[data-theme=dark] .leaflet-control-attribution,[data-theme=dark] .map-note,[data-theme=dark] .map-search{background:var(--surface);color:var(--ink);border-color:var(--line)}
[data-theme=dark] .leaflet-bar a:hover{background:var(--soft)}[data-theme=dark] .leaflet-control-attribution a{color:var(--accent)}[data-theme=dark] .leaflet-popup-close-button{color:var(--ink)}
[data-theme=dark] .pin{background:#317f74;color:#fff;border-color:#bdebdc}[data-theme=dark] .marker-cluster-small,[data-theme=dark] .marker-cluster-medium,[data-theme=dark] .marker-cluster-large{background:#1a594dcc}[data-theme=dark] .marker-cluster-small div,[data-theme=dark] .marker-cluster-medium div,[data-theme=dark] .marker-cluster-large div{background:#327e70;color:#fff}
[data-theme=dark] .skeletons div{background:linear-gradient(110deg,#192626,#263a37,#192626);background-size:200%}
[data-theme=dark] .form-error{color:#ffa7a7}[data-theme=dark] ::placeholder{color:#91a5a0}
@media(max-width:1150px) and (min-width:761px){header{height:auto;min-height:84px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px;gap:13px}header nav{order:5;flex-basis:100%;justify-content:center;margin:0}.theme-toggle{margin-left:auto}}
@media(max-width:760px){header{gap:8px}.theme-toggle{width:36px;height:40px;min-height:40px;padding:8px;margin-left:auto}.saved-link{margin-left:0}.pricing-grid{grid-template-columns:1fr;gap:13px}.pricing-card{padding:23px;gap:12px}.plan-price{font-size:30px}.calendar-frequency{gap:5px}.calendar-frequency button{font-size:11px;padding:10px 11px;flex:1;white-space:nowrap}.calendar-frequency button svg{display:none}.submission-request{grid-template-columns:1fr;gap:18px;padding:18px}.submission-request>img{height:230px;max-width:320px;margin:auto}.submission-facts{grid-template-columns:100px minmax(0,1fr);font-size:12px}}

.mobile-promotions{display:none}
[data-theme=dark] .card-schedule,[data-theme=dark] .card-time,[data-theme=dark] .card-place,[data-theme=dark] .card-organiser,[data-theme=dark] .detail-section p,[data-theme=dark] .detail-fact small,[data-theme=dark] .cta p,[data-theme=dark] .org-card p{color:var(--muted)}
[data-theme=dark] .card-open{background:var(--soft);color:var(--accent)}
@media(max-width:760px){.mobile-promotions{display:flex;justify-content:center;gap:10px;padding:8px 18px;border-bottom:1px solid var(--line);background:var(--bg)}.mobile-promotions a{font-size:11px;font-weight:500;min-height:32px;display:flex;align-items:center;justify-content:center;padding:5px 14px;border:1px solid var(--line);border-radius:20px;color:var(--ink)}.mobile-map-mode .explore-layout .map-wrap{inset:123px 0 70px}.home-activity-filter .activity-segments{width:100%;max-width:100%;min-width:0;flex:1 1 100%}.home-activity-filter .activity-segments button{flex:1 1 0;min-width:0;padding:9px 6px;font-size:10px}.home-activity-filter .all-count{margin-left:auto}}
@media(max-width:360px){.home-activity-filter .activity-segments .ui-icon{display:none}.calendar-frequency button{font-size:10px;padding:9px 7px}}

.card-added{display:block;font-size:11px;line-height:1.6;color:var(--muted);margin:8px 0 1px}.card-added time{font-weight:500}.recent-sort{font-size:12px;white-space:nowrap;padding:8px 13px}.recent-sort[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.sort-label{font-size:12px;color:var(--muted);white-space:nowrap}.result-bar>div{flex-wrap:wrap}.compact .card-added{font-size:10px;margin-top:5px}@media(max-width:760px){.result-bar>div{width:100%;gap:8px!important}.result-bar select{flex:1;min-width:95px}.recent-sort{font-size:11px}.sort-label{font-size:10px}.card-added{font-size:10px}.compact-list>.event-card.compact{min-height:200px}}

@media(min-width:761px) and (max-width:1100px){.pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
