@import url('https://fonts.googleapis.com/css2?family=Lexend:wght@100..900&display=swap');

*, ::before, ::after { box-sizing: border-box; border: 0 solid var(--lm-line, #232a3a); }
html { -webkit-text-size-adjust: 100%; tab-size: 4; }
body { margin: 0; line-height: inherit; }
hr { height: 0; color: inherit; border: 0; }
h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; margin: 0; }
p, figure, blockquote, dl, dd, pre { margin: 0; }
ol, ul, menu { list-style: none; margin: 0; padding: 0; }
a { color: inherit; text-decoration: inherit; }
b, strong { font-weight: bolder; }
small { font-size: 80%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sub { bottom: -0.25em; }
sup { top: -0.5em; }
table { text-indent: 0; border-color: inherit; border-collapse: collapse; }
button, input, optgroup, select, textarea {
  font-family: inherit;
  font-size: 100%;
  font-weight: inherit;
  line-height: inherit;
  color: inherit;
  margin: 0;
  padding: 0;
}
button, [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; background-color: transparent; background-image: none; }
:-moz-focusring { outline: auto; }
progress { vertical-align: baseline; }
summary { display: list-item; }
textarea { resize: vertical; }
input::placeholder, textarea::placeholder { opacity: 1; color: var(--lm-dim, #8b93a7); }
button, [role="button"] { cursor: pointer; }
:disabled { cursor: default; }
img, svg, video, canvas, audio, iframe, embed, object { display: block; vertical-align: middle; }
img, video { max-width: 100%; height: auto; }
[hidden] { display: none !important; }

.relative { position: relative; }
.absolute { position: absolute; }
.flex { display: flex; }
.inline-flex { display: inline-flex; }
.grid { display: grid; }
.inline-grid { display: inline-grid; }
.flex-col { flex-direction: column; }
.items-center { align-items: center; }
.justify-center { justify-content: center; }
.justify-between { justify-content: space-between; }
.place-content-center { place-content: center; }
.text-center { text-align: center; }
.align-middle { vertical-align: middle; }

.gap-4 { gap: 1rem; }
.p-3 { padding: 0.75rem; }
.mb-0 { margin-bottom: 0; }
.space-y-1 > * + * { margin-top: 0.25rem; }
.space-y-4 > * + * { margin-top: 1rem; }

.size-8 { width: 2rem; height: 2rem; }
.size-12 { width: 3rem; height: 3rem; }
.\[\&_svg\]\:size-6 svg { width: 1.5rem; height: 1.5rem; }
.\[\&_svg\]\:mx-auto svg { margin-inline: auto; }

.grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
@media (min-width: 640px) { .sm\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 768px) { .md\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .lg\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 1280px) { .xl\:grid-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); } }

.text-sm { font-size: 0.8125rem; line-height: 1.5; }
.text-base { font-size: 0.9375rem; line-height: 1.55; }
.text-lg { font-size: 1.0625rem; line-height: 1.45; }
.text-xl { font-size: 1.25rem; line-height: 1.35; }
.font-medium { font-weight: 500; }
.font-bold { font-weight: 700; }
.opacity-50 { opacity: 0.5; }
.opacity-60 { opacity: 0.6; }

.rounded-md { border-radius: var(--lm-r-sm, 6px); }
.rounded-full { border-radius: 99px; }
.border { border-width: 1px; }
.border-primary\/40 { border-color: color-mix(in oklab, var(--lm-gold, #f2c14a) 40%, transparent); }
.border-primary\/50 { border-color: color-mix(in oklab, var(--lm-gold, #f2c14a) 50%, transparent); }
.bg-primary\/5 { background-color: color-mix(in oklab, var(--lm-gold, #f2c14a) 6%, transparent); }
.bg-accent { background-color: var(--lm-bolt, #5cc8ff); }
.bg-accent\/10 { background-color: color-mix(in oklab, var(--lm-bolt, #5cc8ff) 12%, transparent); }
.text-accent { color: var(--lm-bolt, #5cc8ff); }
.text-accent-foreground { color: var(--lm-bolt-ink, #06283a); }
.ring-primary { --lm-ring: var(--lm-gold, #f2c14a); }
.hover\:ring-2:hover { box-shadow: 0 0 0 2px var(--lm-ring, var(--lm-gold, #f2c14a)); }
.transition-all { transition: all var(--lm-mid, 260ms) var(--lm-ease, cubic-bezier(0.22, 1, 0.36, 1)); }

.lucide { stroke: currentColor; stroke-width: 1.75; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.lucide-circle-check { color: var(--lm-good, #45d483); }
.lucide-circle-help { color: var(--lm-gold, #f2c14a); }
.lucide-triangle-alert { color: var(--lm-amber, #f0a83a); }
.lucide-x { color: var(--lm-danger, #e0524d); }
