/* Elysium delivery and teleport guide. Scoped to .gp-ely. */

/* Keep the server-rendered Delivery list from flashing before JS replaces it. */
.gp-page-weekly-task-board:not(.gp-weekly-delivery-ready)
	[data-gp-tabs] > .gp-tabs-nav + .gp-tab-panel.is-on {
	display: none;
}

.gp-ely {
	--ely-green: #80c46a;
	--ely-blue: #75aaf0;
	--ely-amber: #d8aa61;
	--ely-red: #c87970;
	--ely-panel: rgba(24, 25, 29, 0.92);
	--ely-panel-2: rgba(30, 31, 36, 0.94);
	--ely-line: rgba(214, 178, 114, 0.17);
}

.gp-ely--embedded { margin-top: 20px; }
.gp-ely-embedded-head {
	margin-bottom: 28px;
	padding-bottom: 24px;
	border-bottom: 1px solid var(--gp-line);
}
.gp-ely-embedded-head h2 {
	margin: 0 0 10px;
	font-family: var(--gp-font-serif), serif;
	font-size: clamp(30px, 4vw, 42px);
	font-weight: 500;
	line-height: 1.05;
}

.gp-ely [hidden] { display: none !important; }
.gp-ely button:focus-visible,
.gp-ely a:focus-visible,
.gp-ely input:focus-visible {
	outline: 2px solid var(--gp-gold-bright);
	outline-offset: 3px;
}

.gp-ely-head {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 22px;
}
.gp-ely-head h1 { margin: 0 0 10px; }
.gp-ely-head p {
	max-width: 680px;
	margin: 0;
	color: var(--gp-ink-2);
	line-height: 1.65;
}
.gp-ely .gp-page-eyebrow {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 11px;
	font-family: var(--gp-font-mono), monospace;
	font-size: 10px;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--gp-gold);
}
.gp-ely .gp-page-eyebrow .dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--gp-gold);
	box-shadow: 0 0 10px rgba(214, 178, 114, 0.45);
}
.gp-ely-head-actions { display: flex; gap: 8px; }
.gp-ely-btn {
	display: inline-flex;
	min-height: 38px;
	align-items: center;
	justify-content: center;
	padding: 9px 14px;
	border: 1px solid var(--gp-gold) !important;
	border-radius: 5px;
	background: var(--gp-gold) !important;
	color: #111216 !important;
	font-family: var(--gp-font-mono), monospace;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	white-space: nowrap;
}
.gp-ely-btn:hover { background: var(--gp-gold-bright) !important; }
.gp-ely-btn--ghost {
	background: transparent !important;
	border-color: var(--ely-line) !important;
	color: var(--gp-ink-2) !important;
}
.gp-ely-btn--ghost:hover {
	border-color: var(--gp-gold) !important;
	color: var(--gp-gold) !important;
}

.gp-ely-overview {
	display: flex;
	align-items: center;
	justify-self: end;
	margin: 0;
	padding: 12px 0 12px 22px;
	border-left: 1px solid var(--gp-line);
}
.gp-ely-overview > div {
	display: inline-flex;
	align-items: center;
	gap: 11px;
	min-height: 38px;
}
.gp-ely-overview strong {
	font-family: var(--gp-font-serif), serif;
	font-size: 31px;
	font-weight: 500;
	line-height: 1;
}
.gp-ely-overview div > span:last-child {
	font-size: 11px;
	color: var(--gp-ink-3);
	white-space: nowrap;
}
.gp-ely-status {
	display: inline-block;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--gp-ink-3);
	flex: 0 0 auto;
}
.gp-ely-status--good { background: var(--ely-green); }
.gp-ely-status--warn { background: var(--ely-amber); }
.gp-ely-status--blue { background: var(--ely-blue); }

.gp-ely-jump {
	display: grid;
	grid-template-columns: 1fr 1fr;
	margin-bottom: 36px;
	padding: 4px;
	border: 1px solid var(--gp-line);
	border-radius: 6px;
	background: var(--gp-surf);
}
.gp-ely-jump a {
	padding: 10px 14px;
	border-radius: 4px;
	color: var(--gp-ink-2);
	font-size: 12px;
	text-align: center;
}
.gp-ely-jump a:hover,
.gp-ely-jump a.is-on {
	background: rgba(214, 178, 114, 0.13);
	color: var(--gp-gold);
}

.gp-ely-section { scroll-margin-top: 18px; margin-bottom: 52px; }
.gp-ely-kicker {
	display: block;
	font-family: var(--gp-font-mono), monospace;
	font-size: 9px;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--gp-gold);
}

.gp-ely-search-panel {
	padding: 14px;
	border: 1px solid var(--gp-line);
	border-radius: 6px;
	background: var(--ely-panel);
}
.gp-ely-search {
	display: flex;
	height: 46px;
	align-items: center;
	gap: 11px;
	padding: 0 13px;
	border: 1px solid var(--ely-line);
	border-radius: 4px;
	background: var(--gp-bg);
}
.gp-ely-search:focus-within {
	border-color: rgba(214, 178, 114, 0.55);
	box-shadow: 0 0 0 2px rgba(214, 178, 114, 0.08);
}
.gp-ely-search svg {
	width: 18px;
	height: 18px;
	fill: none;
	stroke: var(--gp-ink-3);
	stroke-width: 1.6;
	flex: 0 0 auto;
}
.gp-ely-search input {
	width: 100%;
	height: 100%;
	border: 0;
	outline: 0;
	background: transparent;
	color: var(--gp-ink);
	font-size: 13px;
}
.gp-ely-search input:focus-visible {
	outline: 0;
	box-shadow: none;
}
.gp-ely-search input::placeholder { color: var(--gp-ink-3); }
.gp-ely-search input::-webkit-search-cancel-button { display: none; }
.gp-ely-search button {
	width: 30px;
	height: 30px;
	color: var(--gp-ink-3);
	font-size: 22px;
	line-height: 1;
}
.gp-ely-filters,
.gp-ely-atlas-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 11px;
}
.gp-ely-filters button,
.gp-ely-atlas-filters button {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 34px;
	padding: 7px 11px;
	border: 1px solid transparent;
	border-radius: 4px;
	color: var(--gp-ink-3);
	font-size: 11px;
}
.gp-ely-filters button:hover,
.gp-ely-atlas-filters button:hover { color: var(--gp-ink); }
.gp-ely-filters button.is-on,
.gp-ely-atlas-filters button.is-on {
	border-color: rgba(214, 178, 114, 0.28);
	background: rgba(214, 178, 114, 0.11);
	color: var(--gp-gold);
}
.gp-ely-filters button span {
	padding: 1px 5px;
	border-radius: 3px;
	background: rgba(0, 0, 0, 0.28);
	font-family: var(--gp-font-mono), monospace;
	font-size: 9px;
}
.gp-ely-result {
	margin: 17px 0 10px;
	font-family: var(--gp-font-mono), monospace;
	font-size: 9px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--gp-ink-3);
}

.gp-ely-item-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin-top: 14px;
}
.gp-ely-item-card {
	position: relative;
	display: flex;
	min-width: 0;
	min-height: 250px;
	flex-direction: column;
	padding: 16px;
	border: 1px solid var(--gp-line);
	border-radius: 6px;
	background: var(--ely-panel);
	transition: border-color 140ms, background 140ms;
}
.gp-ely-item-card:hover {
	border-color: rgba(214, 178, 114, 0.35);
	background: var(--ely-panel-2);
}
.gp-ely-card-top {
	display: grid;
	grid-template-columns: 52px minmax(0, 1fr);
	align-items: center;
	gap: 12px;
	margin-bottom: 15px;
}
.gp-ely-sprite {
	display: grid;
	width: 52px;
	height: 52px;
	place-items: center;
	border: 1px solid var(--gp-line-soft);
	border-radius: 5px;
	background: rgba(6, 7, 9, 0.62);
}
.gp-ely-sprite img {
	max-width: 40px;
	max-height: 40px;
	object-fit: contain;
	image-rendering: pixelated;
}
.gp-ely-item-card h3 {
	margin: 0 0 3px;
	font-family: var(--gp-font), sans-serif;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.35;
}
.gp-ely-quantity { color: var(--gp-ink-3); font-size: 10px; }
.gp-ely-drop-sources { margin-bottom: 14px; }
.gp-ely-drop-sources h4 {
	margin: 0 0 7px;
	font-family: var(--gp-font-mono), monospace;
	font-size: 8px;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--gp-ink-3);
}
.gp-ely-monsters {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 6px;
}
.gp-ely-monster {
	display: flex;
	min-width: 0;
	min-height: 43px;
	align-items: center;
	gap: 7px;
	padding: 5px 7px;
	border: 1px solid var(--gp-line-soft);
	border-radius: 4px;
	background: rgba(8, 9, 11, 0.42);
	font-size: 10px;
	line-height: 1.3;
}
.gp-ely-monster img {
	width: 34px;
	height: 34px;
	object-fit: contain;
	image-rendering: pixelated;
	flex: 0 0 auto;
}
.gp-ely-monster span { min-width: 0; overflow-wrap: anywhere; }
.gp-ely-monster-more { position: relative; min-width: 0; }
.gp-ely-monster-more summary {
	display: flex;
	width: 100%;
	min-height: 43px;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 5px 7px;
	border: 1px solid rgba(214, 178, 114, 0.22);
	border-radius: 4px;
	background: rgba(88, 69, 39, 0.16);
	color: var(--gp-ink-2);
	font-size: 9px;
	cursor: pointer;
	list-style: none;
}
.gp-ely-monster-more summary::-webkit-details-marker { display: none; }
.gp-ely-monster-more summary:hover,
.gp-ely-monster-more[open] summary {
	border-color: rgba(214, 178, 114, 0.48);
	background: rgba(113, 84, 42, 0.26);
	color: var(--gp-ink);
}
.gp-ely-monster-more summary b {
	color: var(--gp-gold);
	font-family: var(--gp-font-mono), monospace;
	font-size: 8px;
}
.gp-ely-more-chevron { color: var(--gp-ink-3); transform: translateY(-1px); }
.gp-ely-monster-more[open] .gp-ely-more-chevron { transform: rotate(180deg) translateY(1px); }
.gp-ely-monster-menu {
	position: absolute;
	z-index: 30;
	top: calc(100% + 7px);
	right: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	width: min(300px, calc(100vw - 48px));
	gap: 6px;
	padding: 7px;
	border: 1px solid rgba(214, 178, 114, 0.34);
	border-radius: 5px;
	background: #15171c;
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.55);
}
.gp-ely-routes {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.gp-ely-routes--more {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: start;
}
.gp-ely-routes--more > .gp-ely-route { width: 100%; }
.gp-ely-route-more { position: relative; min-width: 0; }
.gp-ely-route-more summary {
	display: inline-flex;
	min-height: 35px;
	align-items: center;
	gap: 6px;
	padding: 6px 8px;
	border: 1px solid rgba(214, 178, 114, 0.28);
	border-radius: 4px;
	background: rgba(88, 69, 39, 0.2);
	color: var(--gp-ink-2);
	font-size: 9px;
	cursor: pointer;
	list-style: none;
}
.gp-ely-route-more summary::-webkit-details-marker { display: none; }
.gp-ely-route-more summary:hover,
.gp-ely-route-more[open] summary {
	border-color: rgba(214, 178, 114, 0.52);
	background: rgba(113, 84, 42, 0.28);
	color: var(--gp-ink);
}
.gp-ely-route-more summary b {
	color: var(--gp-gold);
	font-family: var(--gp-font-mono), monospace;
	font-size: 8px;
}
.gp-ely-route-chevron { color: var(--gp-ink-3); transform: translateY(-1px); }
.gp-ely-route-more[open] .gp-ely-route-chevron { transform: rotate(180deg) translateY(1px); }
.gp-ely-route-menu {
	position: absolute;
	z-index: 30;
	right: 0;
	bottom: calc(100% + 7px);
	display: grid;
	width: min(238px, calc(100vw - 48px));
	gap: 6px;
	padding: 7px;
	border: 1px solid rgba(214, 178, 114, 0.34);
	border-radius: 5px;
	background: #15171c;
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.55);
}
.gp-ely-route-menu .gp-ely-route { width: 100%; text-align: left; }
.gp-ely-item-card:has(.gp-ely-popover[open]) { z-index: 20; }
.gp-ely-route {
	display: inline-grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	max-width: 100%;
	gap: 6px;
	padding: 6px 8px;
	border: 1px solid rgba(128, 196, 106, 0.28) !important;
	border-radius: 4px;
	background: rgba(64, 98, 53, 0.18) !important;
	color: #b9dcaa;
	font-size: 9px;
}
.gp-ely-route--blue {
	border-color: rgba(117, 170, 240, 0.28) !important;
	background: rgba(52, 80, 119, 0.2) !important;
	color: #b6cef0;
}
.gp-ely-route--warn {
	border-color: rgba(216, 170, 97, 0.3) !important;
	background: rgba(108, 79, 34, 0.19) !important;
	color: #dfc08d;
}
.gp-ely-route:hover { filter: brightness(1.18); }
.gp-ely-route b { font-family: var(--gp-font-mono), monospace; }
.gp-ely-route span:nth-child(2) {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.gp-ely-card-actions {
	display: grid;
	gap: 7px;
	margin-top: auto;
}
.gp-ely-card-status {
	display: flex;
	align-items: center;
	gap: 6px;
	min-height: 14px;
	margin: 0;
	font-size: 9px;
	color: var(--gp-ink-3);
}
.gp-ely-item-photos {
	display: grid;
	gap: 7px;
	margin-top: 10px;
}
.gp-ely-item-photo {
	width: 100%;
	padding: 7px !important;
	border: 1px solid var(--gp-line-soft) !important;
	border-radius: 4px;
	background: rgba(6, 7, 9, 0.55) !important;
	text-align: left;
}
.gp-ely-item-photo:hover { border-color: rgba(214, 178, 114, 0.38) !important; }
.gp-ely-photo-frame {
	position: relative;
	display: grid;
	overflow: hidden;
	place-items: center;
	background: #0b0c0f;
}
.gp-ely-photo-frame::after,
.gp-ely-portal-thumb::after,
.gp-ely-dialog-scene::after {
	position: absolute;
	z-index: 1;
	inset: 0;
	box-shadow: inset 0 0 30px rgba(0, 0, 0, 0.44);
	content: "";
	pointer-events: none;
}
.gp-ely-media-blur {
	position: absolute;
	z-index: 0;
	inset: -18px;
	width: calc(100% + 36px) !important;
	height: calc(100% + 36px) !important;
	object-fit: cover !important;
	filter: blur(16px) brightness(0.44) saturate(0.86) !important;
	transform: scale(1.08);
}
.gp-ely-media-image {
	position: relative;
	z-index: 2;
	filter: brightness(0.94) contrast(1.04);
}
.gp-ely-photo-frame .gp-ely-media-image { width: 100%; max-height: 170px; object-fit: contain; }
.gp-ely-photo-frame .gp-ely-marker { z-index: 3; }
.gp-ely-item-photo > span {
	display: block;
	margin-top: 6px;
	font-size: 9px;
	color: var(--gp-ink-3);
}
.gp-ely-empty {
	padding: 45px 18px;
	border: 1px dashed var(--gp-line);
	text-align: center;
	color: var(--gp-ink-2);
}
.gp-ely-empty h3 { margin-bottom: 5px; }

.gp-ely-notice {
	display: grid;
	grid-template-columns: 32px minmax(0, 1fr) auto;
	align-items: center;
	gap: 15px;
	margin: -18px 0 52px;
	padding: 17px;
	border: 1px solid rgba(216, 170, 97, 0.25);
	border-radius: 6px;
	background: rgba(91, 65, 27, 0.13);
}
.gp-ely-notice-icon {
	display: grid;
	width: 32px;
	height: 32px;
	place-items: center;
	border: 1px solid rgba(216, 170, 97, 0.55);
	border-radius: 50%;
	color: var(--ely-amber);
}
.gp-ely-notice h3 {
	margin: 0 0 4px;
	font-family: var(--gp-font), sans-serif;
	font-size: 12px;
	font-weight: 600;
	color: var(--ely-amber);
}
.gp-ely-notice p { margin: 0; color: var(--gp-ink-3); font-size: 10px; line-height: 1.55; }

.gp-ely-atlas-filters { margin: 0 0 15px; }
.gp-ely-portal-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}
.gp-ely-portal-card {
	display: block;
	width: 100%;
	overflow: hidden;
	padding: 0 !important;
	border: 1px solid var(--gp-line) !important;
	border-radius: 6px;
	background: var(--ely-panel) !important;
	text-align: left;
}
.gp-ely-portal-card:hover { border-color: rgba(214, 178, 114, 0.4) !important; }
.gp-ely-portal-thumb {
	position: relative;
	width: 100%;
	aspect-ratio: 1.75;
	overflow: hidden;
	border-bottom: 1px solid var(--gp-line-soft);
	background: #0b0c0f;
}
.gp-ely-portal-thumb .gp-ely-media-image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
	filter: brightness(0.92) contrast(1.04);
	transition: filter 140ms, transform 140ms;
}
.gp-ely-portal-card:hover .gp-ely-media-image { filter: brightness(1) contrast(1.06); }
.gp-ely-portal-thumb .gp-ely-marker { z-index: 3; }
.gp-ely-no-image {
	display: grid;
	min-height: 150px;
	place-items: center;
	padding: 22px;
	color: var(--gp-ink-3);
	font-size: 11px;
	text-align: center;
}
.gp-ely-marker {
	position: absolute;
	width: 28px;
	height: 28px;
	border: 2px solid #f4d750;
	border-radius: 50%;
	box-shadow: 0 0 0 var(--gp-ely-ring, 3px) rgba(0, 0, 0, 0.72);
	transform: translate(-50%, -50%);
	pointer-events: none;
}
.gp-ely-marker span {
	position: absolute;
	left: 19px;
	top: 18px;
	padding: 2px 5px;
	border-radius: 3px;
	background: #f4d750;
	color: #101114;
	font-family: var(--gp-font-mono), monospace;
	font-size: 8px;
	font-weight: 700;
}
.gp-ely-portal-body { padding: 13px; }
.gp-ely-portal-heading { display: flex; align-items: flex-start; gap: 8px; }
.gp-ely-portal-code {
	flex: 0 0 auto;
	padding: 2px 5px;
	border: 1px solid rgba(128, 196, 106, 0.35);
	border-radius: 3px;
	color: var(--ely-green);
	font-family: var(--gp-font-mono), monospace;
	font-size: 9px;
}
.gp-ely-portal-code--blue { border-color: rgba(117, 170, 240, 0.38); color: var(--ely-blue); }
.gp-ely-portal-card h3 {
	margin: 1px 0 0;
	font-family: var(--gp-font), sans-serif;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.4;
}
.gp-ely-portal-meta {
	display: flex;
	justify-content: space-between;
	gap: 8px;
	margin-top: 9px;
	font-size: 9px;
	color: var(--gp-ink-3);
}
.gp-ely-portal-meta .is-warn { color: var(--ely-amber); }

.gp-ely-source {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(220px, 0.75fr);
	gap: 50px;
	padding: 27px 0;
	border-top: 1px solid var(--gp-line);
}
.gp-ely-source h3 { margin: 5px 0 7px; font-size: 18px; }
.gp-ely-source p { max-width: 650px; margin: 0; color: var(--gp-ink-3); font-size: 10px; line-height: 1.65; }
.gp-ely-source > div:last-child { display: flex; flex-direction: column; align-items: flex-start; gap: 7px; font-size: 10px; }
.gp-ely-source > div:last-child span { color: var(--gp-ink-3); }

.gp-ely-dialog {
	width: min(1040px, calc(100% - 36px));
	max-height: 90dvh;
	overflow: auto;
	padding: 0;
	border: 1px solid var(--gp-line-strong);
	border-radius: 7px;
	background: var(--gp-surf);
	color: var(--gp-ink);
	box-shadow: 0 28px 90px rgba(0, 0, 0, 0.72);
	scrollbar-width: none;
}
.gp-ely-dialog::-webkit-scrollbar { width: 0; height: 0; }
.gp-ely-dialog::backdrop { background: rgba(4, 4, 6, 0.84); backdrop-filter: blur(4px); }
.gp-ely-dialog-shell { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.85fr); position: relative; }
.gp-ely-dialog-close {
	position: absolute;
	top: 11px;
	right: 11px;
	z-index: 4;
	display: grid;
	width: 34px;
	height: 34px;
	padding: 0 !important;
	place-items: center;
	border: 1px solid var(--gp-line-strong) !important;
	border-radius: 50%;
	background: rgba(9, 9, 12, 0.9) !important;
	color: var(--gp-ink-2);
	font-family: Arial, sans-serif !important;
	font-size: 22px !important;
	font-weight: 400;
	line-height: 0 !important;
}
.gp-ely-dialog-visual { min-width: 0; padding: 18px; background: rgba(5, 6, 8, 0.7); }
.gp-ely-dialog-scene { position: relative; display: grid; min-height: 220px; place-items: center; overflow: hidden; background: #090a0d; }
.gp-ely-dialog-scene .gp-ely-media-image { width: 100%; max-height: 64dvh; object-fit: contain; }
.gp-ely-dialog-scene .gp-ely-marker { z-index: 3; border-width: 2px; }
.gp-ely-dialog-scene .gp-ely-marker span { left: 70%; top: 70%; font-size: 9px; }
.gp-ely-dialog-caption { margin: 10px 0 0; color: var(--gp-ink-3); font-size: 9px; }
.gp-ely-dialog-info { min-width: 0; padding: 38px 24px 24px; }
.gp-ely-dialog-info h2 { margin: 5px 0 13px; font-size: 27px; }
.gp-ely-dialog-info > p:not(.gp-ely-kicker) { color: var(--gp-ink-2); font-size: 11px; line-height: 1.65; }
.gp-ely-dialog-info > p.is-warn { padding: 10px; border: 1px solid rgba(216, 170, 97, 0.28); background: rgba(91, 65, 27, 0.15); color: var(--ely-amber); }
.gp-ely-dialog-info h3 { margin: 22px 0 8px; font-family: var(--gp-font), sans-serif; font-size: 10px; font-weight: 500; color: var(--gp-ink-3); }
.gp-ely-dialog-item {
	display: grid;
	grid-template-columns: 30px minmax(0, 1fr) auto;
	align-items: center;
	gap: 9px;
	padding: 8px 0;
	border-bottom: 1px solid var(--gp-line-soft);
}
.gp-ely-dialog-item img { width: 28px; height: 28px; object-fit: contain; image-rendering: pixelated; }
.gp-ely-dialog-item span { min-width: 0; font-size: 11px; }
.gp-ely-dialog-item small { color: var(--gp-gold); font-family: var(--gp-font-mono), monospace; font-size: 9px; }
[data-gp-ely-dialog-items].is-dense {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 14px;
}
.gp-ely-dialog-help { margin-top: 18px; font-size: 9px !important; color: var(--gp-ink-3) !important; }
.gp-ely-image-missing img { display: none; }
.gp-ely-image-missing::after { content: "?"; display: grid; min-height: 32px; place-items: center; color: var(--gp-ink-3); }

@media (max-width: 1050px) {
	.gp-ely-item-grid,
	.gp-ely-portal-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
	.gp-ely-head { grid-template-columns: 1fr; align-items: start; }
	.gp-ely-head-actions { flex-wrap: wrap; }
	.gp-ely-overview { justify-self: start; padding: 10px 0 0; border-left: 0; }
	.gp-ely-overview > div { min-height: 34px; }
	.gp-ely-notice { grid-template-columns: 32px minmax(0, 1fr); align-items: start; }
	.gp-ely-notice .gp-ely-btn { grid-column: 2; justify-self: start; }
	.gp-ely-source { grid-template-columns: 1fr; gap: 20px; }
	.gp-ely-dialog-shell { grid-template-columns: 1fr; }
	.gp-ely-dialog-visual { padding: 12px; }
	.gp-ely-dialog-info { padding: 21px 18px; }
}

@media (max-width: 520px) {
	.gp-ely-head h1 { font-size: 36px; }
	.gp-ely-head-actions { display: grid; grid-template-columns: 1fr 1fr; }
	.gp-ely-jump { margin-bottom: 28px; }
	.gp-ely-section { margin-bottom: 40px; }
	.gp-ely-item-grid,
	.gp-ely-portal-grid { grid-template-columns: 1fr; }
	.gp-ely-item-card { min-height: 0; }
	.gp-ely-monsters { grid-template-columns: 1fr 1fr; }
	.gp-ely-filters button,
	.gp-ely-atlas-filters button { padding: 7px 8px; font-size: 10px; }
	.gp-ely-dialog { width: calc(100% - 16px); }
}

@media (max-width: 360px) {
	.gp-ely-monsters { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
	.gp-ely * { scroll-behavior: auto !important; transition: none !important; }
}
