:root {
	--bg: #0b0d14;
	--bg-2: #11141d;
	--panel: #161a25;
	--panel-2: #1c2130;
	--line: #262c3b;
	--line-soft: #1e2331;
	--text: #e7eaf3;
	--text-dim: #98a0b5;
	--text-faint: #626b81;

	--accent: #8b5cf6;
	--accent-2: #22d3ee;
	--accent-glow: rgba(139, 92, 246, 0.35);
	--good: #34d399;
	--warn: #fbbf24;
	--bad: #f87171;

	--yt: #ff0033;

	--r-sm: 6px;
	--r-md: 10px;
	--r-lg: 16px;

	--font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--mono: ui-monospace, "Cascadia Mono", "Consolas", monospace;
}

* {
	box-sizing: border-box;
}

html,
body {
	height: 100%;
}

body {
	margin: 0;
	background: var(--bg);
	color: var(--text);
	font-family: var(--font);
	font-size: 15px;
	line-height: 1.45;
	-webkit-font-smoothing: antialiased;
}

a {
	color: var(--accent-2);
}

button,
input,
select {
	font: inherit;
	color: inherit;
}

button {
	cursor: pointer;
	border: 0;
	background: none;
}

.btn {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 8px 14px;
	border-radius: var(--r-md);
	background: var(--panel-2);
	border: 1px solid var(--line);
	color: var(--text);
	font-size: 14px;
	font-weight: 500;
	transition: background 0.14s, border-color 0.14s, transform 0.08s;
	white-space: nowrap;
}

.btn:hover {
	background: #232939;
	border-color: #333b4f;
}

.btn:active {
	transform: translateY(1px);
}

.btn.primary {
	background: linear-gradient(180deg, #9068f7, #7c4ef0);
	border-color: #6d3fe0;
	color: #fff;
	box-shadow: 0 2px 14px var(--accent-glow);
}

.btn.primary:hover {
	background: linear-gradient(180deg, #9e7bf8, #8a5ef3);
}

.btn.ghost {
	background: transparent;
	border-color: transparent;
	color: var(--text-dim);
}

.btn.ghost:hover {
	background: var(--panel-2);
	color: var(--text);
}

.btn.danger:hover {
	border-color: #6b2a2f;
	background: #2a1a1e;
	color: #ffb4b4;
}

.btn[disabled] {
	opacity: 0.45;
	pointer-events: none;
}

.field {
	display: flex;
	align-items: center;
	gap: 8px;
	background: var(--bg-2);
	border: 1px solid var(--line);
	border-radius: var(--r-md);
	padding: 0 12px;
	transition: border-color 0.15s, box-shadow 0.15s;
}

.field:focus-within {
	border-color: var(--accent);
	box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.15);
}

.field input {
	flex: 1;
	min-width: 0;
	background: none;
	border: 0;
	outline: none;
	padding: 9px 0;
}

.field input::placeholder {
	color: var(--text-faint);
}

.wordmark {
	display: flex;
	align-items: center;
	gap: 9px;
	font-weight: 650;
	letter-spacing: -0.01em;
}

.wordmark .mark {
	width: 24px;
	height: 24px;
	flex: none;
}

.wordmark .sub {
	color: var(--text-faint);
	font-weight: 500;
}

.sr {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
}

@media (prefers-reduced-motion: reduce) {
	* {
		animation-duration: 0.01ms !important;
		transition-duration: 0.01ms !important;
	}
}
