@font-face {
	font-family: 'IBM Plex Sans';
	src: url('/auth/assets/IBMPlexSans-Variable.e2291e842cf5.woff2') format('woff2');
	font-weight: 100 700;
	font-style: normal;
	font-display: block;
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: 'IBM Plex Sans';
	src: url('/auth/assets/IBMPlexSans-Variable-LatinExt.d160e20920ae.woff2') format('woff2');
	font-weight: 100 700;
	font-style: normal;
	font-display: block;
	unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
:root {
	color-scheme: dark;
	--bg: #000000;
	--surface-1: #0a0a0a;
	--card: rgba(255, 255, 255, 0.03);
	--card-hover: rgba(255, 255, 255, 0.05);
	--text-1: #ffffff;
	--text-2: rgba(255, 255, 255, 0.6);
	--text-link: #a78bfa;
	--text-link-hover: #f472b6;
	--border: rgba(255, 255, 255, 0.08);
	--border-hover: rgba(255, 255, 255, 0.15);
	--accent-text: #c4b5fd;
	--accent-alpha-15: rgba(139, 92, 246, 0.15);
	--accent-border: rgba(139, 92, 246, 0.4);
	--focus-color: #a78bfa;
	--glow-violet: rgba(139, 92, 246, 0.15);
	--gradient-strong: linear-gradient(135deg, #6d28d9 0%, #be185d 100%);
	--font-sans: 'IBM Plex Sans', sans-serif;
}
:root[data-theme='light'] {
	color-scheme: light;
	--bg: #ffffff;
	--surface-1: #fafafa;
	--card: rgba(0, 0, 0, 0.02);
	--card-hover: rgba(0, 0, 0, 0.04);
	--text-1: #0a0a0a;
	--text-2: rgba(0, 0, 0, 0.6);
	--text-link: #6d28d9;
	--text-link-hover: #be185d;
	--border: rgba(0, 0, 0, 0.08);
	--border-hover: rgba(0, 0, 0, 0.15);
	--accent-text: #5b21b6;
	--accent-alpha-15: rgba(124, 58, 237, 0.1);
	--accent-border: rgba(124, 58, 237, 0.35);
	--focus-color: #7c3aed;
	--glow-violet: rgba(139, 92, 246, 0.12);
}
@media (prefers-color-scheme: light) {
	:root:not([data-theme]) {
		color-scheme: light;
		--bg: #ffffff;
		--surface-1: #fafafa;
		--card: rgba(0, 0, 0, 0.02);
		--card-hover: rgba(0, 0, 0, 0.04);
		--text-1: #0a0a0a;
		--text-2: rgba(0, 0, 0, 0.6);
		--text-link: #6d28d9;
		--text-link-hover: #be185d;
		--border: rgba(0, 0, 0, 0.08);
		--border-hover: rgba(0, 0, 0, 0.15);
		--accent-text: #5b21b6;
		--accent-alpha-15: rgba(124, 58, 237, 0.1);
		--accent-border: rgba(124, 58, 237, 0.35);
		--focus-color: #7c3aed;
		--glow-violet: rgba(139, 92, 246, 0.12);
	}
}
*, *::before, *::after { box-sizing: border-box; }
html { font-family: var(--font-sans); background: var(--bg); color: var(--text-1); }
body {
	margin: 0;
	min-height: 100vh;
	font-family: var(--font-sans);
	font-size: 1rem;
	line-height: 1.6;
	background: radial-gradient(60rem 30rem at 50% -10rem, var(--glow-violet), transparent 70%), var(--bg);
	-webkit-font-smoothing: antialiased;
}
button, input { font: inherit; }
.top { display: flex; align-items: center; justify-content: space-between; padding: 24px 16px; max-width: 72rem; margin: 0 auto; }
.top a { display: inline-flex; border-radius: 6px; }
.top img { height: 22px; width: auto; display: block; }
main { max-width: 72rem; margin: 0 auto; padding: 16px 16px 64px; }
h1 { font-size: 2rem; line-height: 1.15; font-weight: 600; letter-spacing: -0.01em; margin: 0 0 24px; }
.lede { color: var(--text-2); font-size: 1.125rem; margin: 0 0 32px; }
.banner {
	border: 1px solid var(--accent-border);
	background: var(--accent-alpha-15);
	color: var(--accent-text);
	border-radius: 12px;
	padding: 12px 16px;
	font-size: 0.875rem;
	font-weight: 500;
	margin: 0 0 24px;
}
.cards { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }
@media (min-width: 768px) { .cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1200px) { .cards { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.card form { margin: 0; height: 100%; }
.card button {
	width: 100%;
	height: 100%;
	min-height: 44px;
	text-align: left;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 24px;
	border-radius: 20px;
	border: 1px solid var(--border);
	background: var(--card);
	color: var(--text-1);
	transition: border-color 150ms, background 150ms, transform 300ms cubic-bezier(0.16, 1, 0.3, 1);
}
.card button:hover { border-color: var(--border-hover); background: var(--card-hover); transform: translateY(-2px); }
.name { font-size: 1.125rem; font-weight: 600; }
.chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chip {
	font-size: 0.75rem;
	font-weight: 500;
	padding: 2px 10px;
	border-radius: 9999px;
	background: var(--accent-alpha-15);
	color: var(--accent-text);
}
.panel { border: 1px solid var(--border); background: var(--card); border-radius: 20px; padding: 24px; }
.panel p { margin: 0 0 16px; }
.actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 8px; }
.btn {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 20px;
	border-radius: 14px;
	text-decoration: none;
	font-weight: 500;
	color: #ffffff;
	background: var(--gradient-strong);
}
.btn.quiet { color: var(--text-1); background: transparent; border: 1px solid var(--border-hover); }
a { color: var(--text-link); }
a:hover { color: var(--text-link-hover); }
:focus-visible { outline: 2px solid var(--focus-color); outline-offset: 3px; }
.empty { color: var(--text-2); }
@media (prefers-reduced-motion: reduce) { .card button { transition: none; } .card button:hover { transform: none; } }
.role { margin: 0 0 32px; }
.more { display: none; }
.js .role[data-collapsed] .extra { display: none; }
.js .role[data-collapsed] .more {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	margin-top: 12px;
	padding: 0 20px;
	border-radius: 14px;
	border: 1px solid var(--border-hover);
	background: transparent;
	color: var(--text-1);
	font: inherit;
	font-weight: 500;
	cursor: pointer;
}
h2 { font-size: 1.125rem; font-weight: 600; margin: 0 0 4px; }
.blurb { color: var(--text-2); font-size: 0.875rem; margin: 0 0 16px; }
.top img.wm-light { display: none; }
:root[data-theme='light'] .top img.wm-dark { display: none; }
:root[data-theme='light'] .top img.wm-light { display: block; }
@media (prefers-color-scheme: light) {
	:root:not([data-theme]) .top img.wm-dark { display: none; }
	:root:not([data-theme]) .top img.wm-light { display: block; }
}
.toggle {
	display: inline-grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border: 1px solid var(--border);
	border-radius: 8px;
	background: transparent;
	color: var(--text-1);
	cursor: pointer;
}
.toggle:hover { border-color: var(--border-hover); }
.foot { border-top: 1px solid var(--border); margin-top: 32px; }
.foot-inner { max-width: 72rem; margin: 0 auto; padding: 32px 16px 48px; display: grid; gap: 16px; }
.links { display: flex; flex-wrap: wrap; gap: 12px 32px; margin: 0; padding: 0; list-style: none; }
.links a { color: var(--text-2); font-size: 0.875rem; text-decoration: none; }
.links a:hover { color: var(--text-1); text-decoration: underline; }
.company { margin: 0; color: var(--text-2); font-size: 0.75rem; }
@media (max-width: 599.98px) {
	.cards { gap: 6px; }
	.card button { flex-direction: row; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 14px; border-radius: 12px; }
	.role { margin: 0 0 24px; }
	.blurb { margin: 0 0 12px; }
	.foot-inner { padding: 24px 16px 32px; }
	.card .chips { flex-wrap: nowrap; flex-shrink: 0; }
	.name { font-size: 1rem; line-height: 1.25; }
	.foot { margin-top: 24px; }
}
