/* Command's text navigation and shared wallet menu; Marketplace stays unchanged. */
.dashboard-app > header .top { gap: 10px; padding-right: 0; }
.dashboard-app > header .command-top-tabs {
	display: flex;
	align-items: stretch;
	justify-content: flex-end;
	min-width: 0;
	height: 60px;
	margin-left: auto;
}
.dashboard-app > header .command-top-tabs :is(#collectionMenu, .collection-menu-items) {
	display: contents;
}
.dashboard-app.command-nav-hide-commanders > header .command-top-tabs #collectionMenu [data-collection-menu-action="holders"] { display: none; }
.dashboard-app.command-nav-compact > header .command-top-tabs #collectionMenu { display: none; }
.dashboard-app > header .command-top-tabs :is(.command-top-tab, #searchButton) {
	box-sizing: border-box;
	display: flex;
	flex: 0 0 auto;
	grid-column: auto;
	grid-row: auto;
	align-items: center;
	justify-content: center;
	min-width: 0;
	width: auto;
	height: 60px;
	margin: 0;
	padding: 0 10px;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--command-grey, #727578);
	font-size: var(--font-md);
	line-height: 1;
	text-decoration: none;
	cursor: pointer;
}
.dashboard-app > header .command-top-tabs .collection-menu-item-content {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	width: 100%;
	height: 60px;
	margin: 0;
	padding: 0;
	border: 0;
	color: inherit;
	line-height: 1;
}
.dashboard-app > header .command-top-tabs .collection-menu-item-title {
	display: block;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: var(--font-md);
	line-height: 1;
}
.dashboard-app > header .command-top-tabs #searchButton { flex: 0 0 40px; width: 40px; padding: 0 10px; }
.dashboard-app > header .command-top-tabs #searchButton i {
	display: flex;
	flex: 0 0 24px;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	font-size: 16px;
	line-height: 16px;
	color: inherit;
	transform: translateY(.5px);
}
.dashboard-app > header .command-top-tabs #messageButton .fa-message { flex-basis: 24px; width: 24px; height: 24px; color: inherit; }
.dashboard-app > header .command-top-tabs #messageButton .fa-message svg { width: 18px; height: 18px; transform: scaleY(1.1); stroke: currentColor; }
.dashboard-app > header .command-top-avatar { position: relative; display: flex; align-items: center; justify-content: center; flex: 0 0 25px; width: 25px; height: 25px; overflow: hidden; border-radius: 50%; color: var(--command-grey, #727578); }
.dashboard-app > header .command-top-avatar img { position: absolute; inset: 0; display: block; width: 25px; height: 25px; object-fit: cover; }
.dashboard-app > header .command-top-avatar img[data-identity-avatar-failed="1"] { display: none; }
.dashboard-app > header #navBtn .command-top-avatar.hidden { display: none; }
.dashboard-app > header #navBtn { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; height: 60px; margin: 0 0 0 -10px; padding: 0 20px 0 10px; }
.dashboard-app > header #navBtn .command-nav-icon-frame { display: flex; flex: 0 0 24px; align-items: center; justify-content: center; width: 24px; height: 24px; }
.dashboard-app > header #navBtn .hamburger-box { flex: 0 0 20px; width: 20px; }
.dashboard-app > header #navBtn .command-nav-line {
	position: absolute;
	left: 0;
	display: block;
	width: 20px;
	height: 1px;
	background-color: var(--command-grey, #727578);
	transform-origin: center;
	-webkit-transform-origin: center;
	transition: transform 320ms cubic-bezier(.2, .7, .2, 1);
	-webkit-transition: -webkit-transform 320ms cubic-bezier(.2, .7, .2, 1);
}
.dashboard-app > header #navBtn .command-nav-line-top { top: 0; }
.dashboard-app > header #navBtn .command-nav-line-bottom { bottom: 0; }
.dashboard-app > header #navBtn.is-active .command-nav-line-top { transform: translateY(4px) rotate(45deg); -webkit-transform: translateY(4px) rotate(45deg); }
.dashboard-app > header #navBtn.is-active .command-nav-line-bottom { transform: translateY(-4px) rotate(-45deg); -webkit-transform: translateY(-4px) rotate(-45deg); }
.dashboard-app #navOverlay {
	display: flex;
	flex-direction: column;
	top: var(--command-header-height);
	height: calc(100vh - var(--command-header-height));
	height: calc(100dvh - var(--command-header-height));
	padding-top: 0;
	padding-bottom: 40px;
	transform: none;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 240ms ease-out, visibility 0s linear 240ms;
	z-index: 9999;
}
.dashboard-app #navOverlay.open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transition: opacity 240ms ease-out, visibility 0s;
}
.dashboard-app #navOverlay > :is(.wallet-connect-status, .wallet-buttons, .no-wallet) { display: none; }
.dashboard-app #navOverlay > * { flex-shrink: 0; }
.dashboard-app #navOverlay .command-nav-account { box-sizing: border-box; height: var(--command-secondary-height); margin: 0; padding: 0 0 10px; }
.dashboard-app #navOverlay .command-nav-user { box-sizing: border-box; height: 40px; padding: 0; }
.dashboard-app #navOverlay .command-nav-avatar,
.dashboard-app #navOverlay .command-nav-avatar img { box-sizing: border-box; display: block; width: 40px; min-width: 40px; max-width: 40px; height: 40px; min-height: 40px; max-height: 40px; }
.dashboard-app #navOverlay .command-nav-avatar { display: flex; flex: 0 0 40px; }
.dashboard-app #navOverlay .command-nav-avatar img[data-identity-avatar-failed="1"] { display: none; }
.dashboard-app #navOverlay .command-nav-identity { gap: 2px; line-height: 1; }
.dashboard-app #navOverlay .command-nav-name { font-size: var(--font-lg); }
.dashboard-app #navOverlay .command-nav-username { font-size: var(--font-sm); }
.dashboard-app #navOverlay .command-nav-address { box-sizing: border-box; height: 40px; }
.dashboard-app #navOverlay .command-nav-menu { display: block; margin: 0; border-top: 0; }
.dashboard-app #navOverlay .command-nav-menu:not(.command-nav-menu-signed-in)::before { content: ""; display: block; height: var(--command-secondary-height); }
.dashboard-app #navOverlay .command-nav-item {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	height: 60px;
	padding: 0;
	border-bottom: 1px solid #262626;
	color: var(--command-grey, #727578);
	font-size: var(--font-lg);
}
.dashboard-app #navOverlay .command-nav-item.command-nav-item-active { color: #ededed; border-bottom-color: #262626; }
/* Sound switch (from the intro concept): moving bars, right-aligned in the social row
   at the icons' height. Bars rest flat and grey when sound is off. */
.dashboard-app #navOverlay .command-nav-sound {
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	height: 40px;
	min-width: 40px;
	margin: 0 0 0 auto;
	padding: 0;
	border: 0;
	background: none;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}
.dashboard-app #navOverlay .command-nav-sound-eq { display: flex; align-items: flex-end; gap: 3px; height: 16px; }
.dashboard-app #navOverlay .command-nav-sound-eq i {
	width: 2px;
	height: 100%;
	background: #5acc77;
	transform-origin: bottom;
	animation: command-nav-sound-eq 1.1s ease-in-out infinite;
}
.dashboard-app #navOverlay .command-nav-sound-eq i:nth-child(2) { animation-delay: -.35s; }
.dashboard-app #navOverlay .command-nav-sound-eq i:nth-child(3) { animation-delay: -.7s; }
.dashboard-app #navOverlay .command-nav-sound-eq i:nth-child(4) { animation-delay: -.2s; }
.dashboard-app #navOverlay .command-nav-sound[aria-pressed="false"] .command-nav-sound-eq i {
	animation: none;
	transform: scaleY(.2);
	background: var(--command-grey, #727578);
}
/* Sound on but paused by the browser: bars hold still until a tap resumes the audio. */
.dashboard-app #navOverlay .command-nav-sound[data-audio="waiting"] .command-nav-sound-eq i { animation-play-state: paused; }
@media (hover: hover) {
	.dashboard-app #navOverlay .command-nav-sound[aria-pressed="false"]:hover .command-nav-sound-eq i { background: #fff; }
}
@keyframes command-nav-sound-eq { 0%, 100% { transform: scaleY(.25); } 50% { transform: scaleY(1); } }
.dashboard-app #navOverlay .command-nav-social { display: flex; align-items: center; gap: 40px; height: 60px; }
/* Voice assistant switch: a small ship's-AI core, bold enough to read at 22px. On: a glowing green
   core breathing inside two bold rings that turn slowly in opposite directions, with a soft ping
   every few seconds. Speaking: the core brightens and pulses, waves roll out, the rings speed up.
   Off: everything grey and still. It sits right before the sound switch. */
.dashboard-app #navOverlay .command-nav-assistant {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	/* Its 40px tap area meets the sound switch's (the row gap is 40px): 20px between the icons. */
	margin: 0 -40px 0 auto;
	padding: 0;
	border: 0;
	background: none;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}
.dashboard-app #navOverlay .command-nav-assistant + .command-nav-sound { margin-left: 0; margin-right: -11.5px; justify-content: center; }
.dashboard-app #navOverlay .command-nav-assistant svg { width: 22px; height: 22px; overflow: visible; }
.dashboard-app #navOverlay .command-nav-assistant circle { transform-box: fill-box; transform-origin: center; }
.dashboard-app #navOverlay .command-assistant-ring { fill: none; stroke: #5acc77; stroke-linecap: round; }
/* Outer: two arcs (circumference ≈ 64.7), inner: one arc with a gap (≈ 41.5). */
.dashboard-app #navOverlay .command-assistant-ring-outer { stroke-width: 1.8; stroke-dasharray: 22 10.35; animation: command-assistant-spin 12s linear infinite; }
.dashboard-app #navOverlay .command-assistant-ring-inner { stroke-width: 1.5; stroke-dasharray: 29 12.5; opacity: .8; animation: command-assistant-spin 8s linear infinite reverse; }
.dashboard-app #navOverlay .command-assistant-core { fill: #5acc77; filter: drop-shadow(0 0 1.6px rgba(90, 204, 119, .9)); animation: command-assistant-core 3.6s ease-in-out infinite; }
.dashboard-app #navOverlay .command-assistant-wave { fill: none; stroke: #5acc77; stroke-width: 1.2; opacity: 0; animation: command-assistant-ping 5s ease-out infinite; }
.dashboard-app #navOverlay .command-assistant-wave-late { animation: none; }
/* Speaking: waves roll out continuously, the core glows brighter and pulses, the rings turn faster. */
html[data-voice-speaking] .dashboard-app #navOverlay .command-nav-assistant[aria-pressed="true"] .command-assistant-wave { animation: command-assistant-wave 1.2s ease-out infinite; }
html[data-voice-speaking] .dashboard-app #navOverlay .command-nav-assistant[aria-pressed="true"] .command-assistant-wave-late { animation: command-assistant-wave 1.2s ease-out .6s infinite; }
html[data-voice-speaking] .dashboard-app #navOverlay .command-nav-assistant[aria-pressed="true"] .command-assistant-core { fill: #8ee6a4; filter: drop-shadow(0 0 2.6px rgba(142, 230, 164, 1)); animation: command-assistant-talk .6s ease-in-out infinite; }
html[data-voice-speaking] .dashboard-app #navOverlay .command-nav-assistant[aria-pressed="true"] .command-assistant-ring-outer { animation-duration: 5s; }
html[data-voice-speaking] .dashboard-app #navOverlay .command-nav-assistant[aria-pressed="true"] .command-assistant-ring-inner { animation-duration: 3.5s; }
.dashboard-app #navOverlay .command-nav-assistant[aria-pressed="false"] :is(.command-assistant-ring, .command-assistant-core, .command-assistant-wave) { animation: none; }
.dashboard-app #navOverlay .command-nav-assistant[aria-pressed="false"] .command-assistant-ring { stroke: var(--command-grey, #727578); }
.dashboard-app #navOverlay .command-nav-assistant[aria-pressed="false"] .command-assistant-ring-outer { stroke-dasharray: none; stroke-width: 1.5; }
.dashboard-app #navOverlay .command-nav-assistant[aria-pressed="false"] .command-assistant-ring-inner { opacity: .5; }
.dashboard-app #navOverlay .command-nav-assistant[aria-pressed="false"] .command-assistant-core { fill: var(--command-grey, #727578); filter: none; transform: scale(.6); }
@media (hover: hover) {
	.dashboard-app #navOverlay .command-nav-assistant[aria-pressed="false"]:hover .command-assistant-ring { stroke: #fff; }
	.dashboard-app #navOverlay .command-nav-assistant[aria-pressed="false"]:hover .command-assistant-core { fill: #fff; }
}
@keyframes command-assistant-spin { to { transform: rotate(360deg); } }
@keyframes command-assistant-core { 0%, 100% { transform: scale(.85); opacity: .85; } 50% { transform: scale(1.05); opacity: 1; } }
@keyframes command-assistant-talk { 0%, 100% { transform: scale(.92); } 50% { transform: scale(1.12); } }
@keyframes command-assistant-ping { 0% { transform: scale(1); opacity: 0; } 4% { opacity: .6; } 30%, 100% { transform: scale(2.9); opacity: 0; } }
@keyframes command-assistant-wave { 0% { transform: scale(1); opacity: .75; } 100% { transform: scale(2.9); opacity: 0; } }
.dashboard-app #navOverlay .command-nav-social a + a { margin-left: -20px; } /* 20px between X and Discord */
.dashboard-app #navOverlay .command-nav-social a { display: inline-flex; align-items: center; justify-content: center; color: var(--command-grey, #727578); font-size: 20px; }
.dashboard-app #navOverlay > .footer { float: none; flex: 0 0 auto; margin: auto 0 0; padding-top: 40px; }
.dashboard-app #navOverlay .partnerships { margin: 0; }
.dashboard-app #navOverlay .partnerships-title { margin: 0 0 20px; font-size: var(--font-xs); line-height: 1; letter-spacing: .05em; }
.dashboard-app #navOverlay .partnerships a { height: 60px; }
.dashboard-app #navOverlay .partnerships a { color: var(--command-grey, #727578); }
.dashboard-app #navOverlay .partnerships a i { font-size: 24px; line-height: 24px; color: var(--command-grey, #727578); }
/* The wordmark is a white image: brightness(.45) turns it the nav's grey. */
.dashboard-app #navOverlay .partnerships-wordmark { width: 64px; height: 24px; filter: brightness(.45); }

/* The attached row is50px of content:40px controls and10px below them. */
.dashboard-app .site.collection:not(.single-active):not(.search-active) { padding-top: calc(var(--command-header-height) + var(--command-secondary-height)); }
.dashboard-app .site.collection:not(.single-active) .sub {
	display: block;
	top: var(--command-header-height);
	height: var(--command-secondary-height);
	box-sizing: border-box;
	background: #000;
	border-bottom: 1px solid #262626;
	pointer-events: auto;
	/* Match the preceding header's layer so the badge can protrude above this row. */
	z-index: 9998;
}
.dashboard-app .site.collection:not(.single-active) .sub .menu { height: var(--command-secondary-content-height); gap: 10px; padding: 0 0 10px; align-items: flex-start; justify-content: flex-end; }
.dashboard-app .sub .command-home-title { display: flex; align-items: center; height: 40px; padding: 0; font-size: 13px; line-height: 15px; font-weight: 500; color: #ededed; }
/* The single Planet title shares the same 40px row above the 10px bottom gap. */
.dashboard-app .dashboard-single-header .dashboard-header-identity { align-self: flex-start; height: 40px; }
.dashboard-app .site.collection:not(.single-active) .sub :is(.filter-button, .sort-toggle, .sort-button) { box-sizing: border-box; height: 40px; }
.dashboard-app .site.collection:not(.single-active) .sub .filter-button { width: 40px; flex: 0 0 40px; border: 1px solid #262626; }
.dashboard-app .site.collection:not(.single-active) .sub .sort-button { padding: 0 12px; }
.dashboard-app .sort-options { top: var(--command-secondary-content-height); border-color: #262626; }
.dashboard-app .sort-order { border-bottom-color: #262626; }
.dashboard-app :is(.sort-order, .sort-option) { box-sizing: content-box; height: 38px; width: auto; display: flex; }
.dashboard-app .filters-header { top: var(--command-header-height); height: var(--command-secondary-height); box-sizing: border-box; align-items: flex-start; padding-bottom: 10px; border-bottom: 1px solid #262626; }
.dashboard-app .filters-header-title { height: 40px; align-items: center; justify-content: flex-start; flex-wrap: wrap; align-content: center; gap: 2px 5px; }
.dashboard-app .filters-header-title .filters-title-sub { flex: 0 0 auto; }
.dashboard-app .filters-header :is(.reset-filters, .show-filters) { box-sizing: border-box; height: 40px; min-height: 40px; flex: 0 0 auto; padding: 0 10px; border-radius: 9999px; white-space: nowrap; }
.dashboard-app .filters-header .close-filters { box-sizing: border-box; width: 40px; height: 40px; flex: 0 0 40px; }
.dashboard-app .filters { padding-top: calc(var(--command-header-height) + var(--command-secondary-height) + 20px); }
.dashboard-app .command-results-toolbar { display: flex; align-items: flex-start; flex-wrap: wrap; gap: 5px 10px; margin: 0 0 10px; min-height: 32px; }
.dashboard-app .command-results-toolbar:has(> #idList:empty):has(> #activeFilters.hidden) { display: none; }
.dashboard-app .site.collection:not(.single-active) #idList { flex: 0 0 auto; width: auto; min-height: 32px; margin: 0; padding-right: 0; }
.dashboard-app .site.collection:not(.single-active) #idList .showing { height: 32px; line-height: 32px; }
.dashboard-app .site.collection:not(.single-active) #activeFilters:not(.hidden) { flex: 1 1 auto; width: auto; min-width: 0; margin: 0; }
.dashboard-app .site.collection:not(.single-active) #idList:empty { display: none; }
.dashboard-app .site.single-active .command-results-toolbar { display: none; }
@media (hover: hover) and (pointer: fine) {
	.dashboard-app .site.collection:not(.single-active) .sub :is(.filter-button, .sort-button):hover { border-color: #fff; color: #fff; }
	.dashboard-app > header .command-top-tabs :is(.command-top-tab, #searchButton):hover { color: #fff; }
	.dashboard-app > header #navBtn:hover .command-nav-line { background-color: #fff; }
	.dashboard-app #navOverlay :is(.command-nav-item, .command-nav-social a):hover { color: #fff; }
}
@media (max-width: 800px) {
	.dashboard-app > header .top { padding: 0 0 0 10px; gap: 10px; }
	.dashboard-app > header .command-top-tabs { flex: 1; margin: 0; }
	.dashboard-app > header .command-top-tabs .command-top-tab { padding: 0 10px; }
	.dashboard-app > header .top > #navBtn { margin-left: -10px; padding-right: 10px; }
}
