body {
	overflow: auto;
	min-width: 300px;
}

.no-js #mainContent, .js #noscript {
	display: none;
}

.no-js #noscript {
	opacity: 0;
	animation-fill-mode: forwards;
	animation-name: fadein;
	animation-duration: 1s;
	animation-delay: 1s;
}

@keyframes fadein {
	from { opacity: 0; }
	to	 { opacity: 1; }
}

.container {
	margin-top: 1em;
}

.dropdown .text, .ui.selection.dropdown .menu > .item {
	white-space: nowrap;
}

.ui.inverted.selection.active.dropdown .menu {
	border-color: #434343;
}

.pusher {
	display: flex;
	min-height: 100vh;
	flex-direction: column;
}

.ui.input > ::-moz-placeholder {
	opacity: .87;
}

.ui.input:hover > input {
	border-color: rgba(34, 36, 38, .35);
}

.ui.input.inverted:hover > input {
	border-color: rgba(255, 255, 255, .25);
}

.ui.input.inverted > input:focus::placeholder {
	color: rgba(255, 255, 255, .7);
}

.pusher > .container {
	flex: 1;
}

.ui.nag:not(.overlay):not(.fixed) {
	border-radius: 0;
}

.ui.nag > .title {
	margin: 0 1em;
}

.ui.footer.segment {
	margin-top: 1rem;
}

.segment {
	min-height: 10em;
}

.ui.basic.button {
	background-color: #fff;
}

.ui.button:not(.icon) > .icon:not(.button):not(.dropdown), .ui.button:not(.icon) > .icons:not(.button):not(.dropdown) {
	vertical-align: middle;
}

.ui.table:not(.unstackable) > thead > tr {
	padding: 0;
}

.ui.menu .dropdown.item .menu,
.ui.menu .ui.inverted.dropdown.item .menu {
	min-width: 100%;
}

.ui.ui.inverted.attached.segment,
.ui.stackable.top.attached.borderless.menu.inverted {
	border: 1px solid #1b1c1d;
}

.ui.top.attached.menu > .item:first-child {
	border-radius: .28571429rem 0;
}

.ui.button:last-child {
	margin-right: 0;
}

@media only screen and (max-width:767.98px) {
	.ui.top.attached.menu > .item:first-child {
		border-radius: .28571429rem .28571429rem 0 0;
	}

	.dark-theme .ui.top.attached.menu > .item:first-child {
		border-bottom: none;
	}

	.ui.table:not(.unstackable) > thead > tr > th:not(.rowspanned).disabled {
		display: none !important;
	}

	.ui.ui.ui.ui.table:not(.unstackable) > thead > tr > th:hover {
		background: rgba(0, 0, 0, .05);
	}

	.dataControls .button {
		display: block;
		width: 100%;
	}

	.ui.menu:not(.vertical) .item.dataControls > .button {
		padding-left: 0;
		padding-right: 0;
	}

	.ui.table > tbody > tr {
		padding-top: 1.25em !important;
		position: relative;
	}

	.ui.table > thead > tr {
		padding: 0 !important;
	}

	.ui.table > thead > tr:first-child > th:first-child {
		border-radius: .28571429rem .28571429rem 0 0;
	}

	.singleReset {
		position: absolute;
		top: .5em;
		right: .75em;
		padding-right: 1.165rem !important;
		padding-left: 1.165rem !important;
		width: auto !important;
	}
}

@media only screen and (min-width:768px) {
	.ui.menu .horizontally.fitted.item.dataControls {
		padding-top: 1.5em;
	}
}

.ui.search.selection.dropdown.encounter-picker > input:not([value=""]) ~ input.search,
.ui.search.selection.dropdown.encounter-picker .menu > .item {
	padding-top: 10px;
}

.ui.search.selection.dropdown.encounter-picker > input:not([value=""]) ~ input.search {
	padding-left: 61px;
}


.ui.inverted.form .error.field label {
	color: #802e2e;
}

.ui.ui.form .field.error label {
	color: #9f3a38;
}

.ui.form .field input:not(:placeholder-shown):invalid {
	background: #fff;
	border: 1px solid rgba(34, 36, 38, .15);
	color: rgba(0, 0, 0, .87);
}

.ui.form .error.field input:not(:placeholder-shown):invalid {
	color: #9f3a38;
	background: #fff6f6;
	border-color: #e0b4b4;
}

.ui.form.inverted .field input:not(:placeholder-shown):invalid {
	border: 1px solid rgba(255, 255, 255, .15);
	background: #1b1c1d;
	color: rgba(255, 255, 255, .8);
}

.ui.form.inverted .error.field input:not(:placeholder-shown):invalid {
	border-color: #802e2e;
	background: rgba(134, 0, 0, .44);
}

.ui.selectable.table > tbody > tr {
	cursor: auto;
}

.ui.sortable.table:not(.basic) > thead > tr > th.disabled:hover {
	background: #f9fafb;
}

.ui.inverted.sortable.table:not(.basic) > thead > tr > th.disabled:hover {
	background: rgba(0, 0, 0, .15);
}

.customLocation td:first-child {
	font-weight: bold;
}

.ui.dropdown .menu > .item > img.pkmn,
.ui.dropdown > .text > img.pkmn {
	width: 68px;
	height: 56px;
	max-height: 56px;
	display: block;
	position: absolute;
	margin: 0;
	left: -6px;
	top: -22px;
	pointer-events: none;
}

i.pkmn:not(.icon) {
	display: inline-block;
	width: 40px;
	height: 0;
	line-height: 11px;
	vertical-align: middle;
	margin: 0 .5em 0 0;
	backface-visibility: hidden;
}

.pkmn:not(.icon):before {
	display: block;
	content: '';
	background: url("../../img/sprites.webp") no-repeat 0 0;
	width: 68px;
	height: 56px;
	position: absolute;
	top: -20px;
	left: -4px;
}

.text i.pkmn:before {
	top: -32px;
	left: -20px;
}

.hidden,
[hidden] {
	display: none !important;
}

input[type="file"] {
	border: 0;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	white-space: nowrap;
	width: 1px;
}

input[type="file"]:focus + label,
input[type="file"]:focus-widthin + label,
input[type="file"] + label:hover {
	background-color: #f15d22;
}

input[type="file"]:focus + label,
input[type="file"]:focus-widthin + label {
	outline: thin dotted;
}

.ui.menu:not(.vertical) .item > .button.gameSettings {
	margin-left: .5rem;
	padding-right: 1.165rem;
	padding-left: 1.165rem;
}

.float-right {
	float: right;
}

.ui.toggle.float-right {
	margin-right: .25rem;
}

.toggle .icon {
	margin-top: -2px;
	cursor: pointer;
}

.dropdown.icon {
	pointer-events: none;
}

input[type="checkbox"] + label[for] {
	cursor: pointer;
}

.toggle:hover label::before {
	background-color: rgba(0, 0, 0, .15) !important;
}

.dark-theme {
	background: #2a2a2e;
}

.dark-theme .ui.header,
.dark-theme .ui.toggle.checkbox input:checked ~ label {
	color: #fff !important;
}

.ui.inverted.attached.segment {
	border: none;
}

.ui.inverted.modal {
	border: 1px solid rgba(255, 255, 255, .15);
}

.ui.secondary.menu,
.ui.secondary.menu .item {
	margin: 0;
}

.ui.secondary.menu .horizontally.fitted.item {
	padding-left: 0;
	padding-right: 0;
}

.ui.menu .horizontally.fitted.item.dataControls {
	padding-right: 1em;
	padding-left: 1em;
}

.ui.menu .horizontally.fitted.item.dataControls .button:not(:first-child) {
	margin-left: .5rem;
}

.ui.inverted.input > input,
.ui.inverted.form input[type="text"] {
	border: 1px solid rgba(255, 255, 255, .15);
	background: #1b1c1d;
	color: rgba(255, 255, 255, .8);
}

i.icon {
	display: inline-block;
	opacity: 1;
	margin: 0 .25rem 0 0;
	width: 1em;
	height: 1em;
	text-decoration: inherit;
	text-align: center;
}

i.icon {
	background: none !important;
}

i.icon::before {
	display: block;
}

.ui.sortable.table thead th.ascending::after,
.ui.sortable.table thead th.descending::after {
	vertical-align: middle;
	display: inline-block;
}

i.icon::before,
.ui.sortable.table thead th.ascending::after,
.ui.sortable.table thead th.descending::after {
	content: '' !important;
	width: 1em;
	height: 1em;
	background-repeat: no-repeat;
	background-position: center;
}

i.icon.large::before {
	width: 1.5em;
	height: 1.5em;
}

i.circular.icon {
	border-radius: 500em !important;
	line-height: 1 !important;
	padding: .5em 0 !important;
	-webkit-box-shadow: 0 0 0 .1em rgba(0, 0, 0, .1) inset;
	box-shadow: 0 0 0 .1em rgba(0, 0, 0, .1) inset;
	width: 2em !important;
	height: 2em !important;
}

.circular.button i.icon,
.inverted.circular.button:hover i.icon {
	filter: none;
}

.ui.circular.button > .icon.large {
	width: 1.714em;
}

.ui.circular.button > .icon.large::before {
	width: 100%;
}

.inverted i.icon,
.green.button i.icon,
.blue.button i.icon,
.red.button i.icon,
.inverted.ui.sortable.table thead th.ascending::after,
.inverted.ui.sortable.table thead th.descending::after,
.inverted.circular.button i.icon {
	filter: invert(100%);
}

.inverted.red.button:not(:hover) i.icon {
	filter: invert(55%) sepia(13%) saturate(2655%) hue-rotate(315deg) brightness(100%) contrast(102%);
}

.inverted.blue.button:not(:hover) i.icon {
	filter: invert(64%) sepia(72%) saturate(556%) hue-rotate(171deg) brightness(100%) contrast(105%);
}

.inverted.green.button:not(:hover) i.icon {
	filter: invert(71%) sepia(83%) saturate(2731%) hue-rotate(76deg) brightness(99%) contrast(79%);
}

.ui.dropdown > .dropdown.icon::before,
.ui.sortable.table thead th.descending::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath d='M137 375c13 12 33 12 46 0l128-128c9-10 12-23 7-35s-17-20-30-20H32a32 32 0 0 0-23 55l128 128z'/%3E%3C/svg%3E") !important;
}

.ui.sortable.table thead th.ascending::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath d='M183 137a32 32 0 0 0-46 0L9 265c-9 10-12 23-7 35s17 20 30 20h256a32 32 0 0 0 23-55L183 137z'/%3E%3C/svg%3E") !important;
}

i.icon.sidebar::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M0 96c0-18 14-32 32-32h384a32 32 0 1 1 0 64H32c-18 0-32-14-32-32zm0 160c0-18 14-32 32-32h384a32 32 0 1 1 0 64H32c-18 0-32-14-32-32zm448 160c0 18-14 32-32 32H32a32 32 0 1 1 0-64h384c18 0 32 14 32 32z'/%3E%3C/svg%3E") !important;
}

i.icon.github::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 496 512'%3E%3Cpath d='M166 397c0 2-2 4-5 4-4 0-6-1-6-4 0-2 2-3 5-3 3-1 6 1 6 3zm-31-4c-1 2 1 4 4 5s6 0 6-2-1-5-4-5c-3-1-5 0-6 2zm44-2c-3 1-5 3-5 5 1 2 3 3 6 3 3-1 5-3 5-5s-3-3-6-3zM245 8A240 240 0 0 0 0 252c0 111 70 206 170 239 12 2 17-5 17-12v-61s-70 15-85-30c0 0-12-29-28-37 0 0-23-15 2-15 0 0 24 2 38 26 22 38 59 27 73 21 2-16 9-28 16-34-56-6-112-14-112-111 0-27 7-41 23-59-2-6-11-33 3-67 21-7 69 27 69 27a237 237 0 0 1 126 0s48-34 69-27c13 34 5 61 2 67 16 18 26 32 26 59 0 97-59 105-115 111 9 8 17 23 17 46v84c0 6 5 14 17 12a248 248 0 0 0 168-239C496 113 384 8 245 8zM97 353c-1 1-1 3 1 5 1 2 4 2 5 1s1-3-1-5c-1-2-4-2-5-1zm-11-8 3 4c1 1 3 0 4-1s0-3-2-4-4 0-5 1zm33 35c-2 2-1 5 1 7s5 2 7 1c1-2 0-5-2-7s-5-2-6-1zm-12-14v6c2 2 5 3 6 2 2-1 2-4 0-6-1-3-4-4-6-2z'/%3E%3C/svg%3E") !important;
}

i.icon.plus::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M256 80a32 32 0 1 0-64 0v144H48a32 32 0 1 0 0 64h144v144a32 32 0 1 0 64 0V288h144a32 32 0 1 0 0-64H256V80z'/%3E%3C/svg%3E") !important;
}

i.icon.close::before,
i.icon.remove::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath d='M311 151a32 32 0 0 0-46-46L160 211 55 105a32 32 0 0 0-46 46l106 105L9 361a32 32 0 0 0 46 46l105-106 105 106a32 32 0 0 0 46-46L205 256l106-105z'/%3E%3C/svg%3E") !important;
}

i.icon.adjust::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M448 256c0-106-86-192-192-192v384c106 0 192-86 192-192zm64 0a256 256 0 1 1-512 0 256 256 0 0 1 512 0z'/%3E%3C/svg%3E") !important;
}

i.icon.settings::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M496 167c3 8 0 18-7 24l-43 40a193 193 0 0 1 0 50l43 40c7 6 10 16 7 24l-16 35-5 8c-6 11-14 21-22 31-6 7-15 10-24 7l-56-18c-13 10-28 19-44 26l-12 57c-2 9-9 16-19 17a258 258 0 0 1-85 0c-9-1-16-8-18-17l-12-57c-16-7-31-16-44-26l-56 18c-9 3-19 0-24-7-9-10-16-20-23-31l-4-8c-6-11-12-23-16-35-3-8-1-18 6-24l44-40a196 196 0 0 1 0-50l-44-40c-7-6-9-16-6-24 4-12 10-24 16-35l4-8 23-31c6-7 15-10 24-7l56 18c13-10 28-19 44-25l12-58c2-9 9-16 19-17a248 248 0 0 1 85 0c9 1 16 8 18 17l12 57c16 7 31 16 44 26l56-18c9-3 18 0 24 7 8 10 16 20 22 31l5 8c6 11 12 23 16 35zM256 336a80 80 0 1 0 0-160 80 80 0 0 0 0 160z'/%3E%3C/svg%3E") !important;
}

i.icon.upload::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M288 109v243a32 32 0 1 1-64 0V109l-73 74a32 32 0 0 1-46-46L233 9c13-12 33-12 46 0l128 128a32 32 0 0 1-46 46l-73-74zM64 352h128a64 64 0 0 0 128 0h128c35 0 64 29 64 64v32c0 35-29 64-64 64H64c-35 0-64-29-64-64v-32c0-35 29-64 64-64zm368 104a24 24 0 1 0 0-48 24 24 0 1 0 0 48z'/%3E%3C/svg%3E") !important;
}

i.icon.download::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M288 32a32 32 0 1 0-64 0v243l-73-74a32 32 0 0 0-46 46l128 128c13 12 33 12 46 0l128-128a32 32 0 0 0-46-46l-73 74V32zM64 352c-35 0-64 29-64 64v32c0 35 29 64 64 64h384c35 0 64-29 64-64v-32c0-35-29-64-64-64H347l-46 45a64 64 0 0 1-90 0l-45-45H64zm368 104a24 24 0 1 1 0-48 24 24 0 1 1 0 48z'/%3E%3C/svg%3E") !important;
}

i.icon.ban::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M288 109v243a32 32 0 1 1-64 0V109l-73 74a32 32 0 0 1-46-46L233 9c13-12 33-12 46 0l128 128a32 32 0 0 1-46 46l-73-74zM64 352h128a64 64 0 0 0 128 0h128c35 0 64 29 64 64v32c0 35-29 64-64 64H64c-35 0-64-29-64-64v-32c0-35 29-64 64-64zm368 104a24 24 0 1 0 0-48 24 24 0 1 0 0 48z'/%3E%3C/svg%3E");
}

i.icon.hdd::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M0 96c0-35 29-64 64-64h384c35 0 64 29 64 64v184a96 96 0 0 0-64-24H64c-25 0-47 9-64 24V96zm64 192h384c35 0 64 29 64 64v64c0 35-29 64-64 64H64c-35 0-64-29-64-64v-64c0-35 29-64 64-64zm256 128a32 32 0 1 0 0-64 32 32 0 0 0 0 64zm128-32a32 32 0 1 0-64 0 32 32 0 0 0 64 0z'/%3E%3C/svg%3E");
}

i.icon.gift::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='m191 69 34 59h-73a40 40 0 1 1 0-80h2c15 0 29 8 36 21zM64 88c0 14 4 28 10 40H32c-18 0-32 14-32 32v64c0 18 14 32 32 32h448c18 0 32-14 32-32v-64c0-18-14-32-32-32h-42A88 88 0 0 0 360 0h-2c-32 0-62 17-78 44l-24 42-24-41a90 90 0 0 0-78-45h-2c-49 0-88 39-88 88zm336 0c0 22-18 40-40 40h-73l34-59c8-13 22-21 37-21h2c22 0 40 18 40 40zM32 288v176c0 27 22 48 48 48h144V288H32zm256 224h144c27 0 48-21 48-48V288H288v224z'/%3E%3C/svg%3E");
}

i.icon.exchange::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M32 96h320V32a32 32 0 0 1 55-23l96 96a32 32 0 0 1 0 46l-96 96c-9 9-23 11-35 6s-20-16-20-29v-64H32a32 32 0 1 1 0-64zm448 256a32 32 0 1 1 0 64H160v64a32 32 0 0 1-55 23L9 407a32 32 0 0 1 0-45l96-96c9-10 23-12 35-7s20 16 20 29v64h320z'/%3E%3C/svg%3E");
}

i.icon.skull::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M416 399c59-41 96-104 96-175C512 100 397 0 256 0S0 100 0 224c0 71 38 134 96 175v65c0 27 22 48 48 48h48v-48c0-9 7-16 16-16s16 7 16 16v48h64v-48c0-9 7-16 16-16s16 7 16 16v48h48c27 0 48-21 48-48v-65zM224 256a64 64 0 1 1-128 0 64 64 0 0 1 128 0zm128 64a64 64 0 1 1 0-128 64 64 0 0 1 0 128z'/%3E%3C/svg%3E");
}

i.icon.check::before,
.ui.checkbox:not(.toggle) input:checked ~ .box::after,
.ui.checkbox:not(.toggle) input:checked ~ label::after {
	content: '';
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M471 105c12 13 12 33 0 46L215 407a32 32 0 0 1-46 0L41 279a32 32 0 0 1 46-46l105 106 233-234c13-12 33-12 46 0z'/%3E%3C/svg%3E");
}

/* ── SoulLink tracker layout ───────────────────────────────────────── */

/* Expand container to fill most of the viewport on larger screens */
@media only screen and (min-width: 768px) {
	body > .pusher > .ui.container {
		width: calc(100% - 2em) !important;
		max-width: none;
	}
}

/* Fixed layout so columns never resize as data is entered */
.ui.sortable.table {
	table-layout: fixed;
}

/* Collapse B-side columns when in Nuzlocke mode */
.table-nuzlocke-mode .soullink-only {
	display: none !important;
}

/* Keep long location names from blowing out the first column */
.ui.table tbody tr td:first-child {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* ── Status row highlighting ───────────────────────────────────────── */

tr.status-inparty {
	background-color: rgba(76, 175, 80, 0.13) !important;
}

tr.status-missed,
tr.status-deceased {
	background-color: #f4f4f4 !important;
}

tr.status-missed > td,
tr.status-deceased > td {
	color: rgba(0, 0, 0, 0.3) !important;
}

tr.status-missed .ui.dropdown,
tr.status-deceased .ui.dropdown {
	color: rgba(0, 0, 0, 0.3) !important;
	background: #f4f4f4 !important;
	border-color: rgba(0, 0, 0, 0.07) !important;
}

tr.status-missed .ui.input > input,
tr.status-deceased .ui.input > input {
	color: rgba(0, 0, 0, 0.3) !important;
	background: #f4f4f4 !important;
	border-color: rgba(0, 0, 0, 0.07) !important;
}

tr.status-missed i.icon::before,
tr.status-deceased i.icon::before,
tr.status-missed i.pkmn:not(.icon)::before,
tr.status-deceased i.pkmn:not(.icon)::before {
	opacity: 0.25;
}

.dark-theme tr.status-missed,
.dark-theme tr.status-deceased {
	background-color: rgba(255, 255, 255, 0.03) !important;
}

.dark-theme tr.status-missed > td,
.dark-theme tr.status-deceased > td {
	color: rgba(255, 255, 255, 0.2) !important;
}

.dark-theme tr.status-missed .ui.dropdown,
.dark-theme tr.status-deceased .ui.dropdown {
	color: rgba(255, 255, 255, 0.2) !important;
	background: transparent !important;
	border-color: rgba(255, 255, 255, 0.05) !important;
}

.dark-theme tr.status-missed .ui.input > input,
.dark-theme tr.status-deceased .ui.input > input {
	color: rgba(255, 255, 255, 0.2) !important;
	background: transparent !important;
	border-color: rgba(255, 255, 255, 0.05) !important;
}

/* ── Filter bar ─────────────────────────────────────────────────────── */

.filter-bar {
	display: flex;
	align-items: center;
	gap: 1.25em;
	padding: .5em 0 .75em;
	flex-wrap: wrap;
}

.filter-label {
	font-weight: 600;
	color: rgba(0, 0, 0, .55);
	font-size: .9em;
}

.filter-item {
	cursor: pointer;
	user-select: none;
	color: rgba(0, 0, 0, .65);
	font-size: .9em;
}

.filter-item input[type="checkbox"] {
	margin-right: .3em;
	cursor: pointer;
}

.dark-theme .filter-label {
	color: rgba(255, 255, 255, .5);
}

.dark-theme .filter-item {
	color: rgba(255, 255, 255, .65);
}

/* ── Party / Box / Cemetery overview ───────────────────────────────────── */

.pokemon-overview {
	padding: .6em 0 .75em;
	border-bottom: 1px solid rgba(0, 0, 0, .08);
	margin-bottom: .5em;
}

/* Party — centered column layout */
.overview-party {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: .3em;
	margin-bottom: .75em;
}

/* SoulLink: two player sections side by side */
.overview-party--soullink {
	flex-direction: row;
	justify-content: center;
	align-items: flex-start;
	gap: 2.5em;
}

.overview-party-header {
	font-size: .75em;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: rgba(0, 0, 0, .4);
	margin-bottom: .1em;
}

/* One section per player in SoulLink, or just the slots in Nuzlocke */
.overview-player-section {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: .5em;
}

.overview-player-name {
	font-size: 1em;
	font-weight: 600;
	color: rgba(0, 0, 0, .7);
}

.overview-party-slots {
	display: flex;
	gap: 3px;
	align-items: center;
}

/* Pokemon icon container — square slot, sprite centered */
.overview-pkmn {
	position: relative;
	width: 56px;
	height: 56px;
	display: inline-block;
	vertical-align: bottom;
	flex-shrink: 0;
}

/* Center the 68px-wide sprite horizontally in the 56px slot */
.overview-pkmn i.pkmn:not(.icon)::before {
	top: 0;
	left: -6px;
}

.overview-pkmn i.pkmn:not(.icon) {
	margin: 0;
}

.overview-party-pkmn,
.overview-box-pkmn {
	cursor: pointer;
}

.overview-party-pkmn:hover,
.overview-box-pkmn:hover {
	opacity: .65;
}

.overview-dead-pkmn {
	cursor: default;
	opacity: .5;
}

/* Empty party slot — square to match filled slots */
.overview-slot-empty {
	width: 56px;
	height: 56px;
	border: 2px dashed rgba(0, 0, 0, .15);
	border-radius: 4px;
	display: inline-block;
	flex-shrink: 0;
	box-sizing: border-box;
}

/* Storage section — always visible */
.overview-storage {
	margin-top: .25em;
}

/* Tabs */
.overview-tabs {
	display: flex;
	border-bottom: 1px solid rgba(0, 0, 0, .1);
	margin-bottom: .6em;
}

.overview-tab {
	padding: .3em .9em;
	cursor: pointer;
	font-size: .85em;
	color: rgba(0, 0, 0, .5);
	border: none;
	border-bottom: 2px solid transparent;
	background: none;
	user-select: none;
	margin-bottom: -1px;
}

.overview-tab:hover {
	color: rgba(0, 0, 0, .75);
}

.overview-tab.active {
	color: rgba(0, 0, 0, .85);
	border-bottom-color: #1da1da;
	font-weight: 600;
}

.overview-tab-panel {
	min-height: 56px;
}

.overview-tab-hidden {
	display: none;
}

/* Storage icons */
.overview-storage-icons {
	display: flex;
	flex-wrap: wrap;
	gap: 3px;
	align-items: flex-end;
	min-height: 56px;
	padding-bottom: .2em;
}

.overview-empty-text {
	font-size: .82em;
	color: rgba(0, 0, 0, .35);
	font-style: italic;
	align-self: center;
}

/* Grid wrapper for SoulLink storage rows: name col | icons col */
.overview-storage-grid {
	display: grid;
	grid-template-columns: minmax(60px, auto) 1fr;
	row-gap: .75em;
	column-gap: .75em;
	align-items: start;
}

/* Make each player row transparent to the grid so name + icons become direct grid items */
.overview-player-storage {
	display: contents;
}

.overview-player-storage .overview-player-name {
	font-size: 1em;
	min-width: 60px;
	align-self: center;
}

/* Dark theme */
.dark-theme .pokemon-overview {
	border-bottom-color: rgba(255, 255, 255, .08);
}

.dark-theme .overview-party-header {
	color: rgba(255, 255, 255, .35);
}

.dark-theme .overview-player-name {
	color: rgba(255, 255, 255, .8);
}

.dark-theme .overview-slot-empty {
	border-color: rgba(255, 255, 255, .18);
}

.dark-theme .overview-tabs {
	border-bottom-color: rgba(255, 255, 255, .1);
}

.dark-theme .overview-tab {
	color: rgba(255, 255, 255, .4);
}

.dark-theme .overview-tab:hover {
	color: rgba(255, 255, 255, .75);
}

.dark-theme .overview-tab.active {
	color: rgba(255, 255, 255, .9);
}

.dark-theme .overview-empty-text {
	color: rgba(255, 255, 255, .25);
}