/*
 * ATH Game Maps — the viewer, dressed in the active theme's tokens.
 * Every colour, radius, font and space comes from --almanac-*; the fallbacks
 * only matter on a theme without them. Dark mode follows the theme's own
 * [data-almanac-theme="dark"] switch through those tokens.
 */

.agm {
	--agm-bg: var(--almanac-bg-canvas, #fff);
	--agm-panel: var(--almanac-bg-paper, #FBF8EF);
	--agm-fg: var(--almanac-fg-primary, #1A1612);
	--agm-fg-2: var(--almanac-fg-secondary, #4a4238);
	--agm-fg-3: var(--almanac-fg-tertiary, #6f6557);
	--agm-line: var(--almanac-border, #E6DFCF);
	--agm-line-strong: var(--almanac-border-strong, #D6CDB9);
	--agm-accent: var(--almanac-yellow, #FFD700);
	--agm-accent-soft: var(--almanac-yellow-soft, #FFF4B8);
	--agm-on-accent: var(--almanac-on-yellow, #1A1612);
	--agm-tan: var(--almanac-tan-deep, #785F30);
	--agm-radius: var(--almanac-radius-md, 8px);
	--agm-radius-lg: var(--almanac-radius-lg, 12px);
	--agm-pill: var(--almanac-radius-pill, 999px);
	--agm-shadow: var(--almanac-shadow-card, 0 1px 2px rgba(0, 0, 0, .06), 0 4px 16px rgba(0, 0, 0, .06));
	--agm-shadow-lift: var(--almanac-shadow-lift, 0 8px 28px rgba(0, 0, 0, .16));
	--agm-font: var(--almanac-font-sans, Inter, system-ui, sans-serif);
	--agm-font-display: var(--almanac-font-display, Fraunces, Georgia, serif);
	--agm-ease: var(--almanac-ease, cubic-bezier(.2, .7, .2, 1));
	--agm-dur: var(--almanac-duration, 180ms);
	--agm-h: min(78vh, 860px);
	--agm-panel-w: 20rem;
	/* the reserve the map keeps for the site's sticky bottom ad; the page
	   config sets the real number, and a measured ad can raise it */
	--agm-ad: 100px;

	position: relative;
	margin: var(--almanac-space-lg, 1.5rem) auto;
	font-family: var(--agm-font);
	color: var(--agm-fg);
	/* the theme's wide measure is the widest thing its pages use */
	max-width: var(--almanac-content-wide, 82rem) !important;
	width: 100%;
}

.agm--full { --agm-h: max(560px, calc(100vh - var(--almanac-header-h, 64px) - 2rem - var(--agm-ad))); }
/* an embed is the same map, sized to sit in a page rather than fill the screen */
.agm--embed { --agm-h: max(460px, min(76vh, 780px) - var(--agm-ad)); }

.agm__stage {
	position: relative;
	display: grid;
	grid-template-columns: var(--agm-panel-w) minmax(0, 1fr);
	height: var(--agm-h);
	border: 1px solid var(--agm-line-strong);
	border-radius: var(--agm-radius-lg);
	overflow: hidden;
	background: var(--agm-panel);
	box-shadow: var(--agm-shadow);
}
.agm--embed .agm__stage { grid-template-columns: minmax(0, 1fr); }
.agm.is-fullscreen .agm__stage { height: 100vh; border-radius: 0; }

.agm__viewport { position: relative; min-width: 0; min-height: 0; }
.agm__map { position: absolute; inset: 0; outline: none; font: inherit; }
.agm__map:focus-visible { box-shadow: inset 0 0 0 3px var(--agm-accent); }
.agm.is-loading .agm__map::after {
	content: "";
	position: absolute; inset: 0; z-index: 900;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .08), transparent) 0 0 / 50% 100% no-repeat;
	animation: agm-shimmer 1.2s linear infinite;
	pointer-events: none;
}
@keyframes agm-shimmer { from { background-position: -50% 0; } to { background-position: 150% 0; } }
@media (prefers-reduced-motion: reduce) { .agm.is-loading .agm__map::after { animation: none; } }
.agm.is-error .agm__viewport::before {
	content: "The map could not load. Refresh the page to try again.";
	position: absolute; inset: auto 1rem 1rem; z-index: 1000;
	padding: .6rem .8rem; border-radius: var(--agm-radius);
	background: var(--agm-bg); color: var(--agm-fg); box-shadow: var(--agm-shadow);
}
.agm.is-underground .agm__tiles { filter: brightness(.55) saturate(.6); }
.agm__layer { filter: drop-shadow(0 4px 18px rgba(0, 0, 0, .55)); }

/* ---------------------------------------------------------------- panel */
.agm__panel {
	display: flex; flex-direction: column; gap: .75rem;
	min-height: 0; overflow-y: auto; overscroll-behavior: contain;
	padding: .9rem .9rem 1.25rem;
	background: var(--agm-panel);
	border-right: 1px solid var(--agm-line);
	scrollbar-width: thin;
}
.agm--embed .agm__panel {
	position: absolute; z-index: 1001; top: 0; bottom: 0; left: 0;
	width: min(var(--agm-panel-w), 88%);
	transform: translateX(-102%);
	transition: transform var(--agm-dur) var(--agm-ease);
	box-shadow: var(--agm-shadow-lift);
}
.agm--embed.is-panel-open .agm__panel { transform: none; }

.agm__panel-toggle {
	display: none;
	position: absolute; z-index: 1000; top: .75rem; left: .75rem;
	align-items: center; gap: .45rem;
	padding: .45rem .75rem; border: 1px solid var(--agm-line-strong); border-radius: var(--agm-pill);
	background: var(--agm-bg); color: var(--agm-fg);
	font: 600 .875rem/1.2 var(--agm-font); cursor: pointer; box-shadow: var(--agm-shadow);
}
.agm--embed .agm__panel-toggle { display: inline-flex; position: static; }
.agm__badge {
	min-width: 1.4em; padding: .05em .4em; border-radius: var(--agm-pill);
	background: var(--agm-accent); color: var(--agm-on-accent);
	font-size: .75rem; text-align: center;
}

/* the list's last row stays above the site's sticky ad */
.agm-panel-spacer { flex: 0 0 auto; height: var(--agm-ad-lift, 0px); }

.agm-maps { display: flex; gap: .25rem; padding: .2rem; border-radius: var(--agm-pill); background: var(--agm-bg); border: 1px solid var(--agm-line); }
.agm-maps__btn {
	flex: 1 1 auto; padding: .4rem .55rem; border: 0; border-radius: var(--agm-pill);
	background: transparent; color: var(--agm-fg-2); font: 600 .8rem/1.2 var(--agm-font); cursor: pointer;
	transition: background var(--agm-dur) var(--agm-ease), color var(--agm-dur) var(--agm-ease);
}
.agm-maps__btn:hover { color: var(--agm-fg); }
.agm-maps__btn[aria-pressed="true"] { background: var(--agm-accent); color: var(--agm-on-accent); }

.agm-search { position: relative; }
.agm-search__input {
	width: 100%; box-sizing: border-box;
	padding: .6rem .8rem .6rem 2.2rem;
	border: 1px solid var(--agm-line-strong); border-radius: var(--agm-radius);
	background: var(--agm-bg) no-repeat .7rem 50% / 1rem
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23857a69' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E");
	color: var(--agm-fg); font: 400 .95rem/1.3 var(--agm-font);
}
.agm-search__input:focus { outline: none; border-color: var(--agm-tan); box-shadow: 0 0 0 3px var(--agm-accent-soft); }
.agm-search__results {
	list-style: none; margin: .35rem 0 0; padding: 0;
	border-radius: var(--agm-radius); overflow: hidden;
}
.agm-search__results:not(:empty) { border: 1px solid var(--agm-line); background: var(--agm-bg); box-shadow: var(--agm-shadow); }
.agm-search__hit {
	display: grid; grid-template-columns: 1.6rem 1fr auto; align-items: center; gap: .55rem;
	width: 100%; padding: .45rem .6rem; border: 0; background: none; text-align: left;
	color: var(--agm-fg); font: 400 .9rem/1.25 var(--agm-font); cursor: pointer;
}
.agm-search__hit:hover, .agm-search__hit:focus-visible { background: var(--agm-accent-soft); outline: none; }
.agm-search__icon { width: 24px; height: 24px; object-fit: contain; }
.agm-search__meta { color: var(--agm-fg-3); font-size: .75rem; }
.agm-search__none { padding: .55rem .7rem; color: var(--agm-fg-3); font-size: .85rem; }

.agm-bulk { display: flex; align-items: center; gap: .75rem; font-size: .8rem; color: var(--agm-fg-3); }
.agm-bulk__count { margin-right: auto; }
.agm-link-btn {
	padding: 0; border: 0; background: none; cursor: pointer;
	color: var(--agm-tan); font: 600 .8rem/1.2 var(--agm-font);
	text-decoration: underline; text-underline-offset: .2em; text-decoration-thickness: 1px;
}
.agm-link-btn:hover { color: var(--agm-fg); }

.agm-group { border-top: 1px solid var(--agm-line); padding-top: .6rem; }
.agm-group__head {
	display: flex; align-items: baseline; gap: .5rem;
	cursor: pointer; list-style: none;
	font: 600 .95rem/1.3 var(--agm-font-display); color: var(--agm-fg);
}
.agm-group__head::-webkit-details-marker { display: none; }
.agm-group__head::before {
	content: ""; width: .45rem; height: .45rem; flex: none; align-self: center;
	border-right: 2px solid var(--agm-fg-3); border-bottom: 2px solid var(--agm-fg-3);
	transform: rotate(-45deg); transition: transform var(--agm-dur) var(--agm-ease);
}
.agm-group[open] > .agm-group__head::before { transform: rotate(45deg); }
.agm-group__n { margin-left: auto; font: 500 .75rem/1 var(--agm-font); color: var(--agm-fg-3); }
.agm-group__actions { display: flex; gap: .9rem; margin: .5rem 0 .35rem; }

.agm-filters { display: grid; grid-template-columns: 1fr; gap: .2rem; }
.agm-f {
	display: grid; grid-template-columns: 1.9rem 1fr auto; align-items: center; gap: .55rem;
	width: 100%; padding: .3rem .45rem; border: 1px solid transparent; border-radius: var(--agm-radius);
	background: none; color: var(--agm-fg-2); text-align: left; cursor: pointer;
	font: 500 .875rem/1.25 var(--agm-font);
	transition: background var(--agm-dur) var(--agm-ease), border-color var(--agm-dur) var(--agm-ease), opacity var(--agm-dur);
}
.agm-f:hover { background: var(--agm-bg); color: var(--agm-fg); }
.agm-f:focus-visible { outline: 2px solid var(--agm-tan); outline-offset: 1px; }
.agm-f[aria-pressed="false"] .agm-f__icon { opacity: .55; filter: grayscale(.7); }
.agm-f[aria-pressed="true"] { background: var(--agm-bg); border-color: var(--agm-line-strong); color: var(--agm-fg); }
.agm-f[aria-pressed="true"] .agm-f__n { background: var(--agm-accent); color: var(--agm-on-accent); }
.agm-f__name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.agm-f__n {
	padding: .1rem .45rem; border-radius: var(--agm-pill);
	background: var(--agm-line); color: var(--agm-fg-3);
	font: 600 .7rem/1.3 var(--agm-font); font-variant-numeric: tabular-nums;
}
.agm-f__icon {
	display: inline-grid; place-items: center; width: 1.9rem; height: 1.9rem;
	border-radius: 50%; overflow: hidden; background: var(--agm-line);
	transition: opacity var(--agm-dur), filter var(--agm-dur);
}
.agm-f__icon img { width: 88%; height: 88%; object-fit: contain; }
.agm-f__icon.agm-pin--glyph { background: var(--agm-tan); }
.agm-f__icon.agm-pin--glyph img { width: 70%; height: 70%; }
.agm-f__icon.agm-pin--badge { background: var(--agm-line); }
.agm-f__icon.agm-pin--badge img { width: 80%; height: 80%; }

.agm-elements { display: flex; flex-wrap: wrap; gap: .3rem; margin: .1rem 0 .5rem; }
.agm-chip, .agm-floor {
	padding: .25rem .6rem; border: 1px solid var(--agm-line-strong); border-radius: var(--agm-pill);
	background: var(--agm-bg); color: var(--agm-fg-2); cursor: pointer;
	font: 600 .75rem/1.3 var(--agm-font);
}
.agm-chip:hover, .agm-floor:hover { border-color: var(--agm-tan); color: var(--agm-fg); }
.agm-floors { display: flex; flex-direction: column; align-items: stretch; gap: .25rem; margin-top: .5rem; }
.agm-floor { text-align: left; border-radius: var(--agm-radius); font-weight: 500; font-size: .85rem; }
.agm-floor[aria-pressed="true"] { background: var(--agm-accent); border-color: var(--agm-accent); color: var(--agm-on-accent); }

/* ---------------------------------------------------------------- markers */
.agm-pin-wrap, .agm-cluster-wrap { background: none; border: 0; }
/* NOTHING here may set `position` on a marker's own element: Leaflet places
   every marker with `position: absolute` and a transform, and a `relative`
   here drops each one back into the flow of the marker pane — the first pin
   lands right and every one after it sits lower than the last. The absolute
   position Leaflet sets is already the containing block the pin centres in. */
/* the pin is centred on its anchor, so its size can change with the zoom
   without moving the point it marks */
.agm-pin, .agm-cluster { position: absolute; left: 50%; top: 50%; }
.agm-pin {
	display: grid; place-items: center;
	width: var(--agm-pin, 34px); height: var(--agm-pin, 34px); box-sizing: border-box;
	/* the centring is a `translate`, not a `transform`: the hover scale below
	   sets `transform`, and would otherwise drop the centring and make the
	   marker jump off its own point */
	translate: -50% -50%;
	border-radius: 50%; overflow: hidden;
	background: var(--agm-bg); border: 2px solid var(--agm-bg);
	box-shadow: 0 2px 6px rgba(0, 0, 0, .45);
	transition: transform var(--agm-dur) var(--agm-ease);
}
/* leaflet sizes every marker-pane image to its natural size; ours fit the pin */
.agm .agm-pin img { width: 100% !important; height: 100% !important; object-fit: cover; }
.agm-pin--glyph { background: var(--agm-tan); border-color: #fff; }
.agm .agm-pin--glyph img { width: 68% !important; height: 68% !important; object-fit: contain; }
/* every marker reads the same way: the icon in a light disc, so a dark game
   badge stays visible over dark ground */
.agm-pin--badge { background: var(--agm-bg); border-color: var(--agm-bg); }
.agm .agm-pin--badge img { width: 78% !important; height: 78% !important; object-fit: contain; }
.agm .agm-pin--badge img { object-fit: contain; }
.leaflet-marker-icon:hover .agm-pin, .leaflet-marker-icon:focus .agm-pin { transform: scale(1.18); }
.leaflet-marker-icon:hover .agm-cluster { transform: scale(1.1); }

.agm-cluster {
	display: grid; place-items: center; translate: -50% -50%;
	width: var(--agm-cluster, 44px); height: var(--agm-cluster, 44px);
	box-sizing: border-box; border-radius: 50%;
	background: var(--agm-bg); border: 3px solid var(--agm-accent);
	box-shadow: 0 2px 8px rgba(0, 0, 0, .45);
}
.agm .agm-cluster img { width: 68% !important; height: 68% !important; object-fit: contain; border-radius: 50%; }
.agm-cluster b {
	position: absolute; right: -6px; bottom: -4px;
	min-width: 1.4rem; padding: .05rem .3rem; border-radius: var(--agm-pill);
	background: var(--agm-fg); color: var(--agm-bg);
	font: 700 .68rem/1.35 var(--agm-font); text-align: center;
}

.agm-area-label { background: none; border: 0; pointer-events: none; }
.agm-area-label span {
	display: inline-block; transform: translate(-50%, -50%); white-space: nowrap;
	font: 600 .95rem/1 var(--agm-font-display); letter-spacing: .01em;
	color: #fff; text-shadow: 0 1px 2px rgba(0, 0, 0, .8), 0 0 10px rgba(0, 0, 0, .5);
}

/* ---------------------------------------------------------------- leaflet chrome in theme dress */
.agm .leaflet-container { font-family: var(--agm-font); }
.agm .leaflet-bar { border: 1px solid var(--agm-line-strong); border-radius: var(--agm-radius); box-shadow: var(--agm-shadow); overflow: hidden; }
.agm .leaflet-bar a, .agm .agm-tool {
	display: grid; place-items: center; width: 36px; height: 36px; padding: 0;
	border: 0; border-bottom: 1px solid var(--agm-line);
	background: var(--agm-bg); color: var(--agm-fg); cursor: pointer; font: 600 1.15rem/1 var(--agm-font);
}
.agm .leaflet-bar a:last-child, .agm .agm-tool:last-child { border-bottom: 0; }
.agm .leaflet-bar a:hover, .agm .agm-tool:hover { background: var(--agm-accent-soft); color: var(--agm-fg); }
.agm .leaflet-bottom { bottom: var(--agm-ad-lift, 0px); transition: bottom var(--agm-dur) var(--agm-ease); }
.agm .leaflet-control-attribution {
	background: color-mix(in srgb, var(--agm-bg) 80%, transparent); color: var(--agm-fg-3);
	font-size: .7rem; border-top-left-radius: var(--agm-radius);
}
.agm-i { display: block; width: 18px; height: 18px; background: currentColor; -webkit-mask: var(--m) center / contain no-repeat; mask: var(--m) center / contain no-repeat; }
.agm-i--fit { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M4 9V4h5M20 9V4h-5M4 15v5h5M20 15v5h-5'/%3E%3C/svg%3E"); }
.agm-i--full { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M9 4H4v5M15 4h5v5M9 20H4v-5M15 20h5v-5M4 4l6 6M20 4l-6 6M4 20l6-6M20 20l-6-6'/%3E%3C/svg%3E"); }
.agm-i--area { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linejoin='round'%3E%3Cpath d='M9 4 3 6v14l6-2 6 2 6-2V4l-6 2-6-2zM9 4v14M15 6v14'/%3E%3C/svg%3E"); color: var(--agm-tan); }

.agm .leaflet-popup-content-wrapper { border-radius: var(--agm-radius-lg); background: var(--agm-bg); color: var(--agm-fg); box-shadow: var(--agm-shadow-lift); }
.agm .leaflet-popup-tip { background: var(--agm-bg); }
.agm .leaflet-popup-content { margin: .85rem .95rem; font: 400 .875rem/1.45 var(--agm-font); }
.agm .leaflet-container a.leaflet-popup-close-button { color: var(--agm-fg-3); }
.agm-pop__head { display: flex; align-items: center; gap: .7rem; }
.agm-pop__art { width: 48px; height: 48px; flex: none; border-radius: var(--agm-radius); object-fit: cover; background: var(--agm-line); }
.agm-pop__art.agm-pin--glyph { background: var(--agm-tan); padding: 8px; box-sizing: border-box; object-fit: contain; }
.agm-pop__art.agm-pin--badge { background: none; object-fit: contain; }
.agm-pop__title { font: 600 1rem/1.25 var(--agm-font-display); }
.agm-pop__kicker { margin-top: .15rem; font-size: .75rem; color: var(--agm-fg-3); text-transform: uppercase; letter-spacing: .04em; }
.agm-pop__text { margin: .6rem 0 0; color: var(--agm-fg-2); }
.agm-pop__facts { margin: .5rem 0 0; font-weight: 600; color: var(--agm-fg-2); }
.agm-pop__actions { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .8rem; margin-top: .7rem; }
.agm .agm-pop__link { color: var(--agm-tan); font-weight: 600; text-decoration: underline; text-underline-offset: .2em; }
.agm-pop__btn {
	padding: .2rem .55rem; border: 1px solid var(--agm-line-strong); border-radius: var(--agm-pill);
	background: none; color: var(--agm-fg-2); cursor: pointer; font: 600 .75rem/1.3 var(--agm-font);
}
.agm-pop__btn:hover { border-color: var(--agm-tan); color: var(--agm-fg); }

/* ---------------------------------------------------------------- embed legend */
.agm__legend {
	position: absolute; z-index: 1000; top: .75rem; left: .75rem; right: 4rem;
	display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; pointer-events: none;
}
.agm-legend__item, .agm-legend__open {
	display: inline-flex; align-items: center; gap: .4rem; pointer-events: auto;
	padding: .25rem .65rem .25rem .3rem; border-radius: var(--agm-pill);
	background: var(--agm-bg); color: var(--agm-fg); box-shadow: var(--agm-shadow);
	font: 600 .8rem/1.2 var(--agm-font);
}
.agm-legend__item .agm-f__icon { width: 1.5rem; height: 1.5rem; }
.agm .agm-legend__open { padding-left: .65rem; background: var(--agm-accent); color: var(--agm-on-accent); text-decoration: none; }
.agm .agm-legend__open:hover { box-shadow: var(--agm-shadow-lift); }
.agm__fallback { display: block; padding: 1rem; }


/* ---------------------------------------------------------------- small screens: panel becomes a bottom sheet */
@media (max-width: 781px) {
	.agm { --agm-panel-w: 100%; --agm-ad: 70px; }
	.agm--full { --agm-h: max(440px, calc(100svh - var(--almanac-header-h, 56px) - 1rem - var(--agm-ad))); }
	.agm--embed { --agm-h: max(420px, calc(70svh - var(--agm-ad))); }
	.agm__stage { grid-template-columns: minmax(0, 1fr); border-radius: var(--agm-radius); }
	.agm__panel, .agm--embed .agm__panel {
		position: absolute; z-index: 1001; left: 0; right: 0; bottom: 0; top: auto;
		width: auto; max-height: 66%;
		border-right: 0; border-top: 1px solid var(--agm-line-strong);
		border-radius: var(--agm-radius-lg) var(--agm-radius-lg) 0 0;
		transform: translateY(102%);
		transition: transform var(--agm-dur) var(--agm-ease);
		box-shadow: 0 -8px 28px rgba(0, 0, 0, .2);
	}
	.agm.is-panel-open .agm__panel { transform: none; }
	.agm__panel-toggle { display: inline-flex; top: .75rem; left: .75rem; bottom: auto; }
	.agm--embed .agm__panel-toggle { position: static; }
	/* the row above the map keeps to one line: the page title already says
	   what this map is about */
	.agm__legend { right: .75rem; }
	.agm__legend .agm-legend__item { display: none; }
	/* the zoom buttons stay: pinch is not the only way people zoom */
	.agm .leaflet-bar a, .agm .agm-tool { width: 34px; height: 34px; }
	.agm-f { padding: .45rem .5rem; }
}

/* ---------------------------------------------------------------- location/hub page copy */
.agm-page .agm-title { font-family: var(--agm-font-display, var(--almanac-font-display)); margin-bottom: .4em; }
.agm-page .agm-lead { font-size: 1.1rem; color: var(--almanac-fg-secondary, #4a4238); }
.agm-links { columns: 3 13rem; column-gap: 1.5rem; padding-left: 1.1rem; }
.agm-links li { break-inside: avoid; margin: .15rem 0; }
.agm-areas table td:nth-child(3), .agm-areas table th:nth-child(3) { text-align: right; font-variant-numeric: tabular-nums; }
.agm-editor-note { padding: 1rem; border: 1px dashed currentColor; border-radius: 8px; font: 500 14px/1.4 system-ui, sans-serif; }


/* ---------------------------------------------------------------- inside an article
 * The article body styles every img (border, radius); a map's tiles and
 * markers must stay bare. */
.agm img, .agm .leaflet-tile, .agm .leaflet-marker-icon img, .agm .leaflet-image-layer {
	border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
	margin: 0 !important; max-width: none !important; background: none;
}
.agm .agm-pin img, .agm .agm-cluster img, .agm .agm-f__icon img, .agm .agm-search__icon { border-radius: 50% !important; }
.agm .agm-pop__art { border-radius: var(--agm-radius) !important; }
/* map pages: the article body spans the theme's wide measure; words keep the
   reading measure and line up under the title, the map takes the full width */
.almanac-post__content.agm-content { max-width: var(--almanac-content-wide, 82rem) !important; width: 100%; margin: 0 auto; }
.agm-content > * { max-width: 44rem; margin-left: auto; margin-right: auto; }
/* the prose column: one wrapper, so headings, tables and lists share a width */
.agm-content > .agm-copy { max-width: 44rem; margin: 0 auto; }
/* a column that opens a section keeps the theme's rhythm; only the very
   first one on the page starts flush */
.agm-content > .agm-copy:first-child > *:first-child { margin-top: 0; }
.agm-content > .agm-copy { margin-top: var(--almanac-space-lg, 1.5rem); }
.agm-content > .agm-copy:first-child { margin-top: 0; }
.agm-content > .agm { max-width: none !important; width: 100%; }
/* the closed drawer is gone, not parked beside the map */
.agm--embed:not(.is-panel-open) .agm__panel { visibility: hidden; }
@media (min-width: 782px) {
	.agm--embed:not(.is-panel-open) .agm__panel { display: none; }
}
/* the article's accordion spacing is for prose; the filter panel stays compact */
.agm .agm__panel details.agm-group { margin: 0 !important; }
.agm .agm__panel > * + * { margin-top: 0 !important; }
/* Leaflet blends tile edges additively to hide seams; at fractional zoom that
   brightens every shared edge into a white hairline. The tiles are opaque, so
   they need no blending — instead each one covers its neighbour's edge by half
   a pixel, which leaves no gap at any zoom. */
.agm .leaflet-tile { mix-blend-mode: normal !important; }
.agm .leaflet-tile-container img.leaflet-tile { width: 256.5px !important; height: 256.5px !important; }

/* the fact row on a location page: the game's own terms, in the theme's type */
.agm-facts { display: flex; flex-wrap: wrap; gap: .5rem .75rem; margin: 0 0 1.5rem; padding: 0; list-style: none; }
/* the label and the value are centred on one line: the article's line-height
   and list margins would otherwise push the text to the top of the pill */
.agm-fact {
	display: inline-flex; align-items: baseline; gap: .45rem;
	margin: 0 !important; padding: .45rem .8rem;
	border: 1px solid var(--almanac-border, #E6DFCF); border-radius: var(--almanac-radius-pill, 999px);
	background: var(--almanac-bg-canvas, #fff);
	line-height: 1;
}
.agm-fact__k, .agm-fact__v { display: block; line-height: 1; }
.agm-fact__k { font-size: .72rem; letter-spacing: .04em; text-transform: uppercase; color: var(--almanac-fg-tertiary, #6f6557); }
.agm-fact__v { font-size: 1rem; font-weight: 600; }
.agm-stop__kind { color: var(--almanac-fg-tertiary, #6f6557); font-size: .85em; }
.agm-guide { font-weight: 500; }
/* the fact row is not prose: no list markers from the article styles */
.agm-facts, .agm-facts li { list-style: none !important; }
.agm-facts li::before, .agm-facts li::marker { content: none !important; display: none !important; }
.agm-content > .agm-copy:first-child > .agm-guide:last-child { margin-bottom: 0; }

/* the fact pills belong to the map above them, so that column sits closer */
.agm-content > .agm + .agm-copy { margin-top: var(--almanac-space-md, 1rem); }
