@layer reset, base, tokens, recipes, utilities;

/* Base styles that Panda will process */
body {
  font-family: var(--fonts-mono);
  max-width: var(--sizes-content);
  margin: 0 auto;
  padding: var(--spacing-section) 1rem;
  line-height: 1.6;
  color: var(--colors-text);
  background: #fff;
}

a {
  color: var(--colors-link);
  text-decoration: underline;
  text-underline-offset: 2px;
}

a:visited {
  color: var(--colors-link-visited);
}

a:hover {
  text-decoration-thickness: 2px;
}

/* Navigation */
.nav {
  margin-bottom: var(--spacing-section);
}

/* Article */
.article h1 {
  margin-bottom: 0.5rem;
  font-size: 1.5rem;
  line-height: 1.3;
}

.article h2 {
  border-bottom: 2px solid var(--colors-border-dark);
  padding-bottom: 0.5rem;
  margin-top: var(--spacing-section);
  margin-bottom: 1rem;
  font-size: 1.2rem;
}

.article h3 {
  margin-top: var(--spacing-block);
  margin-bottom: 0.5rem;
  font-size: 1rem;
}

.meta {
  color: var(--colors-muted);
  margin-bottom: var(--spacing-section);
  font-size: 0.9rem;
}

.article p {
  margin-bottom: 1rem;
}

.article ul,
.article ol {
  margin-bottom: 1rem;
  padding-left: 1.5rem;
}

.article li {
  margin-bottom: 0.5rem;
}

/* Callout box */
.callout {
  border: 1px solid var(--colors-border-dark);
  padding: 1rem;
  margin: var(--spacing-block) 0;
  background: var(--colors-bg);
}

.callout p:last-child {
  margin-bottom: 0;
}

/* Code */
code {
  background: var(--colors-code);
  padding: 0.15rem 0.4rem;
  border-radius: 3px;
  font-size: 0.9em;
}

pre {
  background: var(--colors-code);
  padding: 1rem;
  overflow-x: auto;
  border: 1px solid var(--colors-border);
  margin: var(--spacing-block) 0;
}

pre code {
  background: none;
  padding: 0;
  border-radius: 0;
}

/* Footer */
.footer {
  margin-top: var(--spacing-section);
  border-top: 1px solid var(--colors-border);
  padding-top: 1rem;
  color: var(--colors-muted);
  font-size: 0.9rem;
}

/* Blog list */
.post-list {
  list-style: none;
  padding: 0;
}

.post-list li {
  margin-bottom: 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--colors-border);
}

.post-list li:last-child {
  border-bottom: none;
}

.post-list a {
  font-weight: 600;
  text-decoration: none;
}

.post-list a:hover {
  text-decoration: underline;
}

.post-list .date {
  display: block;
  color: var(--colors-muted);
  font-size: 0.85rem;
  margin-top: 0.25rem;
}

.post-list .excerpt {
  margin-top: 0.5rem;
  color: var(--colors-text);
}

/* Cards grid */
.cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  margin-top: var(--spacing-section);
}

@media (max-width: 500px) {
  .cards {
    grid-template-columns: 1fr;
  }
}

/* Card */
.card {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.25rem;
  border: 2px solid var(--colors-border-dark);
  background: #fff;
  text-decoration: none;
  color: var(--colors-text);
  transition: background 0.15s ease, transform 0.15s ease;
}

.card:visited {
  color: var(--colors-text);
}

.card:hover {
  background: var(--colors-bg);
  transform: translateY(-2px);
}

.card:active {
  transform: translateY(0);
}

.card__icon {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid currentColor;
  border-radius: 8px;
}

.card__icon svg {
  width: 20px;
  height: 20px;
}

.card__content {
  flex: 1;
  min-width: 0;
}

.card__title {
  font-size: 1rem;
  font-weight: 600;
  margin: 0;
  line-height: 1.3;
}

.card__description {
  font-size: 0.85rem;
  color: var(--colors-muted);
  margin: 0.25rem 0 0;
  line-height: 1.4;
}

.card__arrow {
  flex-shrink: 0;
  font-size: 1.25rem;
  color: var(--colors-muted);
  transition: transform 0.15s ease;
}

.card:hover .card__arrow {
  transform: translateX(4px);
  color: var(--colors-text);
}

/* Telegram card accent */
.card--telegram:hover {
  border-color: #0088cc;
}

.card--telegram:hover .card__icon {
  color: #0088cc;
}

/* Behance card accent */
.card--behance:hover {
  border-color: #1769ff;
}

.card--behance:hover .card__icon {
  color: #1769ff;
}

/* Github card accent */
.card--github:hover {
  border-color: #8b5cf6;
}

.card--github:hover .card__icon {
  color: #8b5cf6;
}

/* Portfolio card - gradient with noise */
.card--portfolio {
  position: relative;
  overflow: hidden;
}

.card--portfolio::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg,
    rgba(255, 107, 107, 0.15),
    rgba(255, 193, 7, 0.15),
    rgba(76, 175, 80, 0.15),
    rgba(33, 150, 243, 0.15),
    rgba(156, 39, 176, 0.15)
  );
  opacity: 0;
  transition: opacity 0.2s ease;
  z-index: 0;
}

.card--portfolio::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
  opacity: 0;
  mix-blend-mode: overlay;
  transition: opacity 0.2s ease;
  z-index: 1;
  pointer-events: none;
}

.card--portfolio:hover::before {
  opacity: 1;
}

.card--portfolio:hover::after {
  opacity: 0.4;
}

.card--portfolio:hover {
  border-image: linear-gradient(135deg, #ff6b6b, #ffc107, #4caf50, #2196f3, #9c27b0) 1;
}

.card--portfolio .card__icon,
.card--portfolio .card__content,
.card--portfolio .card__arrow {
  position: relative;
  z-index: 2;
}

/* Disabled card */
.card--disabled {
  border-style: dashed;
  cursor: default;
  opacity: 0.6;
}

.card--disabled:hover {
  background: #fff;
  transform: none;
}

/* Tables */
table {
  width: 100%;
  border-collapse: collapse;
  margin: var(--spacing-block) 0;
  font-size: 0.9rem;
}

th, td {
  border: 1px solid var(--colors-border);
  padding: 0.5rem 0.75rem;
  text-align: left;
}

th {
  background: var(--colors-bg);
  font-weight: 600;
}

tr:hover td {
  background: var(--colors-bg);
}

@layer reset {
  html,:host {
    --font-fallback: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -moz-tab-size: 4;
    tab-size: 4;
    font-family: var(--global-font-body, var(--font-fallback));
    -webkit-tap-highlight-color: transparent;
}

  *,::before,::after,::backdrop,::file-selector-button {
    margin: 0px;
    padding: 0px;
    border-width: 0px;
    border-style: solid;
    border-color: var(--global-color-border, currentcolor);
    box-sizing: border-box;
}

  hr {
    color: inherit;
    height: 0px;
    border-top-width: 1px;
}

  body {
    line-height: inherit;
    height: 100%;
}

  img {
    border-style: none;
}

  img,svg,video,canvas,audio,iframe,embed,object {
    display: block;
    vertical-align: middle;
}

  img,video {
    max-width: 100%;
    height: auto;
}

  h1,h2,h3,h4,h5,h6 {
    text-wrap: balance;
    font-size: inherit;
    font-weight: inherit;
}

  p,h1,h2,h3,h4,h5,h6 {
    overflow-wrap: break-word;
}

  ol,ul,menu {
    list-style: none;
}

  button,input:where([type='button'], [type='reset'], [type='submit']),::file-selector-button {
    appearance: button;
    -webkit-appearance: button;
}

  button,input,optgroup,select,textarea,::file-selector-button {
    font: inherit;
    background: var(--colors-transparent);
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
}

  ::placeholder {
    --placeholder-fallback: rgba(0, 0, 0, 0.5);
    opacity: 1;
    color: var(--global-color-placeholder, var(--placeholder-fallback));
}

  @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {
    ::placeholder {
      --placeholder-fallback: color-mix(in oklab, currentcolor 50%, transparent);
}
}

  ::selection {
    background-color: var(--global-color-selection, rgba(0, 115, 255, 0.3));
}

  textarea {
    resize: vertical;
}

  table {
    border-color: inherit;
    text-indent: 0px;
    border-collapse: collapse;
}

  summary {
    display: list-item;
}

  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;
}

  dialog {
    padding: 0px;
}

  a {
    text-decoration: inherit;
    color: inherit;
}

  abbr:where([title]) {
    text-decoration: underline dotted;
}

  b,strong {
    font-weight: bolder;
}

  code,kbd,samp,pre {
    --font-mono-fallback: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New';
    font-family: var(--global-font-mono, var(--font-mono-fallback));
    font-size: 1em;
    font-feature-settings: normal;
    font-variation-settings: normal;
}

  progress {
    vertical-align: baseline;
}

  ::-webkit-search-decoration,::-webkit-search-cancel-button {
    -webkit-appearance: none;
}

  ::-webkit-inner-spin-button,::-webkit-outer-spin-button {
    height: auto;
}

  :-moz-ui-invalid {
    box-shadow: none;
}

  :-moz-focusring {
    outline: auto;
}

  [hidden]:where(:not([hidden='until-found'])) {
    display: none !important;
}
}

@layer base {
  :root {
    --made-with-panda: '🐼';
}

  *,::before,::after,::backdrop {
    --blur: /*-*/ /*-*/;
    --brightness: /*-*/ /*-*/;
    --contrast: /*-*/ /*-*/;
    --grayscale: /*-*/ /*-*/;
    --hue-rotate: /*-*/ /*-*/;
    --invert: /*-*/ /*-*/;
    --saturate: /*-*/ /*-*/;
    --sepia: /*-*/ /*-*/;
    --drop-shadow: /*-*/ /*-*/;
    --backdrop-blur: /*-*/ /*-*/;
    --backdrop-brightness: /*-*/ /*-*/;
    --backdrop-contrast: /*-*/ /*-*/;
    --backdrop-grayscale: /*-*/ /*-*/;
    --backdrop-hue-rotate: /*-*/ /*-*/;
    --backdrop-invert: /*-*/ /*-*/;
    --backdrop-opacity: /*-*/ /*-*/;
    --backdrop-saturate: /*-*/ /*-*/;
    --backdrop-sepia: /*-*/ /*-*/;
    --gradient-from-position: /*-*/ /*-*/;
    --gradient-to-position: /*-*/ /*-*/;
    --gradient-via-position: /*-*/ /*-*/;
    --scroll-snap-strictness: proximity;
    --border-spacing-x: 0;
    --border-spacing-y: 0;
    --translate-x: 0;
    --translate-y: 0;
    --rotate: 0;
    --rotate-x: 0;
    --rotate-y: 0;
    --skew-x: 0;
    --skew-y: 0;
    --scale-x: 1;
    --scale-y: 1;
}
}

@layer tokens {
  :where(:root, :host) {
    --aspect-ratios-square: 1 / 1;
    --aspect-ratios-landscape: 4 / 3;
    --aspect-ratios-portrait: 3 / 4;
    --aspect-ratios-wide: 16 / 9;
    --aspect-ratios-ultrawide: 18 / 5;
    --aspect-ratios-golden: 1.618 / 1;
    --borders-none: none;
    --easings-default: cubic-bezier(0.4, 0, 0.2, 1);
    --easings-linear: linear;
    --easings-in: cubic-bezier(0.4, 0, 1, 1);
    --easings-out: cubic-bezier(0, 0, 0.2, 1);
    --easings-in-out: cubic-bezier(0.4, 0, 0.2, 1);
    --durations-fastest: 50ms;
    --durations-faster: 100ms;
    --durations-fast: 150ms;
    --durations-normal: 200ms;
    --durations-slow: 300ms;
    --durations-slower: 400ms;
    --durations-slowest: 500ms;
    --radii-xs: 0.125rem;
    --radii-sm: 0.25rem;
    --radii-md: 0.375rem;
    --radii-lg: 0.5rem;
    --radii-xl: 0.75rem;
    --radii-2xl: 1rem;
    --radii-3xl: 1.5rem;
    --radii-4xl: 2rem;
    --radii-full: 9999px;
    --font-weights-thin: 100;
    --font-weights-extralight: 200;
    --font-weights-light: 300;
    --font-weights-normal: 400;
    --font-weights-medium: 500;
    --font-weights-semibold: 600;
    --font-weights-bold: 700;
    --font-weights-extrabold: 800;
    --font-weights-black: 900;
    --line-heights-none: 1;
    --line-heights-tight: 1.25;
    --line-heights-snug: 1.375;
    --line-heights-normal: 1.5;
    --line-heights-relaxed: 1.625;
    --line-heights-loose: 2;
    --letter-spacings-tighter: -0.05em;
    --letter-spacings-tight: -0.025em;
    --letter-spacings-normal: 0em;
    --letter-spacings-wide: 0.025em;
    --letter-spacings-wider: 0.05em;
    --letter-spacings-widest: 0.1em;
    --font-sizes-2xs: 0.5rem;
    --font-sizes-xs: 0.75rem;
    --font-sizes-sm: 0.875rem;
    --font-sizes-md: 1rem;
    --font-sizes-lg: 1.125rem;
    --font-sizes-xl: 1.25rem;
    --font-sizes-2xl: 1.5rem;
    --font-sizes-3xl: 1.875rem;
    --font-sizes-4xl: 2.25rem;
    --font-sizes-5xl: 3rem;
    --font-sizes-6xl: 3.75rem;
    --font-sizes-7xl: 4.5rem;
    --font-sizes-8xl: 6rem;
    --font-sizes-9xl: 8rem;
    --shadows-2xs: 0 1px rgb(0 0 0 / 0.05);
    --shadows-xs: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    --shadows-sm: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
    --shadows-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    --shadows-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    --shadows-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
    --shadows-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25);
    --shadows-inset-2xs: inset 0 1px rgb(0 0 0 / 0.05);
    --shadows-inset-xs: inset 0 1px 1px rgb(0 0 0 / 0.05);
    --shadows-inset-sm: inset 0 2px 4px rgb(0 0 0 / 0.05);
    --blurs-xs: 4px;
    --blurs-sm: 8px;
    --blurs-md: 12px;
    --blurs-lg: 16px;
    --blurs-xl: 24px;
    --blurs-2xl: 40px;
    --blurs-3xl: 64px;
    --animations-spin: spin 1s linear infinite;
    --animations-ping: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
    --animations-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
    --animations-bounce: bounce 1s infinite;
    --colors-current: currentColor;
    --colors-black: #000;
    --colors-white: #fff;
    --colors-transparent: rgb(0 0 0 / 0);
    --colors-rose-50: #fff1f2;
    --colors-rose-100: #ffe4e6;
    --colors-rose-200: #fecdd3;
    --colors-rose-300: #fda4af;
    --colors-rose-400: #fb7185;
    --colors-rose-500: #f43f5e;
    --colors-rose-600: #e11d48;
    --colors-rose-700: #be123c;
    --colors-rose-800: #9f1239;
    --colors-rose-900: #881337;
    --colors-rose-950: #4c0519;
    --colors-pink-50: #fdf2f8;
    --colors-pink-100: #fce7f3;
    --colors-pink-200: #fbcfe8;
    --colors-pink-300: #f9a8d4;
    --colors-pink-400: #f472b6;
    --colors-pink-500: #ec4899;
    --colors-pink-600: #db2777;
    --colors-pink-700: #be185d;
    --colors-pink-800: #9d174d;
    --colors-pink-900: #831843;
    --colors-pink-950: #500724;
    --colors-fuchsia-50: #fdf4ff;
    --colors-fuchsia-100: #fae8ff;
    --colors-fuchsia-200: #f5d0fe;
    --colors-fuchsia-300: #f0abfc;
    --colors-fuchsia-400: #e879f9;
    --colors-fuchsia-500: #d946ef;
    --colors-fuchsia-600: #c026d3;
    --colors-fuchsia-700: #a21caf;
    --colors-fuchsia-800: #86198f;
    --colors-fuchsia-900: #701a75;
    --colors-fuchsia-950: #4a044e;
    --colors-purple-50: #faf5ff;
    --colors-purple-100: #f3e8ff;
    --colors-purple-200: #e9d5ff;
    --colors-purple-300: #d8b4fe;
    --colors-purple-400: #c084fc;
    --colors-purple-500: #a855f7;
    --colors-purple-600: #9333ea;
    --colors-purple-700: #7e22ce;
    --colors-purple-800: #6b21a8;
    --colors-purple-900: #581c87;
    --colors-purple-950: #3b0764;
    --colors-violet-50: #f5f3ff;
    --colors-violet-100: #ede9fe;
    --colors-violet-200: #ddd6fe;
    --colors-violet-300: #c4b5fd;
    --colors-violet-400: #a78bfa;
    --colors-violet-500: #8b5cf6;
    --colors-violet-600: #7c3aed;
    --colors-violet-700: #6d28d9;
    --colors-violet-800: #5b21b6;
    --colors-violet-900: #4c1d95;
    --colors-violet-950: #2e1065;
    --colors-indigo-50: #eef2ff;
    --colors-indigo-100: #e0e7ff;
    --colors-indigo-200: #c7d2fe;
    --colors-indigo-300: #a5b4fc;
    --colors-indigo-400: #818cf8;
    --colors-indigo-500: #6366f1;
    --colors-indigo-600: #4f46e5;
    --colors-indigo-700: #4338ca;
    --colors-indigo-800: #3730a3;
    --colors-indigo-900: #312e81;
    --colors-indigo-950: #1e1b4b;
    --colors-blue-50: #eff6ff;
    --colors-blue-100: #dbeafe;
    --colors-blue-200: #bfdbfe;
    --colors-blue-300: #93c5fd;
    --colors-blue-400: #60a5fa;
    --colors-blue-500: #3b82f6;
    --colors-blue-600: #2563eb;
    --colors-blue-700: #1d4ed8;
    --colors-blue-800: #1e40af;
    --colors-blue-900: #1e3a8a;
    --colors-blue-950: #172554;
    --colors-sky-50: #f0f9ff;
    --colors-sky-100: #e0f2fe;
    --colors-sky-200: #bae6fd;
    --colors-sky-300: #7dd3fc;
    --colors-sky-400: #38bdf8;
    --colors-sky-500: #0ea5e9;
    --colors-sky-600: #0284c7;
    --colors-sky-700: #0369a1;
    --colors-sky-800: #075985;
    --colors-sky-900: #0c4a6e;
    --colors-sky-950: #082f49;
    --colors-cyan-50: #ecfeff;
    --colors-cyan-100: #cffafe;
    --colors-cyan-200: #a5f3fc;
    --colors-cyan-300: #67e8f9;
    --colors-cyan-400: #22d3ee;
    --colors-cyan-500: #06b6d4;
    --colors-cyan-600: #0891b2;
    --colors-cyan-700: #0e7490;
    --colors-cyan-800: #155e75;
    --colors-cyan-900: #164e63;
    --colors-cyan-950: #083344;
    --colors-teal-50: #f0fdfa;
    --colors-teal-100: #ccfbf1;
    --colors-teal-200: #99f6e4;
    --colors-teal-300: #5eead4;
    --colors-teal-400: #2dd4bf;
    --colors-teal-500: #14b8a6;
    --colors-teal-600: #0d9488;
    --colors-teal-700: #0f766e;
    --colors-teal-800: #115e59;
    --colors-teal-900: #134e4a;
    --colors-teal-950: #042f2e;
    --colors-emerald-50: #ecfdf5;
    --colors-emerald-100: #d1fae5;
    --colors-emerald-200: #a7f3d0;
    --colors-emerald-300: #6ee7b7;
    --colors-emerald-400: #34d399;
    --colors-emerald-500: #10b981;
    --colors-emerald-600: #059669;
    --colors-emerald-700: #047857;
    --colors-emerald-800: #065f46;
    --colors-emerald-900: #064e3b;
    --colors-emerald-950: #022c22;
    --colors-green-50: #f0fdf4;
    --colors-green-100: #dcfce7;
    --colors-green-200: #bbf7d0;
    --colors-green-300: #86efac;
    --colors-green-400: #4ade80;
    --colors-green-500: #22c55e;
    --colors-green-600: #16a34a;
    --colors-green-700: #15803d;
    --colors-green-800: #166534;
    --colors-green-900: #14532d;
    --colors-green-950: #052e16;
    --colors-lime-50: #f7fee7;
    --colors-lime-100: #ecfccb;
    --colors-lime-200: #d9f99d;
    --colors-lime-300: #bef264;
    --colors-lime-400: #a3e635;
    --colors-lime-500: #84cc16;
    --colors-lime-600: #65a30d;
    --colors-lime-700: #4d7c0f;
    --colors-lime-800: #3f6212;
    --colors-lime-900: #365314;
    --colors-lime-950: #1a2e05;
    --colors-yellow-50: #fefce8;
    --colors-yellow-100: #fef9c3;
    --colors-yellow-200: #fef08a;
    --colors-yellow-300: #fde047;
    --colors-yellow-400: #facc15;
    --colors-yellow-500: #eab308;
    --colors-yellow-600: #ca8a04;
    --colors-yellow-700: #a16207;
    --colors-yellow-800: #854d0e;
    --colors-yellow-900: #713f12;
    --colors-yellow-950: #422006;
    --colors-amber-50: #fffbeb;
    --colors-amber-100: #fef3c7;
    --colors-amber-200: #fde68a;
    --colors-amber-300: #fcd34d;
    --colors-amber-400: #fbbf24;
    --colors-amber-500: #f59e0b;
    --colors-amber-600: #d97706;
    --colors-amber-700: #b45309;
    --colors-amber-800: #92400e;
    --colors-amber-900: #78350f;
    --colors-amber-950: #451a03;
    --colors-orange-50: #fff7ed;
    --colors-orange-100: #ffedd5;
    --colors-orange-200: #fed7aa;
    --colors-orange-300: #fdba74;
    --colors-orange-400: #fb923c;
    --colors-orange-500: #f97316;
    --colors-orange-600: #ea580c;
    --colors-orange-700: #c2410c;
    --colors-orange-800: #9a3412;
    --colors-orange-900: #7c2d12;
    --colors-orange-950: #431407;
    --colors-red-50: #fef2f2;
    --colors-red-100: #fee2e2;
    --colors-red-200: #fecaca;
    --colors-red-300: #fca5a5;
    --colors-red-400: #f87171;
    --colors-red-500: #ef4444;
    --colors-red-600: #dc2626;
    --colors-red-700: #b91c1c;
    --colors-red-800: #991b1b;
    --colors-red-900: #7f1d1d;
    --colors-red-950: #450a0a;
    --colors-neutral-50: #fafafa;
    --colors-neutral-100: #f5f5f5;
    --colors-neutral-200: #e5e5e5;
    --colors-neutral-300: #d4d4d4;
    --colors-neutral-400: #a3a3a3;
    --colors-neutral-500: #737373;
    --colors-neutral-600: #525252;
    --colors-neutral-700: #404040;
    --colors-neutral-800: #262626;
    --colors-neutral-900: #171717;
    --colors-neutral-950: #0a0a0a;
    --colors-stone-50: #fafaf9;
    --colors-stone-100: #f5f5f4;
    --colors-stone-200: #e7e5e4;
    --colors-stone-300: #d6d3d1;
    --colors-stone-400: #a8a29e;
    --colors-stone-500: #78716c;
    --colors-stone-600: #57534e;
    --colors-stone-700: #44403c;
    --colors-stone-800: #292524;
    --colors-stone-900: #1c1917;
    --colors-stone-950: #0c0a09;
    --colors-zinc-50: #fafafa;
    --colors-zinc-100: #f4f4f5;
    --colors-zinc-200: #e4e4e7;
    --colors-zinc-300: #d4d4d8;
    --colors-zinc-400: #a1a1aa;
    --colors-zinc-500: #71717a;
    --colors-zinc-600: #52525b;
    --colors-zinc-700: #3f3f46;
    --colors-zinc-800: #27272a;
    --colors-zinc-900: #18181b;
    --colors-zinc-950: #09090b;
    --colors-gray-50: #f9fafb;
    --colors-gray-100: #f3f4f6;
    --colors-gray-200: #e5e7eb;
    --colors-gray-300: #d1d5db;
    --colors-gray-400: #9ca3af;
    --colors-gray-500: #6b7280;
    --colors-gray-600: #4b5563;
    --colors-gray-700: #374151;
    --colors-gray-800: #1f2937;
    --colors-gray-900: #111827;
    --colors-gray-950: #030712;
    --colors-slate-50: #f8fafc;
    --colors-slate-100: #f1f5f9;
    --colors-slate-200: #e2e8f0;
    --colors-slate-300: #cbd5e1;
    --colors-slate-400: #94a3b8;
    --colors-slate-500: #64748b;
    --colors-slate-600: #475569;
    --colors-slate-700: #334155;
    --colors-slate-800: #1e293b;
    --colors-slate-900: #0f172a;
    --colors-slate-950: #020617;
    --colors-text: #111;
    --colors-link: #0000EE;
    --colors-link-visited: #551A8B;
    --colors-muted: #666;
    --colors-border: #ddd;
    --colors-border-dark: #000;
    --colors-bg: #f9f9f9;
    --colors-code: #f4f4f4;
    --fonts-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --fonts-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
    --fonts-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
    --sizes-0: 0rem;
    --sizes-1: 0.25rem;
    --sizes-2: 0.5rem;
    --sizes-3: 0.75rem;
    --sizes-4: 1rem;
    --sizes-5: 1.25rem;
    --sizes-6: 1.5rem;
    --sizes-7: 1.75rem;
    --sizes-8: 2rem;
    --sizes-9: 2.25rem;
    --sizes-10: 2.5rem;
    --sizes-11: 2.75rem;
    --sizes-12: 3rem;
    --sizes-14: 3.5rem;
    --sizes-16: 4rem;
    --sizes-20: 5rem;
    --sizes-24: 6rem;
    --sizes-28: 7rem;
    --sizes-32: 8rem;
    --sizes-36: 9rem;
    --sizes-40: 10rem;
    --sizes-44: 11rem;
    --sizes-48: 12rem;
    --sizes-52: 13rem;
    --sizes-56: 14rem;
    --sizes-60: 15rem;
    --sizes-64: 16rem;
    --sizes-72: 18rem;
    --sizes-80: 20rem;
    --sizes-96: 24rem;
    --sizes-0\.5: 0.125rem;
    --sizes-1\.5: 0.375rem;
    --sizes-2\.5: 0.625rem;
    --sizes-3\.5: 0.875rem;
    --sizes-4\.5: 1.125rem;
    --sizes-5\.5: 1.375rem;
    --sizes-xs: 20rem;
    --sizes-sm: 24rem;
    --sizes-md: 28rem;
    --sizes-lg: 32rem;
    --sizes-xl: 36rem;
    --sizes-2xl: 42rem;
    --sizes-3xl: 48rem;
    --sizes-4xl: 56rem;
    --sizes-5xl: 64rem;
    --sizes-6xl: 72rem;
    --sizes-7xl: 80rem;
    --sizes-8xl: 90rem;
    --sizes-prose: 65ch;
    --sizes-full: 100%;
    --sizes-min: min-content;
    --sizes-max: max-content;
    --sizes-fit: fit-content;
    --sizes-content: 650px;
    --sizes-breakpoint-sm: 640px;
    --sizes-breakpoint-md: 768px;
    --sizes-breakpoint-lg: 1024px;
    --sizes-breakpoint-xl: 1280px;
    --sizes-breakpoint-2xl: 1536px;
    --spacing-0: 0rem;
    --spacing-1: 0.25rem;
    --spacing-2: 0.5rem;
    --spacing-3: 0.75rem;
    --spacing-4: 1rem;
    --spacing-5: 1.25rem;
    --spacing-6: 1.5rem;
    --spacing-7: 1.75rem;
    --spacing-8: 2rem;
    --spacing-9: 2.25rem;
    --spacing-10: 2.5rem;
    --spacing-11: 2.75rem;
    --spacing-12: 3rem;
    --spacing-14: 3.5rem;
    --spacing-16: 4rem;
    --spacing-20: 5rem;
    --spacing-24: 6rem;
    --spacing-28: 7rem;
    --spacing-32: 8rem;
    --spacing-36: 9rem;
    --spacing-40: 10rem;
    --spacing-44: 11rem;
    --spacing-48: 12rem;
    --spacing-52: 13rem;
    --spacing-56: 14rem;
    --spacing-60: 15rem;
    --spacing-64: 16rem;
    --spacing-72: 18rem;
    --spacing-80: 20rem;
    --spacing-96: 24rem;
    --spacing-0\.5: 0.125rem;
    --spacing-1\.5: 0.375rem;
    --spacing-2\.5: 0.625rem;
    --spacing-3\.5: 0.875rem;
    --spacing-4\.5: 1.125rem;
    --spacing-5\.5: 1.375rem;
    --spacing-section: 2rem;
    --spacing-block: 1.5rem;
    --breakpoints-sm: 640px;
    --breakpoints-md: 768px;
    --breakpoints-lg: 1024px;
    --breakpoints-xl: 1280px;
    --breakpoints-2xl: 1536px;
}

  @keyframes spin {
    to {
      transform: rotate(360deg);
}
}

  @keyframes ping {
    75%,100% {
      transform: scale(2);
      opacity: 0;
}
}

  @keyframes pulse {
    50% {
      opacity: 0.5;
}
}

  @keyframes bounce {
    0%,100% {
      transform: translateY(-25%);
      animation-timing-function: cubic-bezier(0.8,0,1,1);
}

    50% {
      transform: none;
      animation-timing-function: cubic-bezier(0,0,0.2,1);
}
}
}
