.palette {
	width: min(64rem, calc(100vw - var(--space-6)));
	max-height: min(60rem, 80dvh);
	padding: 0;
	border: 1px solid var(--surface-raised-border);
	border-radius: var(--radius-l);
	background: rgb(var(--nm-black-rgb) / 0.72);
	color: var(--text-primary);
	font-family: var(--font-ui);
	box-shadow: var(--surface-raised-shadow);
	backdrop-filter: blur(var(--glass-blur-l));
	overflow: hidden;
}

.palette::backdrop {
	background: rgb(var(--nm-ink900) / 0.6);
	backdrop-filter: blur(var(--glass-blur-s));
}

.palette-form {
	display: flex;
	gap: var(--space-2);
	align-items: center;
	padding: var(--space-4);
	border-bottom: 1px solid var(--surface-raised-border);
}

.palette-prompt {
	color: var(--accent);
	font-size: var(--step-1);
}

.palette-input {
	flex: 1 1 auto;
	min-width: 0;
	border: 0;
	background: none;
	color: var(--text-primary);
	font: inherit;
	font-size: var(--step-1);
}

.palette-input::placeholder {
	color: var(--text-muted);
}

.palette-input:focus {
	outline: none;
}

.palette-esc,
.palette-hints kbd {
	padding: 0 var(--space-1);
	border: 1px solid var(--surface-raised-border);
	border-radius: var(--radius-xs);
	color: var(--text-muted);
	font: inherit;
	font-size: var(--step--1);
}

.palette-results {
	max-height: 40rem;
	padding: var(--space-2);
	overflow-y: auto;
	overscroll-behavior: contain;
}

.palette-group {
	margin: var(--space-3) var(--space-2) var(--space-1);
	color: var(--text-muted);
	font-size: var(--step--1);
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.palette-option {
	display: flex;
	gap: var(--space-3);
	align-items: baseline;
	justify-content: space-between;
	padding: var(--space-2) var(--space-3);
	border-radius: var(--radius-s);
	color: var(--text-secondary);
	font-size: var(--step-0);
	text-decoration: none;
}

.palette-option[aria-selected="true"] {
	background: var(--accent-wash);
	color: var(--text-primary);
	box-shadow: inset 0 0 0 1px var(--accent-edge);
}

.palette-option mark {
	background: none;
	color: var(--accent);
	font-weight: 700;
}

.palette-option-hint {
	color: var(--text-muted);
	font-size: var(--step--1);
	white-space: nowrap;
}

.palette-status {
	margin: 0;
	padding: 0 var(--space-4);
	color: var(--text-muted);
	font-size: var(--step--1);
}

.palette-hints {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3);
	padding: var(--space-3) var(--space-4);
	border-top: 1px solid var(--surface-raised-border);
	color: var(--text-muted);
	font-size: var(--step--1);
}

@media (max-width: 640px) {
	.palette {
		width: 100vw;
		max-width: none;
		max-height: 85dvh;
		margin: 0;
		border-radius: var(--radius-l) var(--radius-l) 0 0;
		position: fixed;
		inset: auto 0 0 0;
	}

	.palette-hints {
		display: none;
	}
}
