:root {
  --clay-bg: #fdf6e9;
  --clay-surface: #ffffff;
  --clay-shadow-dark: rgba(180, 150, 60, 0.18);
  --clay-shadow-light: rgba(255, 255, 255, 0.95);
  --yellow: #ffd60a;
  --yellow-soft: #ffe873;
}

html, body, #app {
  height: 100%;
  overflow: auto;
}

.no-scroll {
  overflow: hidden !important;
}

body {
  background: var(--clay-bg);
  font-family: 'Nunito', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color: #3d3422;
  -webkit-font-smoothing: antialiased;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  margin: 0;
  padding: 0;
}

input, textarea {
  -webkit-user-select: text;
  -moz-user-select: text;
  -ms-user-select: text;
  user-select: text;
}

/* ===== Claymorphism utilities ===== */
.clay {
  background: var(--clay-surface);
  border-radius: 28px;
  box-shadow:
    6px 6px 14px var(--clay-shadow-dark),
    -6px -6px 14px var(--clay-shadow-light),
    inset 1px 1px 2px rgba(255,255,255,0.6);
}

.clay-sm {
  background: var(--clay-surface);
  border-radius: 18px;
  box-shadow:
    4px 4px 10px var(--clay-shadow-dark),
    -4px -4px 10px var(--clay-shadow-light),
    inset 1px 1px 2px rgba(255,255,255,0.6);
}

.clay-yellow {
  background: linear-gradient(145deg, #ffe25a, #ffc60a);
  border-radius: 28px;
  box-shadow:
    6px 6px 14px rgba(180, 140, 0, 0.25),
    -4px -4px 10px rgba(255, 255, 255, 0.7),
    inset 1px 1px 2px rgba(255,255,255,0.5);
}

.clay-inset {
  background: #f7eed8;
  border-radius: 20px;
  box-shadow:
    inset 4px 4px 8px var(--clay-shadow-dark),
    inset -4px -4px 8px var(--clay-shadow-light);
}

.clay-btn {
  background: linear-gradient(145deg, #ffe25a, #ffc60a);
  border-radius: 999px;
  box-shadow:
    4px 4px 10px rgba(180, 140, 0, 0.22),
    -3px -3px 8px rgba(255, 255, 255, 0.8),
    inset 1px 1px 2px rgba(255,255,255,0.5);
  transition: all 0.18s ease;
  border: none;
  cursor: pointer;
  font-family: inherit;
}

.clay-btn:hover {
  transform: translateY(-2px);
  box-shadow:
    6px 6px 14px rgba(180, 140, 0, 0.28),
    -4px -4px 10px rgba(255, 255, 255, 0.85),
    inset 1px 1px 2px rgba(255,255,255,0.5);
}

.clay-btn:active {
  transform: translateY(0);
  box-shadow:
    inset 3px 3px 6px rgba(180, 140, 0, 0.3),
    inset -2px -2px 6px rgba(255, 255, 255, 0.5);
}

.clay-dark-btn {
  background: linear-gradient(145deg, #4a4030, #2d2620);
  color: var(--yellow);
  border-radius: 999px;
  box-shadow:
    4px 4px 10px rgba(0, 0, 0, 0.25),
    -3px -3px 8px rgba(255, 255, 255, 0.05),
    inset 1px 1px 2px rgba(255,255,255,0.08);
  transition: all 0.18s ease;
  border: none;
  cursor: pointer;
  font-family: inherit;
}

.clay-dark-btn:hover { transform: translateY(-2px); }
.clay-dark-btn:active { transform: translateY(0); }

.clay-ghost-btn {
  background: var(--clay-surface);
  border-radius: 999px;
  box-shadow:
    4px 4px 10px var(--clay-shadow-dark),
    -3px -3px 8px var(--clay-shadow-light),
    inset 1px 1px 2px rgba(255,255,255,0.6);
  transition: all 0.18s ease;
  border: none;
  cursor: pointer;
  font-family: inherit;
}

.clay-ghost-btn:hover { transform: translateY(-2px); }

/* Scrollbar */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #e6d9b8; border-radius: 999px; }
::-webkit-scrollbar-thumb:hover { background: #d9c896; }

/* Editable text caret */
[contenteditable]:focus { outline: none; }

/* Floating animation for mascot */
@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-12px); }
}
.float-anim { animation: float 4s ease-in-out infinite; }

@keyframes wiggle {
  0%, 100% { transform: rotate(-3deg); }
  50% { transform: rotate(3deg); }
}
.wiggle-anim { animation: wiggle 2.5s ease-in-out infinite; }

/* Ring for selected blocks */
.ring-2 {
  box-shadow: 0 0 0 2px #FFD60A;
}
.ring-yellow-400 {
  box-shadow: 0 0 0 2px #facc15;
}

/* Utility classes */
.min-h-screen { min-height: 100vh; }
.flex { display: flex; }
.flex-col { flex-direction: column; }
.items-center { align-items: center; }
.justify-center { justify-content: center; }
.justify-between { justify-content: space-between; }
.gap-2 { gap: 0.5rem; }
.gap-3 { gap: 0.75rem; }
.gap-4 { gap: 1rem; }
.px-4 { padding-left: 1rem; padding-right: 1rem; }
.py-2 { padding-top: 0.5rem; padding-bottom: 0.5rem; }
.pt-1 { padding-top: 0.25rem; }
.pt-2 { padding-top: 0.5rem; }
.pt-4 { padding-top: 1rem; }
.pb-2 { padding-bottom: 0.5rem; }
.pb-4 { padding-bottom: 1rem; }
.pb-8 { padding-bottom: 2rem; }
.p-5 { padding: 1.25rem; }
.mt-4 { margin-top: 1rem; }
.mb-3 { margin-bottom: 0.75rem; }
.mb-4 { margin-bottom: 1rem; }
.mb-6 { margin-bottom: 1.5rem; }
.text-center { text-align: center; }
.text-left { text-align: left; }
.text-sm { font-size: 0.875rem; }
.text-xs { font-size: 0.75rem; }
.text-lg { font-size: 1.125rem; }
.text-xl { font-size: 1.25rem; }
.text-2xl { font-size: 1.5rem; }
.text-3xl { font-size: 1.875rem; }
.text-5xl { font-size: 3rem; }
.font-extrabold { font-weight: 800; }
.font-bold { font-weight: 700; }
.font-semibold { font-weight: 600; }
.text-neutral-800 { color: #3d3422; }
.text-neutral-600 { color: #5c5242; }
.text-neutral-400 { color: #9a9080; }
.text-neutral-300 { color: #b0a696; }
.text-neutral-500 { color: #7a7060; }
.text-neutral-700 { color: #4d4232; }
.text-neutral-900 { color: #2d2620; }
.w-8 { width: 2rem; }
.h-8 { height: 2rem; }
.w-9 { width: 2.25rem; }
.h-9 { height: 2.25rem; }
.w-28 { width: 7rem; }
.h-28 { height: 7rem; }
.w-36 { width: 9rem; }
.h-36 { height: 9rem; }
.object-contain { object-fit: contain; }
.transition { transition: all 0.18s ease; }
.hover\:opacity-70:hover { opacity: 0.7; }
.hover\:text-neutral-900:hover { color: #2d2620; }
.truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.grid { display: grid; }
.grid-cols-3 { grid-template-columns: repeat(3, 1fr); }
.grid-cols-4 { grid-template-columns: repeat(4, 1fr); }
.grid-cols-2 { grid-template-columns: repeat(2, 1fr); }
.aspect-square { aspect-ratio: 1 / 1; }
.overflow-hidden { overflow: hidden; }
.overflow-y-auto { overflow-y: auto; }
.rounded-2xl { border-radius: 1rem; }
.bg-neutral-100 { background-color: #f5f0e6; }
.shrink-0 { flex-shrink: 0; }
.flex-1 { flex: 1; }
.max-w-3xl { max-width: 48rem; }
.max-w-xl { max-width: 36rem; }
.max-w-5xl { max-width: 80rem; }
.mx-auto { margin-left: auto; margin-right: auto; }
.border-t { border-top: 1px solid; }
.border-yellow-200\/50 { border-color: rgba(254, 215, 170, 0.5); }
.group-hover\:-translate-y-1:hover { transform: translateY(-0.25rem); }
.group-active\:scale-95:active { transform: scale(0.95); }
.hidden { display: none; }
.block { display: block; }
.inline-block { display: inline-block; }
.relative { position: relative; }
.fixed { position: fixed; }
.inset-0 { top: 0; right: 0; bottom: 0; left: 0; }
.z-50 { z-index: 50; }
.bg-black\/40 { background-color: rgba(0, 0, 0, 0.4); }
.backdrop-blur-sm { backdrop-filter: blur(4px); }
.items-end { align-items: flex-end; }
.rounded-t-3xl { border-top-left-radius: 1.5rem; border-top-right-radius: 1.5rem; }
.max-h-\[70vh\] { max-height: 70vh; }
.sticky { position: sticky; }
.top-0 { top: 0; }
.bg-white\/90 { background-color: rgba(255, 255, 255, 0.9); }
.bg-yellow-50 { background-color: #fffef5; }
.uppercase { text-transform: uppercase; }
.tracking-wide { letter-spacing: 0.05em; }
.space-y-4 > * + * { margin-top: 1rem; }
.space-y-2 > * + * { margin-top: 0.5rem; }
.leading-tight { line-height: 1.25; }
.leading-relaxed { line-height: 1.625; }
.opacity-85 { opacity: 0.85; }
.rounded-full { border-radius: 9999px; }
.bg-transparent { background-color: transparent; }
.outline-none { outline: none; }
.border-0 { border: 0; }
.ring-2 { box-shadow: 0 0 0 2px; }
.focus\:ring-yellow-200:focus { box-shadow: 0 0 0 2px #ffe873; }
.bg-neutral-900 { background-color: #1a1a1a; }
.text-neutral-100 { color: #f5f5f5; }
.whitespace-pre-wrap { white-space: pre-wrap; }
.font-mono { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; }
.border-b { border-bottom: 1px solid; }
.border-neutral-100 { border-color: #e5e0d0; }
.border-neutral-200 { border-color: #d5d0c0; }
.text-red-400 { color: #f87171; }
.text-yellow-500 { color: #ffc60a; }
.bg-\[#faf7f0\] { background-color: #faf7f0; }
.bg-\[#f7eed8\] { background-color: #f7eed8; }
.text-\[11px\] { font-size: 0.6875rem; }
.w-14 { width: 3.5rem; }
.w-20 { width: 5rem; }
.w-40 { width: 10rem; }
.w-56 { width: 14rem; }
.w-72 { width: 18rem; }
.min-w-\[90px\] { min-width: 90px; }
.min-w-\[110px\] { min-width: 110px; }
.min-w-\[120px\] { min-width: 120px; }
.min-w-\[140px\] { min-width: 140px; }
.min-w-\[150px\] { min-width: 150px; }
.min-w-\[180px\] { min-width: 180px; }
.min-w-\[200px\] { min-width: 200px; }
.min-w-\[240px\] { min-width: 240px; }
.h-28 { height: 7rem; }
.h-36 { height: 9rem; }
.rounded-xl { border-radius: 0.75rem; }
.object-cover { object-fit: cover; }
.bg-yellow-100 { background-color: #fef9c3; }
.text-4xl { font-size: 2.25rem; }
.text-2xl { font-size: 1.5rem; }
.text-base { font-size: 1rem; }
.italic { font-style: italic; }
.text-\#333 { color: #333; }
.text-\#444 { color: #444; }
.text-\#666 { color: #666; }
.text-\#999 { color: #999; }
.max-w-2xl { max-width: 32rem; }
.max-w-4xl { max-width: 56rem; }
.max-w-600px { max-width: 600px; }
.max-w-700px { max-width: 700px; }
.max-w-800px { max-width: 800px; }
.max-w-900px { max-width: 900px; }
.max-w-1100px { max-width: 1100px; }
.flex-wrap { flex-wrap: wrap; }
.bg-\#ffc60a { background-color: #ffc60a; }
.bg-\#ffe25a { background-color: #ffe25a; }
.bg-\#4a4030 { background-color: #4a4030; }
.bg-\#2d2620 { background-color: #2d2620; }
.bg-\#f5f0e6 { background-color: #f5f0e6; }
.bg-\#e5e0d0 { background-color: #e5e0d0; }
.bg-\#d5d0c0 { background-color: #d5d0c0; }
.bg-\#1a1a1a { background-color: #1a1a1a; }
.bg-\#f5f5f5 { background-color: #f5f5f5; }
.bg-\#fef9c3 { background-color: #fef9c3; }
.bg-\#fffef5 { background-color: #fffef5; }
.bg-\#faf7f0 { background-color: #faf7f0; }
.bg-\#f7eed8 { background-color: #f7eed8; }
.bg-\#fdf6e9 { background-color: #fdf6e9; }
.bg-\#ffffff { background-color: #ffffff; }
.text-\#3d3422 { color: #3d3422; }
.text-\#5c5242 { color: #5c5242; }
.text-\#9a9080 { color: #9a9080; }
.text-\#b0a696 { color: #b0a696; }
.text-\#7a7060 { color: #7a7060; }
.text-\#4d4232 { color: #4d4232; }
.text-\#2d2620 { color: #2d2620; }
.text-\#333 { color: #333; }
.text-\#444 { color: #444; }
.text-\#666 { color: #666; }
.text-\#999 { color: #999; }
.text-\#f87171 { color: #f87171; }
.text-\#ffc60a { color: #ffc60a; }
.text-\#f5f5f5 { color: #f5f5f5; }

/* Responsive */
@media (min-width: 640px) {
  .sm\:w-36 { width: 9rem; }
  .sm\:h-36 { height: 9rem; }
  .sm\:text-5xl { font-size: 3rem; }
  .sm\:text-3xl { font-size: 1.875rem; }
  .sm\:text-base { font-size: 1rem; }
  .sm\:text-lg { font-size: 1.125rem; }
  .sm\:text-sm { font-size: 0.875rem; }
  .sm\:text-xl { font-size: 1.25rem; }
  .sm\:text-2xl { font-size: 1.5rem; }
  .sm\:text-3xl { font-size: 1.875rem; }
  .sm\:text-4xl { font-size: 2.25rem; }
  .sm\:grid-cols-4 { grid-template-columns: repeat(4, 1fr); }
  .sm\:gap-4 { gap: 1rem; }
  .sm\:gap-5 { gap: 1.25rem; }
  .sm\:min-w-\[150px\] { min-width: 150px; }
  .sm\:min-w-\[180px\] { min-width: 180px; }
  .sm\:p-5 { padding: 1.25rem; }
  .sm\:flex-row { flex-direction: row; }
  .sm\:inline { display: inline; }
  .sm\:hidden { display: none; }
  .sm\:block { display: block; }
  .sm\:py-12 { padding-top: 3rem; padding-bottom: 3rem; }
  .sm\:py-10 { padding-top: 2.5rem; padding-bottom: 2.5rem; }
  .sm\:py-6 { padding-top: 1.5rem; padding-bottom: 1.5rem; }
  .sm\:py-5 { padding-top: 1.25rem; padding-bottom: 1.25rem; }
  .sm\:py-3 { padding-top: 0.75rem; padding-bottom: 0.75rem; }
  .sm\:py-4 { padding-top: 1rem; padding-bottom: 1rem; }
  .sm\:px-3 { padding-left: 0.75rem; padding-right: 0.75rem; }
  .sm\:px-4 { padding-left: 1rem; padding-right: 1rem; }
  .sm\:px-5 { padding-left: 1.25rem; padding-right: 1.25rem; }
  .sm\:px-6 { padding-left: 1.5rem; padding-right: 1.5rem; }
  .sm\:mb-6 { margin-bottom: 1.5rem; }
  .sm\:mb-4 { margin-bottom: 1rem; }
  .sm\:mb-3 { margin-bottom: 0.75rem; }
  .sm\:mb-2 { margin-bottom: 0.5rem; }
  .sm\:mb-5 { margin-bottom: 1.25rem; }
  .sm\:mt-2 { margin-top: 0.5rem; }
  .sm\:mt-1 { margin-top: 0.25rem; }
  .sm\:mt-4 { margin-top: 1rem; }
  .sm\:h-14 { height: 3.5rem; }
  .sm\:w-auto { width: auto; }
  .sm\:flex { display: flex; }
  .sm\:gap-1 { gap: 0.25rem; }
  .sm\:gap-2 { gap: 0.5rem; }
  .sm\:gap-3 { gap: 0.75rem; }
  .sm\:text-xs { font-size: 0.75rem; }
  .sm\:text-\[11px\] { font-size: 0.6875rem; }
  .sm\:text-\[15px\] { font-size: 0.9375rem; }
  .sm\:text-\[17px\] { font-size: 1.0625rem; }
  .sm\:text-\[20px\] { font-size: 1.25rem; }
  .sm\:text-\[24px\] { font-size: 1.5rem; }
  .sm\:text-\[28px\] { font-size: 1.75rem; }
  .sm\:text-\[32px\] { font-size: 2rem; }
  .sm\:text-\[36px\] { font-size: 2.25rem; }
  .sm\:text-\[40px\] { font-size: 2.5rem; }
  .sm\:text-\[42px\] { font-size: 2.625rem; }
  .sm\:text-\[48px\] { font-size: 3rem; }
  .sm\:max-w-\[390px\] { max-width: 390px; }
  .sm\:max-w-full { max-width: 100%; }
  .sm\:rounded-2xl { border-radius: 1rem; }
  .sm\:rounded-xl { border-radius: 0.75rem; }
  .sm\:rounded-3xl { border-radius: 1.5rem; }
  .sm\:rounded-full { border-radius: 9999px; }
  .sm\:rounded-t-3xl { border-top-left-radius: 1.5rem; border-top-right-radius: 1.5rem; }
  .sm\:p-3 { padding: 0.75rem; }
  .sm\:p-4 { padding: 1rem; }
  .sm\:p-5 { padding: 1.25rem; }
  .sm\:p-6 { padding: 1.5rem; }
  .sm\:p-8 { padding: 2rem; }
  .sm\:p-10 { padding: 2.5rem; }
  .sm\:p-12 { padding: 3rem; }
  .sm\:p-16 { padding: 4rem; }
  .sm\:p-20 { padding: 5rem; }
  .sm\:p-24 { padding: 6rem; }
  .sm\:p-32 { padding: 8rem; }
  .sm\:p-40 { padding: 10rem; }
  .sm\:p-48 { padding: 12rem; }
  .sm\:p-64 { padding: 16rem; }
  .sm\:p-80 { padding: 20rem; }
  .sm\:p-96 { padding: 24rem; }
}

@media (min-width: 768px) {
  .md\:block { display: block; }
  .md\:hidden { display: none; }
  .md\:flex { display: flex; }
  .md\:flex-row { flex-direction: row; }
  .md\:flex-col { flex-direction: column; }
  .md\:items-center { align-items: center; }
  .md\:justify-center { justify-content: center; }
  .md\:justify-between { justify-content: space-between; }
  .md\:gap-1 { gap: 0.25rem; }
  .md\:gap-2 { gap: 0.5rem; }
  .md\:gap-3 { gap: 0.75rem; }
  .md\:gap-4 { gap: 1rem; }
  .md\:gap-5 { gap: 1.25rem; }
  .md\:gap-6 { gap: 1.5rem; }
  .md\:gap-8 { gap: 2rem; }
  .md\:gap-10 { gap: 2.5rem; }
  .md\:gap-12 { gap: 3rem; }
  .md\:gap-16 { gap: 4rem; }
  .md\:gap-20 { gap: 5rem; }
  .md\:gap-24 { gap: 6rem; }
  .md\:px-2 { padding-left: 0.5rem; padding-right: 0.5rem; }
  .md\:px-3 { padding-left: 0.75rem; padding-right: 0.75rem; }
  .md\:px-4 { padding-left: 1rem; padding-right: 1rem; }
  .md\:px-5 { padding-left: 1.25rem; padding-right: 1.25rem; }
  .md\:px-6 { padding-left: 1.5rem; padding-right: 1.5rem; }
  .md\:px-8 { padding-left: 2rem; padding-right: 2rem; }
  .md\:px-10 { padding-left: 2.5rem; padding-right: 2.5rem; }
  .md\:px-12 { padding-left: 3rem; padding-right: 3rem; }
  .md\:px-16 { padding-left: 4rem; padding-right: 4rem; }
  .md\:px-20 { padding-left: 5rem; padding-right: 5rem; }
  .md\:px-24 { padding-left: 6rem; padding-right: 6rem; }
  .md\:px-32 { padding-left: 8rem; padding-right: 8rem; }
  .md\:py-2 { padding-top: 0.5rem; padding-bottom: 0.5rem; }
  .md\:py-3 { padding-top: 0.75rem; padding-bottom: 0.75rem; }
  .md\:py-4 { padding-top: 1rem; padding-bottom: 1rem; }
  .md\:py-5 { padding-top: 1.25rem; padding-bottom: 1.25rem; }
  .md\:py-6 { padding-top: 1.5rem; padding-bottom: 1.5rem; }
  .md\:py-8 { padding-top: 2rem; padding-bottom: 2rem; }
  .md\:py-10 { padding-top: 2.5rem; padding-bottom: 2.5rem; }
  .md\:py-12 { padding-top: 3rem; padding-bottom: 3rem; }
  .md\:py-16 { padding-top: 4rem; padding-bottom: 4rem; }
  .md\:py-20 { padding-top: 5rem; padding-bottom: 5rem; }
  .md\:py-24 { padding-top: 6rem; padding-bottom: 6rem; }
  .md\:py-32 { padding-top: 8rem; padding-bottom: 8rem; }
  .md\:py-40 { padding-top: 10rem; padding-bottom: 10rem; }
  .md\:py-48 { padding-top: 12rem; padding-bottom: 12rem; }
  .md\:py-64 { padding-top: 16rem; padding-bottom: 16rem; }
  .md\:py-80 { padding-top: 20rem; padding-bottom: 20rem; }
  .md\:py-96 { padding-top: 24rem; padding-bottom: 24rem; }
  .md\:pt-2 { padding-top: 0.5rem; }
  .md\:pt-3 { padding-top: 0.75rem; }
  .md\:pt-4 { padding-top: 1rem; }
  .md\:pt-5 { padding-top: 1.25rem; }
  .md\:pt-6 { padding-top: 1.5rem; }
  .md\:pt-8 { padding-top: 2rem; }
  .md\:pt-10 { padding-top: 2.5rem; }
  .md\:pt-12 { padding-top: 3rem; }
  .md\:pt-16 { padding-top: 4rem; }
  .md\:pt-20 { padding-top: 5rem; }
  .md\:pt-24 { padding-top: 6rem; }
  .md\:pt-32 { padding-top: 8rem; }
  .md\:pt-40 { padding-top: 10rem; }
  .md\:pt-48 { padding-top: 12rem; }
  .md\:pt-64 { padding-top: 16rem; }
  .md\:pt-80 { padding-top: 20rem; }
  .md\:pt-96 { padding-top: 24rem; }
  .md\:pb-2 { padding-bottom: 0.5rem; }
  .md\:pb-3 { padding-bottom: 0.75rem; }
  .md\:pb-4 { padding-bottom: 1rem; }
  .md\:pb-5 { padding-bottom: 1.25rem; }
  .md\:pb-6 { padding-bottom: 1.5rem; }
  .md\:pb-8 { padding-bottom: 2rem; }
  .md\:pb-10 { padding-bottom: 2.5rem; }
  .md\:pb-12 { padding-bottom: 3rem; }
  .md\:pb-16 { padding-bottom: 4rem; }
  .md\:pb-20 { padding-bottom: 5rem; }
  .md\:pb-24 { padding-bottom: 6rem; }
  .md\:pb-32 { padding-bottom: 8rem; }
  .md\:pb-40 { padding-bottom: 10rem; }
  .md\:pb-48 { padding-bottom: 12rem; }
  .md\:pb-64 { padding-bottom: 16rem; }
  .md\:pb-80 { padding-bottom: 20rem; }
  .md\:pb-96 { padding-bottom: 24rem; }
  .md\:mt-2 { margin-top: 0.5rem; }
  .md\:mt-3 { margin-top: 0.75rem; }
  .md\:mt-4 { margin-top: 1rem; }
  .md\:mt-5 { margin-top: 1.25rem; }
  .md\:mt-6 { margin-top: 1.5rem; }
  .md\:mt-8 { margin-top: 2rem; }
  .md\:mt-10 { margin-top: 2.5rem; }
  .md\:mt-12 { margin-top: 3rem; }
  .md\:mt-16 { margin-top: 4rem; }
  .md\:mt-20 { margin-top: 5rem; }
  .md\:mt-24 { margin-top: 6rem; }
  .md\:mt-32 { margin-top: 8rem; }
  .md\:mt-40 { margin-top: 10rem; }
  .md\:mt-48 { margin-top: 12rem; }
  .md\:mt-64 { margin-top: 16rem; }
  .md\:mt-80 { margin-top: 20rem; }
  .md\:mt-96 { margin-top: 24rem; }
  .md\:mb-2 { margin-bottom: 0.5rem; }
  .md\:mb-3 { margin-bottom: 0.75rem; }
  .md\:mb-4 { margin-bottom: 1rem; }
  .md\:mb-5 { margin-bottom: 1.25rem; }
  .md\:mb-6 { margin-bottom: 1.5rem; }
  .md\:mb-8 { margin-bottom: 2rem; }
  .md\:mb-10 { margin-bottom: 2.5rem; }
  .md\:mb-12 { margin-bottom: 3rem; }
  .md\:mb-16 { margin-bottom: 4rem; }
  .md\:mb-20 { margin-bottom: 5rem; }
  .md\:mb-24 { margin-bottom: 6rem; }
  .md\:mb-32 { margin-bottom: 8rem; }
  .md\:mb-40 { margin-bottom: 10rem; }
  .md\:mb-48 { margin-bottom: 12rem; }
  .md\:mb-64 { margin-bottom: 16rem; }
  .md\:mb-80 { margin-bottom: 20rem; }
  .md\:mb-96 { margin-bottom: 24rem; }
  .md\:ml-2 { margin-left: 0.5rem; }
  .md\:ml-3 { margin-left: 0.75rem; }
  .md\:ml-4 { margin-left: 1rem; }
  .md\:ml-5 { margin-left: 1.25rem; }
  .md\:ml-6 { margin-left: 1.5rem; }
  .md\:ml-8 { margin-left: 2rem; }
  .md\:ml-10 { margin-left: 2.5rem; }
  .md\:ml-12 { margin-left: 3rem; }
  .md\:ml-16 { margin-left: 4rem; }
  .md\:ml-20 { margin-left: 5rem; }
  .md\:ml-24 { margin-left: 6rem; }
  .md\:ml-32 { margin-left: 8rem; }
  .md\:ml-40 { margin-left: 10rem; }
  .md\:ml-48 { margin-left: 12rem; }
  .md\:ml-64 { margin-left: 16rem; }
  .md\:ml-80 { margin-left: 20rem; }
  .md\:ml-96 { margin-left: 24rem; }
  .md\:mr-2 { margin-right: 0.5rem; }
  .md\:mr-3 { margin-right: 0.75rem; }
  .md\:mr-4 { margin-right: 1rem; }
  .md\:mr-5 { margin-right: 1.25rem; }
  .md\:mr-6 { margin-right: 1.5rem; }
  .md\:mr-8 { margin-right: 2rem; }
  .md\:mr-10 { margin-right: 2.5rem; }
  .md\:mr-12 { margin-right: 3rem; }
  .md\:mr-16 { margin-right: 4rem; }
  .md\:mr-20 { margin-right: 5rem; }
  .md\:mr-24 { margin-right: 6rem; }
  .md\:mr-32 { margin-right: 8rem; }
  .md\:mr-40 { margin-right: 10rem; }
  .md\:mr-48 { margin-right: 12rem; }
  .md\:mr-64 { margin-right: 16rem; }
  .md\:mr-80 { margin-right: 20rem; }
  .md\:mr-96 { margin-right: 24rem; }
  .md\:mx-2 { margin-left: 0.5rem; margin-right: 0.5rem; }
  .md\:mx-3 { margin-left: 0.75rem; margin-right: 0.75rem; }
  .md\:mx-4 { margin-left: 1rem; margin-right: 1rem; }
  .md\:mx-5 { margin-left: 1.25rem; margin-right: 1.25rem; }
  .md\:mx-6 { margin-left: 1.5rem; margin-right: 1.5rem; }
  .md\:mx-8 { margin-left: 2rem; margin-right: 2rem; }
  .md\:mx-10 { margin-left: 2.5rem; margin-right: 2.5rem; }
  .md\:mx-12 { margin-left: 3rem; margin-right: 3rem; }
  .md\:mx-16 { margin-left: 4rem; margin-right: 4rem; }
  .md\:mx-20 { margin-left: 5rem; margin-right: 5rem; }
  .md\:mx-24 { margin-left: 6rem; margin-right: 6rem; }
  .md\:mx-32 { margin-left: 8rem; margin-right: 8rem; }
  .md\:mx-40 { margin-left: 10rem; margin-right: 10rem; }
  .md\:mx-48 { margin-left: 12rem; margin-right: 12rem; }
  .md\:mx-64 { margin-left: 16rem; margin-right: 16rem; }
  .md\:mx-80 { margin-left: 20rem; margin-right: 20rem; }
  .md\:mx-96 { margin-left: 24rem; margin-right: 24rem; }
  .md\:my-2 { margin-top: 0.5rem; margin-bottom: 0.5rem; }
  .md\:my-3 { margin-top: 0.75rem; margin-bottom: 0.75rem; }
  .md\:my-4 { margin-top: 1rem; margin-bottom: 1rem; }
  .md\:my-5 { margin-top: 1.25rem; margin-bottom: 1.25rem; }
  .md\:my-6 { margin-top: 1.5rem; margin-bottom: 1.5rem; }
  .md\:my-8 { margin-top: 2rem; margin-bottom: 2rem; }
  .md\:my-10 { margin-top: 2.5rem; margin-bottom: 2.5rem; }
  .md\:my-12 { margin-top: 3rem; margin-bottom: 3rem; }
  .md\:my-16 { margin-top: 4rem; margin-bottom: 4rem; }
  .md\:my-20 { margin-top: 5rem; margin-bottom: 5rem; }
  .md\:my-24 { margin-top: 6rem; margin-bottom: 6rem; }
  .md\:my-32 { margin-top: 8rem; margin-bottom: 8rem; }
  .md\:my-40 { margin-top: 10rem; margin-bottom: 10rem; }
  .md\:my-48 { margin-top: 12rem; margin-bottom: 12rem; }
  .md\:my-64 { margin-top: 16rem; margin-bottom: 16rem; }
  .md\:my-80 { margin-top: 20rem; margin-bottom: 20rem; }
  .md\:my-96 { margin-top: 24rem; margin-bottom: 24rem; }
  .md\:m-2 { margin: 0.5rem; }
  .md\:m-3 { margin: 0.75rem; }
  .md\:m-4 { margin: 1rem; }
  .md\:m-5 { margin: 1.25rem; }
  .md\:m-6 { margin: 1.5rem; }
  .md\:m-8 { margin: 2rem; }
  .md\:m-10 { margin: 2.5rem; }
  .md\:m-12 { margin: 3rem; }
  .md\:m-16 { margin: 4rem; }
  .md\:m-20 { margin: 5rem; }
  .md\:m-24 { margin: 6rem; }
  .md\:m-32 { margin: 8rem; }
  .md\:m-40 { margin: 10rem; }
  .md\:m-48 { margin: 12rem; }
  .md\:m-64 { margin: 16rem; }
  .md\:m-80 { margin: 20rem; }
  .md\:m-96 { margin: 24rem; }
  .md\:p-2 { padding: 0.5rem; }
  .md\:p-3 { padding: 0.75rem; }
  .md\:p-4 { padding: 1rem; }
  .md\:p-5 { padding: 1.25rem; }
  .md\:p-6 { padding: 1.5rem; }
  .md\:p-8 { padding: 2rem; }
  .md\:p-10 { padding: 2.5rem; }
  .md\:p-12 { padding: 3rem; }
  .md\:p-16 { padding: 4rem; }
  .md\:p-20 { padding: 5rem; }
  .md\:p-24 { padding: 6rem; }
  .md\:p-32 { padding: 8rem; }
  .md\:p-40 { padding: 10rem; }
  .md\:p-48 { padding: 12rem; }
  .md\:p-64 { padding: 16rem; }
  .md\:p-80 { padding: 20rem; }
  .md\:p-96 { padding: 24rem; }
  .md\:w-2 { width: 0.5rem; }
  .md\:w-3 { width: 0.75rem; }
  .md\:w-4 { width: 1rem; }
  .md\:w-5 { width: 1.25rem; }
  .md\:w-6 { width: 1.5rem; }
  .md\:w-8 { width: 2rem; }
  .md\:w-10 { width: 2.5rem; }
  .md\:w-12 { width: 3rem; }
  .md\:w-16 { width: 4rem; }
  .md\:w-20 { width: 5rem; }
  .md\:w-24 { width: 6rem; }
  .md\:w-32 { width: 8rem; }
  .md\:w-40 { width: 10rem; }
  .md\:w-48 { width: 12rem; }
  .md\:w-56 { width: 14rem; }
  .md\:w-64 { width: 16rem; }
  .md\:w-72 { width: 18rem; }
  .md\:w-80 { width: 20rem; }
  .md\:w-96 { width: 24rem; }
  .md\:h-2 { height: 0.5rem; }
  .md\:h-3 { height: 0.75rem; }
  .md\:h-4 { height: 1rem; }
  .md\:h-5 { height: 1.25rem; }
  .md\:h-6 { height: 1.5rem; }
  .md\:h-8 { height: 2rem; }
  .md\:h-10 { height: 2.5rem; }
  .md\:h-12 { height: 3rem; }
  .md\:h-14 { height: 3.5rem; }
  .md\:h-16 { height: 4rem; }
  .md\:h-20 { height: 5rem; }
  .md\:h-24 { height: 6rem; }
  .md\:h-32 { height: 8rem; }
  .md\:h-40 { height: 10rem; }
  .md\:h-48 { height: 12rem; }
  .md\:h-56 { height: 14rem; }
  .md\:h-64 { height: 16rem; }
  .md\:h-72 { height: 18rem; }
  .md\:h-80 { height: 20rem; }
  .md\:h-96 { height: 24rem; }
  .md\:min-w-0 { min-width: 0; }
  .md\:min-w-full { min-width: 100%; }
  .md\:max-w-0 { max-width: 0; }
  .md\:max-w-full { max-width: 100%; }
  .md\:max-w-xs { max-width: 20rem; }
  .md\:max-w-sm { max-width: 24rem; }
  .md\:max-w-md { max-width: 28rem; }
  .md\:max-w-lg { max-width: 32rem; }
  .md\:max-w-xl { max-width: 36rem; }
  .md\:max-w-2xl { max-width: 42rem; }
  .md\:max-w-3xl { max-width: 48rem; }
  .md\:max-w-4xl { max-width: 56rem; }
  .md\:max-w-5xl { max-width: 64rem; }
  .md\:max-w-6xl { max-width: 72rem; }
  .md\:max-w-7xl { max-width: 80rem; }
  .md\:max-w-full { max-width: 100%; }
  .md\:max-w-none { max-width: none; }
  .md\:min-h-0 { min-height: 0; }
  .md\:min-h-full { min-height: 100%; }
  .md\:min-h-screen { min-height: 100vh; }
  .md\:max-h-0 { max-height: 0; }
  .md\:max-h-full { max-height: 100%; }
  .md\:max-h-screen { max-height: 100vh; }
}

@media (min-width: 1024px) {
  .lg\:block { display: block; }
  .lg\:hidden { display: none; }
  .lg\:flex { display: flex; }
  .lg\:flex-row { flex-direction: row; }
  .lg\:flex-col { flex-direction: column; }
  .lg\:items-center { align-items: center; }
  .lg\:justify-center { justify-content: center; }
  .lg\:justify-between { justify-content: space-between; }
  .lg\:gap-1 { gap: 0.25rem; }
  .lg\:gap-2 { gap: 0.5rem; }
  .lg\:gap-3 { gap: 0.75rem; }
  .lg\:gap-4 { gap: 1rem; }
  .lg\:gap-5 { gap: 1.25rem; }
  .lg\:gap-6 { gap: 1.5rem; }
  .lg\:gap-8 { gap: 2rem; }
  .lg\:gap-10 { gap: 2.5rem; }
  .lg\:gap-12 { gap: 3rem; }
  .lg\:gap-16 { gap: 4rem; }
  .lg\:gap-20 { gap: 5rem; }
  .lg\:gap-24 { gap: 6rem; }
  .lg\:px-2 { padding-left: 0.5rem; padding-right: 0.5rem; }
  .lg\:px-3 { padding-left: 0.75rem; padding-right: 0.75rem; }
  .lg\:px-4 { padding-left: 1rem; padding-right: 1rem; }
  .lg\:px-5 { padding-left: 1.25rem; padding-right: 1.25rem; }
  .lg\:px-6 { padding-left: 1.5rem; padding-right: 1.5rem; }
  .lg\:px-8 { padding-left: 2rem; padding-right: 2rem; }
  .lg\:px-10 { padding-left: 2.5rem; padding-right: 2.5rem; }
  .lg\:px-12 { padding-left: 3rem; padding-right: 3rem; }
  .lg\:px-16 { padding-left: 4rem; padding-right: 4rem; }
  .lg\:px-20 { padding-left: 5rem; padding-right: 5rem; }
  .lg\:px-24 { padding-left: 6rem; padding-right: 6rem; }
  .lg\:px-32 { padding-left: 8rem; padding-right: 8rem; }
  .lg\:py-2 { padding-top: 0.5rem; padding-bottom: 0.5rem; }
  .lg\:py-3 { padding-top: 0.75rem; padding-bottom: 0.75rem; }
  .lg\:py-4 { padding-top: 1rem; padding-bottom: 1rem; }
  .lg\:py-5 { padding-top: 1.25rem; padding-bottom: 1.25rem; }
  .lg\:py-6 { padding-top: 1.5rem; padding-bottom: 1.5rem; }
  .lg\:py-8 { padding-top: 2rem; padding-bottom: 2rem; }
  .lg\:py-10 { padding-top: 2.5rem; padding-bottom: 2.5rem; }
  .lg\:py-12 { padding-top: 3rem; padding-bottom: 3rem; }
  .lg\:py-16 { padding-top: 4rem; padding-bottom: 4rem; }
  .lg\:py-20 { padding-top: 5rem; padding-bottom: 5rem; }
  .lg\:py-24 { padding-top: 6rem; padding-bottom: 6rem; }
  .lg\:py-32 { padding-top: 8rem; padding-bottom: 8rem; }
  .lg\:py-40 { padding-top: 10rem; padding-bottom: 10rem; }
  .lg\:py-48 { padding-top: 12rem; padding-bottom: 12rem; }
  .lg\:py-64 { padding-top: 16rem; padding-bottom: 16rem; }
  .lg\:py-80 { padding-top: 20rem; padding-bottom: 20rem; }
  .lg\:py-96 { padding-top: 24rem; padding-bottom: 24rem; }
  .lg\:pt-2 { padding-top: 0.5rem; }
  .lg\:pt-3 { padding-top: 0.75rem; }
  .lg\:pt-4 { padding-top: 1rem; }
  .lg\:pt-5 { padding-top: 1.25rem; }
  .lg\:pt-6 { padding-top: 1.5rem; }
  .lg\:pt-8 { padding-top: 2rem; }
  .lg\:pt-10 { padding-top: 2.5rem; }
  .lg\:pt-12 { padding-top: 3rem; }
  .lg\:pt-16 { padding-top: 4rem; }
  .lg\:pt-20 { padding-top: 5rem; }
  .lg\:pt-24 { padding-top: 6rem; }
  .lg\:pt-32 { padding-top: 8rem; }
  .lg\:pt-40 { padding-top: 10rem; }
  .lg\:pt-48 { padding-top: 12rem; }
  .lg\:pt-64 { padding-top: 16rem; }
  .lg\:pt-80 { padding-top: 20rem; }
  .lg\:pt-96 { padding-top: 24rem; }
  .lg\:pb-2 { padding-bottom: 0.5rem; }
  .lg\:pb-3 { padding-bottom: 0.75rem; }
  .lg\:pb-4 { padding-bottom: 1rem; }
  .lg\:pb-5 { padding-bottom: 1.25rem; }
  .lg\:pb-6 { padding-bottom: 1.5rem; }
  .lg\:pb-8 { padding-bottom: 2rem; }
  .lg\:pb-10 { padding-bottom: 2.5rem; }
  .lg\:pb-12 { padding-bottom: 3rem; }
  .lg\:pb-16 { padding-bottom: 4rem; }
  .lg\:pb-20 { padding-bottom: 5rem; }
  .lg\:pb-24 { padding-bottom: 6rem; }
  .lg\:pb-32 { padding-bottom: 8rem; }
  .lg\:pb-40 { padding-bottom: 10rem; }
  .lg\:pb-48 { padding-bottom: 12rem; }
  .lg\:pb-64 { padding-bottom: 16rem; }
  .lg\:pb-80 { padding-bottom: 20rem; }
  .lg\:pb-96 { padding-bottom: 24rem; }
  .lg\:mt-2 { margin-top: 0.5rem; }
  .lg\:mt-3 { margin-top: 0.75rem; }
  .lg\:mt-4 { margin-top: 1rem; }
  .lg\:mt-5 { margin-top: 1.25rem; }
  .lg\:mt-6 { margin-top: 1.5rem; }
  .lg\:mt-8 { margin-top: 2rem; }
  .lg\:mt-10 { margin-top: 2.5rem; }
  .lg\:mt-12 { margin-top: 3rem; }
  .lg\:mt-16 { margin-top: 4rem; }
  .lg\:mt-20 { margin-top: 5rem; }
  .lg\:mt-24 { margin-top: 6rem; }
  .lg\:mt-32 { margin-top: 8rem; }
  .lg\:mt-40 { margin-top: 10rem; }
  .lg\:mt-48 { margin-top: 12rem; }
  .lg\:mt-64 { margin-top: 16rem; }
  .lg\:mt-80 { margin-top: 20rem; }
  .lg\:mt-96 { margin-top: 24rem; }
  .lg\:mb-2 { margin-bottom: 0.5rem; }
  .lg\:mb-3 { margin-bottom: 0.75rem; }
  .lg\:mb-4 { margin-bottom: 1rem; }
  .lg\:mb-5 { margin-bottom: 1.25rem; }
  .lg\:mb-6 { margin-bottom: 1.5rem; }
  .lg\:mb-8 { margin-bottom: 2rem; }
  .lg\:mb-10 { margin-bottom: 2.5rem; }
  .lg\:mb-12 { margin-bottom: 3rem; }
  .lg\:mb-16 { margin-bottom: 4rem; }
  .lg\:mb-20 { margin-bottom: 5rem; }
  .lg\:mb-24 { margin-bottom: 6rem; }
  .lg\:mb-32 { margin-bottom: 8rem; }
  .lg\:mb-40 { margin-bottom: 10rem; }
  .lg\:mb-48 { margin-bottom: 12rem; }
  .lg\:mb-64 { margin-bottom: 16rem; }
  .lg\:mb-80 { margin-bottom: 20rem; }
  .lg\:mb-96 { margin-bottom: 24rem; }
  .lg\:ml-2 { margin-left: 0.5rem; }
  .lg\:ml-3 { margin-left: 0.75rem; }
  .lg\:ml-4 { margin-left: 1rem; }
  .lg\:ml-5 { margin-left: 1.25rem; }
  .lg\:ml-6 { margin-left: 1.5rem; }
  .lg\:ml-8 { margin-left: 2rem; }
  .lg\:ml-10 { margin-left: 2.5rem; }
  .lg\:ml-12 { margin-left: 3rem; }
  .lg\:ml-16 { margin-left: 4rem; }
  .lg\:ml-20 { margin-left: 5rem; }
  .lg\:ml-24 { margin-left: 6rem; }
  .lg\:ml-32 { margin-left: 8rem; }
  .lg\:ml-40 { margin-left: 10rem; }
  .lg\:ml-48 { margin-left: 12rem; }
  .lg\:ml-64 { margin-left: 16rem; }
  .lg\:ml-80 { margin-left: 20rem; }
  .lg\:ml-96 { margin-left: 24rem; }
  .lg\:mr-2 { margin-right: 0.5rem; }
  .lg\:mr-3 { margin-right: 0.75rem; }
  .lg\:mr-4 { margin-right: 1rem; }
  .lg\:mr-5 { margin-right: 1.25rem; }
  .lg\:mr-6 { margin-right: 1.5rem; }
  .lg\:mr-8 { margin-right: 2rem; }
  .lg\:mr-10 { margin-right: 2.5rem; }
  .lg\:mr-12 { margin-right: 3rem; }
  .lg\:mr-16 { margin-right: 4rem; }
  .lg\:mr-20 { margin-right: 5rem; }
  .lg\:mr-24 { margin-right: 6rem; }
  .lg\:mr-32 { margin-right: 8rem; }
  .lg\:mr-40 { margin-right: 10rem; }
  .lg\:mr-48 { margin-right: 12rem; }
  .lg\:mr-64 { margin-right: 16rem; }
  .lg\:mr-80 { margin-right: 20rem; }
  .lg\:mr-96 { margin-right: 24rem; }
  .lg\:mx-2 { margin-left: 0.5rem; margin-right: 0.5rem; }
  .lg\:mx-3 { margin-left: 0.75rem; margin-right: 0.75rem; }
  .lg\:mx-4 { margin-left: 1rem; margin-right: 1rem; }
  .lg\:mx-5 { margin-left: 1.25rem; margin-right: 1.25rem; }
  .lg\:mx-6 { margin-left: 1.5rem; margin-right: 1.5rem; }
  .lg\:mx-8 { margin-left: 2rem; margin-right: 2rem; }
  .lg\:mx-10 { margin-left: 2.5rem; margin-right: 2.5rem; }
  .lg\:mx-12 { margin-left: 3rem; margin-right: 3rem; }
  .lg\:mx-16 { margin-left: 4rem; margin-right: 4rem; }
  .lg\:mx-20 { margin-left: 5rem; margin-right: 5rem; }
  .lg\:mx-24 { margin-left: 6rem; margin-right: 6rem; }
  .lg\:mx-32 { margin-left: 8rem; margin-right: 8rem; }
  .lg\:mx-40 { margin-left: 10rem; margin-right: 10rem; }
  .lg\:mx-48 { margin-left: 12rem; margin-right: 12rem; }
  .lg\:mx-64 { margin-left: 16rem; margin-right: 16rem; }
  .lg\:mx-80 { margin-left: 20rem; margin-right: 20rem; }
  .lg\:mx-96 { margin-left: 24rem; margin-right: 24rem; }
  .lg\:my-2 { margin-top: 0.5rem; margin-bottom: 0.5rem; }
  .lg\:my-3 { margin-top: 0.75rem; margin-bottom: 0.75rem; }
  .lg\:my-4 { margin-top: 1rem; margin-bottom: 1rem; }
  .lg\:my-5 { margin-top: 1.25rem; margin-bottom: 1.25rem; }
  .lg\:my-6 { margin-top: 1.5rem; margin-bottom: 1.5rem; }
  .lg\:my-8 { margin-top: 2rem; margin-bottom: 2rem; }
  .lg\:my-10 { margin-top: 2.5rem; margin-bottom: 2.5rem; }
  .lg\:my-12 { margin-top: 3rem; margin-bottom: 3rem; }
  .lg\:my-16 { margin-top: 4rem; margin-bottom: 4rem; }
  .lg\:my-20 { margin-top: 5rem; margin-bottom: 5rem; }
  .lg\:my-24 { margin-top: 6rem; margin-bottom: 6rem; }
  .lg\:my-32 { margin-top: 8rem; margin-bottom: 8rem; }
  .lg\:my-40 { margin-top: 10rem; margin-bottom: 10rem; }
  .lg\:my-48 { margin-top: 12rem; margin-bottom: 12rem; }
  .lg\:my-64 { margin-top: 16rem; margin-bottom: 16rem; }
  .lg\:my-80 { margin-top: 20rem; margin-bottom: 20rem; }
  .lg\:my-96 { margin-top: 24rem; margin-bottom: 24rem; }
  .lg\:m-2 { margin: 0.5rem; }
  .lg\:m-3 { margin: 0.75rem; }
  .lg\:m-4 { margin: 1rem; }
  .lg\:m-5 { margin: 1.25rem; }
  .lg\:m-6 { margin: 1.5rem; }
  .lg\:m-8 { margin: 2rem; }
  .lg\:m-10 { margin: 2.5rem; }
  .lg\:m-12 { margin: 3rem; }
  .lg\:m-16 { margin: 4rem; }
  .lg\:m-20 { margin: 5rem; }
  .lg\:m-24 { margin: 6rem; }
  .lg\:m-32 { margin: 8rem; }
  .lg\:m-40 { margin: 10rem; }
  .lg\:m-48 { margin: 12rem; }
  .lg\:m-64 { margin: 16rem; }
  .lg\:m-80 { margin: 20rem; }
  .lg\:m-96 { margin: 24rem; }
  .lg\:p-2 { padding: 0.5rem; }
  .lg\:p-3 { padding: 0.75rem; }
  .lg\:p-4 { padding: 1rem; }
  .lg\:p-5 { padding: 1.25rem; }
  .lg\:p-6 { padding: 1.5rem; }
  .lg\:p-8 { padding: 2rem; }
  .lg\:p-10 { padding: 2.5rem; }
  .lg\:p-12 { padding: 3rem; }
  .lg\:p-16 { padding: 4rem; }
  .lg\:p-20 { padding: 5rem; }
  .lg\:p-24 { padding: 6rem; }
  .lg\:p-32 { padding: 8rem; }
  .lg\:p-40 { padding: 10rem; }
  .lg\:p-48 { padding: 12rem; }
  .lg\:p-64 { padding: 16rem; }
  .lg\:p-80 { padding: 20rem; }
  .lg\:p-96 { padding: 24rem; }
  .lg\:w-2 { width: 0.5rem; }
  .lg\:w-3 { width: 0.75rem; }
  .lg\:w-4 { width: 1rem; }
  .lg\:w-5 { width: 1.25rem; }
  .lg\:w-6 { width: 1.5rem; }
  .lg\:w-8 { width: 2rem; }
  .lg\:w-10 { width: 2.5rem; }
  .lg\:w-12 { width: 3rem; }
  .lg\:w-16 { width: 4rem; }
  .lg\:w-20 { width: 5rem; }
  .lg\:w-24 { width: 6rem; }
  .lg\:w-32 { width: 8rem; }
  .lg\:w-40 { width: 10rem; }
  .lg\:w-48 { width: 12rem; }
  .lg\:w-56 { width: 14rem; }
  .lg\:w-64 { width: 16rem; }
  .lg\:w-72 { width: 18rem; }
  .lg\:w-80 { width: 20rem; }
  .lg\:w-96 { width: 24rem; }
  .lg\:h-2 { height: 0.5rem; }
  .lg\:h-3 { height: 0.75rem; }
  .lg\:h-4 { height: 1rem; }
  .lg\:h-5 { height: 1.25rem; }
  .lg\:h-6 { height: 1.5rem; }
  .lg\:h-8 { height: 2rem; }
  .lg\:h-10 { height: 2.5rem; }
  .lg\:h-12 { height: 3rem; }
  .lg\:h-14 { height: 3.5rem; }
  .lg\:h-16 { height: 4rem; }
  .lg\:h-20 { height: 5rem; }
  .lg\:h-24 { height: 6rem; }
  .lg\:h-32 { height: 8rem; }
  .lg\:h-40 { height: 10rem; }
  .lg\:h-48 { height: 12rem; }
  .lg\:h-56 { height: 14rem; }
  .lg\:h-64 { height: 16rem; }
  .lg\:h-72 { height: 18rem; }
  .lg\:h-80 { height: 20rem; }
  .lg\:h-96 { height: 24rem; }
  .lg\:min-w-0 { min-width: 0; }
  .lg\:min-w-full { min-width: 100%; }
  .lg\:max-w-0 { max-width: 0; }
  .lg\:max-w-full { max-width: 100%; }
  .lg\:max-w-xs { max-width: 20rem; }
  .lg\:max-w-sm { max-width: 24rem; }
  .lg\:max-w-md { max-width: 28rem; }
  .lg\:max-w-lg { max-width: 32rem; }
  .lg\:max-w-xl { max-width: 36rem; }
  .lg\:max-w-2xl { max-width: 42rem; }
  .lg\:max-w-3xl { max-width: 48rem; }
  .lg\:max-w-4xl { max-width: 56rem; }
  .lg\:max-w-5xl { max-width: 64rem; }
  .lg\:max-w-6xl { max-width: 72rem; }
  .lg\:max-w-7xl { max-width: 80rem; }
  .lg\:max-w-full { max-width: 100%; }
  .lg\:max-w-none { max-width: none; }
  .lg\:min-h-0 { min-height: 0; }
  .lg\:min-h-full { min-height: 100%; }
  .lg\:min-h-screen { min-height: 100vh; }
  .lg\:max-h-0 { max-height: 0; }
  .lg\:max-h-full { max-height: 100%; }
  .lg\:max-h-screen { max-height: 100vh; }
}

/* Animation delays */
.delay-100 { animation-delay: 100ms; }
.delay-200 { animation-delay: 200ms; }
.delay-300 { animation-delay: 300ms; }
.delay-400 { animation-delay: 400ms; }
.delay-500 { animation-delay: 500ms; }
.duration-300 { animation-duration: 300ms; }
.duration-500 { animation-duration: 500ms; }
.ease-in-out { animation-timing-function: ease-in-out; }
.ease-out { animation-timing-function: ease-out; }

/* Scale transforms */
.scale-95 { transform: scale(0.95); }
.scale-110 { transform: scale(1.1); }
.scale-100 { transform: scale(1); }

/* Translate transforms */
.-translate-y-1 { transform: translateY(-0.25rem); }
.-translate-y-2 { transform: translateY(-0.5rem); }
.translate-y-0 { transform: translateY(0); }
.translate-y-2 { transform: translateY(0.5rem); }
.translate-y-4 { transform: translateY(1rem); }
.translate-y-8 { transform: translateY(2rem); }
.translate-y-10 { transform: translateY(2.5rem); }
.translate-y-12 { transform: translateY(3rem); }
.translate-y-15 { transform: translateY(3.75rem); }

/* Opacity */
.opacity-0 { opacity: 0; }
.opacity-4 { opacity: 0.04; }
.opacity-5 { opacity: 0.05; }
.opacity-6 { opacity: 0.06; }
.opacity-7 { opacity: 0.07; }
.opacity-8 { opacity: 0.08; }
.opacity-40 { opacity: 0.4; }
.opacity-85 { opacity: 0.85; }
.opacity-90 { opacity: 0.9; }
.opacity-95 { opacity: 0.95; }
.opacity-100 { opacity: 1; }

/* Cursor */
.cursor-pointer { cursor: pointer; }
.cursor-text { cursor: text; }

/* Pointer events */
.pointer-events-none { pointer-events: none; }
.pointer-events-auto { pointer-events: auto; }

/* Position */
.absolute { position: absolute; }
.relative { position: relative; }
.fixed { position: fixed; }
.sticky { position: sticky; }

/* Inset */
.inset-0 { top: 0; right: 0; bottom: 0; left: 0; }
.inset-x-0 { left: 0; right: 0; }
.inset-y-0 { top: 0; bottom: 0; }
.top-0 { top: 0; }
.right-0 { right: 0; }
.bottom-0 { bottom: 0; }
.left-0 { left: 0; }

/* Z-index */
.z-0 { z-index: 0; }
.z-10 { z-index: 10; }
.z-20 { z-index: 20; }
.z-30 { z-index: 30; }
.z-40 { z-index: 40; }
.z-50 { z-index: 50; }
.z-auto { z-index: auto; }

/* Overflow */
.overflow-auto { overflow: auto; }
.overflow-hidden { overflow: hidden; }
.overflow-visible { overflow: visible; }
.overflow-scroll { overflow: scroll; }
.overflow-x-auto { overflow-x: auto; }
.overflow-y-auto { overflow-y: auto; }
.overflow-x-hidden { overflow-x: hidden; }
.overflow-y-hidden { overflow-y: hidden; }
.overflow-x-scroll { overflow-x: scroll; }
.overflow-y-scroll { overflow-y: scroll; }

/* Display */
.inline { display: inline; }
.inline-block { display: inline-block; }
.block { display: block; }
.inline-flex { display: inline-flex; }
.flex { display: flex; }
.inline-grid { display: inline-grid; }
.grid { display: grid; }
.hidden { display: none; }

/* Table */
.table { display: table; }
.table-caption { display: table-caption; }
.table-cell { display: table-cell; }
.table-column { display: table-column; }
.table-column-group { display: table-column-group; }
.table-footer-group { display: table-footer-group; }
.table-header-group { display: table-header-group; }
.table-row { display: table-row; }
.table-row-group { display: table-row-group; }

/* Flex */
.flex-row { flex-direction: row; }
.flex-row-reverse { flex-direction: row-reverse; }
.flex-col { flex-direction: column; }
.flex-col-reverse { flex-direction: column-reverse; }
.flex-wrap { flex-wrap: wrap; }
.flex-wrap-reverse { flex-wrap: wrap-reverse; }
.flex-nowrap { flex-wrap: nowrap; }
.gap-0 { gap: 0; }
.gap-px { gap: 1px; }
.gap-0\.5 { gap: 0.125rem; }
.gap-1 { gap: 0.25rem; }
.gap-1\.5 { gap: 0.375rem; }
.gap-2 { gap: 0.5rem; }
.gap-2\.5 { gap: 0.625rem; }
.gap-3 { gap: 0.75rem; }
.gap-3\.5 { gap: 0.875rem; }
.gap-4 { gap: 1rem; }
.gap-5 { gap: 1.25rem; }
.gap-6 { gap: 1.5rem; }
.gap-7 { gap: 1.75rem; }
.gap-8 { gap: 2rem; }
.gap-9 { gap: 2.25rem; }
.gap-10 { gap: 2.5rem; }
.gap-11 { gap: 2.75rem; }
.gap-12 { gap: 3rem; }
.gap-14 { gap: 3.5rem; }
.gap-16 { gap: 4rem; }
.gap-20 { gap: 5rem; }
.gap-24 { gap: 6rem; }
.gap-28 { gap: 7rem; }
.gap-32 { gap: 8rem; }
.gap-36 { gap: 9rem; }
.gap-40 { gap: 10rem; }
.gap-44 { gap: 11rem; }
.gap-48 { gap: 12rem; }
.gap-52 { gap: 13rem; }
.gap-56 { gap: 14rem; }
.gap-60 { gap: 15rem; }
.gap-64 { gap: 16rem; }
.gap-72 { gap: 18rem; }
.gap-80 { gap: 20rem; }
.gap-96 { gap: 24rem; }
.grow { flex-grow: 1; }
.grow-0 { flex-grow: 0; }
.shrink { flex-shrink: 1; }
.shrink-0 { flex-shrink: 0; }
.basis-auto { flex-basis: auto; }
.basis-0 { flex-basis: 0; }
.basis-full { flex-basis: 100%; }
.basis-1\/2 { flex-basis: 50%; }
.basis-1\/3 { flex-basis: 33.333333%; }
.basis-2\/3 { flex-basis: 66.666667%; }
.basis-1\/4 { flex-basis: 25%; }
.basis-3\/4 { flex-basis: 75%; }
.basis-1\/5 { flex-basis: 20%; }
.basis-2\/5 { flex-basis: 40%; }
.basis-3\/5 { flex-basis: 60%; }
.basis-4\/5 { flex-basis: 80%; }
.basis-1\/6 { flex-basis: 16.666667%; }
.basis-5\/6 { flex-basis: 83.333333%; }
.basis-1\/12 { flex-basis: 8.333333%; }
.basis-11\/12 { flex-basis: 91.666667%; }

/* Grid */
.grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.grid-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.grid-cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.grid-cols-7 { grid-template-columns: repeat(7, minmax(0, 1fr)); }
.grid-cols-8 { grid-template-columns: repeat(8, minmax(0, 1fr)); }
.grid-cols-9 { grid-template-columns: repeat(9, minmax(0, 1fr)); }
.grid-cols-10 { grid-template-columns: repeat(10, minmax(0, 1fr)); }
.grid-cols-11 { grid-template-columns: repeat(11, minmax(0, 1fr)); }
.grid-cols-12 { grid-template-columns: repeat(12, minmax(0, 1fr)); }
.grid-cols-none { grid-template-columns: none; }
.col-auto { grid-column: auto; }
.col-span-1 { grid-column: span 1 / span 1; }
.col-span-2 { grid-column: span 2 / span 2; }
.col-span-3 { grid-column: span 3 / span 3; }
.col-span-4 { grid-column: span 4 / span 4; }
.col-span-5 { grid-column: span 5 / span 5; }
.col-span-6 { grid-column: span 6 / span 6; }
.col-span-7 { grid-column: span 7 / span 7; }
.col-span-8 { grid-column: span 8 / span 8; }
.col-span-9 { grid-column: span 9 / span 9; }
.col-span-10 { grid-column: span 10 / span 10; }
.col-span-11 { grid-column: span 11 / span 11; }
.col-span-12 { grid-column: span 12 / span 12; }
.col-span-full { grid-column: 1 / -1; }
.col-start-1 { grid-column-start: 1; }
.col-start-2 { grid-column-start: 2; }
.col-start-3 { grid-column-start: 3; }
.col-start-4 { grid-column-start: 4; }
.col-start-5 { grid-column-start: 5; }
.col-start-6 { grid-column-start: 6; }
.col-start-7 { grid-column-start: 7; }
.col-start-8 { grid-column-start: 8; }
.col-start-9 { grid-column-start: 9; }
.col-start-10 { grid-column-start: 10; }
.col-start-11 { grid-column-start: 11; }
.col-start-12 { grid-column-start: 12; }
.col-start-13 { grid-column-start: 13; }
.col-start-auto { grid-column-start: auto; }
.col-end-1 { grid-column-end: 1; }
.col-end-2 { grid-column-end: 2; }
.col-end-3 { grid-column-end: 3; }
.col-end-4 { grid-column-end: 4; }
.col-end-5 { grid-column-end: 5; }
.col-end-6 { grid-column-end: 6; }
.col-end-7 { grid-column-end: 7; }
.col-end-8 { grid-column-end: 8; }
.col-end-9 { grid-column-end: 9; }
.col-end-10 { grid-column-end: 10; }
.col-end-11 { grid-column-end: 11; }
.col-end-12 { grid-column-end: 12; }
.col-end-13 { grid-column-end: 13; }
.col-end-auto { grid-column-end: auto; }
.grid-rows-1 { grid-template-rows: repeat(1, minmax(0, 1fr)); }
.grid-rows-2 { grid-template-rows: repeat(2, minmax(0, 1fr)); }
.grid-rows-3 { grid-template-rows: repeat(3, minmax(0, 1fr)); }
.grid-rows-4 { grid-template-rows: repeat(4, minmax(0, 1fr)); }
.grid-rows-5 { grid-template-rows: repeat(5, minmax(0, 1fr)); }
.grid-rows-6 { grid-template-rows: repeat(6, minmax(0, 1fr)); }
.grid-rows-none { grid-template-rows: none; }
.row-auto { grid-row: auto; }
.row-span-1 { grid-row: span 1 / span 1; }
.row-span-2 { grid-row: span 2 / span 2; }
.row-span-3 { grid-row: span 3 / span 3; }
.row-span-4 { grid-row: span 4 / span 4; }
.row-span-5 { grid-row: span 5 / span 5; }
.row-span-6 { grid-row: span 6 / span 6; }
.row-span-full { grid-row: 1 / -1; }
.row-start-1 { grid-row-start: 1; }
.row-start-2 { grid-row-start: 2; }
.row-start-3 { grid-row-start: 3; }
.row-start-4 { grid-row-start: 4; }
.row-start-5 { grid-row-start: 5; }
.row-start-6 { grid-row-start: 6; }
.row-start-7 { grid-row-start: 7; }
.row-start-auto { grid-row-start: auto; }
.row-end-1 { grid-row-end: 1; }
.row-end-2 { grid-row-end: 2; }
.row-end-3 { grid-row-end: 3; }
.row-end-4 { grid-row-end: 4; }
.row-end-5 { grid-row-end: 5; }
.row-end-6 { grid-row-end: 6; }
.row-end-7 { grid-row-end: 7; }
.row-end-auto { grid-row-end: auto; }
.gap-x-0 { column-gap: 0; }
.gap-x-1 { column-gap: 0.25rem; }
.gap-x-2 { column-gap: 0.5rem; }
.gap-x-3 { column-gap: 0.75rem; }
.gap-x-4 { column-gap: 1rem; }
.gap-x-5 { column-gap: 1.25rem; }
.gap-x-6 { column-gap: 1.5rem; }
.gap-x-8 { column-gap: 2rem; }
.gap-x-10 { column-gap: 2.5rem; }
.gap-x-12 { column-gap: 3rem; }
.gap-x-16 { column-gap: 4rem; }
.gap-x-20 { column-gap: 5rem; }
.gap-x-24 { column-gap: 6rem; }
.gap-x-32 { column-gap: 8rem; }
.gap-x-40 { column-gap: 10rem; }
.gap-x-48 { column-gap: 12rem; }
.gap-x-56 { column-gap: 14rem; }
.gap-x-64 { column-gap: 16rem; }
.gap-x-72 { column-gap: 18rem; }
.gap-x-80 { column-gap: 20rem; }
.gap-x-96 { column-gap: 24rem; }
.gap-y-0 { row-gap: 0; }
.gap-y-1 { row-gap: 0.25rem; }
.gap-y-2 { row-gap: 0.5rem; }
.gap-y-3 { row-gap: 0.75rem; }
.gap-y-4 { row-gap: 1rem; }
.gap-y-5 { row-gap: 1.25rem; }
.gap-y-6 { row-gap: 1.5rem; }
.gap-y-8 { row-gap: 2rem; }
.gap-y-10 { row-gap: 2.5rem; }
.gap-y-12 { row-gap: 3rem; }
.gap-y-16 { row-gap: 4rem; }
.gap-y-20 { row-gap: 5rem; }
.gap-y-24 { row-gap: 6rem; }
.gap-y-32 { row-gap: 8rem; }
.gap-y-40 { row-gap: 10rem; }
.gap-y-48 { row-gap: 12rem; }
.gap-y-56 { row-gap: 14rem; }
.gap-y-64 { row-gap: 16rem; }
.gap-y-72 { row-gap: 18rem; }
.gap-y-80 { row-gap: 20rem; }
.gap-y-96 { row-gap: 24rem; }
