:root {--color-chocolate: #4A2C23; --color-chocolate-light: #5E3A2E; --color-chocolate-tint: #F3ECE6; --color-beige: #CFA96A; --color-beige-light: #DCC089; --color-cream: #F8F6F3; --color-warm-gray: #ECECEC; --color-espresso: #2A1B16; --background: oklch(0.948 0.014 55); --foreground: oklch(0.15 0.02 30); --card: oklch(0.952 0.012 55); --card-foreground: oklch(0.15 0.02 30); --popover: oklch(0.952 0.012 55); --popover-foreground: oklch(0.15 0.02 30); --primary: oklch(0.28 0.045 30); --primary-foreground: oklch(0.96 0.01 80); --secondary: oklch(0.72 0.08 72); --secondary-foreground: oklch(0.15 0.02 30); --muted: oklch(0.94 0 0); --muted-foreground: oklch(0.5 0.02 30); --accent: oklch(0.72 0.08 72); --accent-foreground: oklch(0.15 0.02 30); --destructive: oklch(0.58 0.2 30); --destructive-foreground: oklch(0.96 0.01 80); --border: oklch(0.85 0.02 70); --input: oklch(0.85 0.02 70); --ring: oklch(0.28 0.045 30); --radius: 0.75rem; --amber-50: #fffbeb; --amber-100: #fef3c7; --amber-200: #fde68a; --amber-300: #fcd34d; --amber-400: #fbbf24; --amber-500: #f59e0b; --amber-600: #d97706; --amber-700: #b45309; --amber-800: #92400e; --amber-900: #78350f; --red-50: #fef2f2; --red-100: #fee2e2; --red-200: #fecaca; --red-300: #fca5a5; --red-400: #f87171; --red-500: #ef4444; --red-600: #dc2626; --red-700: #b91c1c; --red-800: #991b1b; --green-50: #f0fdf4; --green-100: #dcfce7; --green-200: #bbf7d0; --green-300: #86efac; --green-400: #4ade80; --green-500: #22c55e; --green-600: #16a34a; --green-700: #15803d; --green-800: #166534; --emerald-100: #d1fae5; --emerald-600: #059669; --blue-50: #eff6ff; --blue-100: #dbeafe; --blue-200: #bfdbfe; --blue-500: #3b82f6; --blue-600: #2563eb; --blue-700: #1d4ed8; --blue-800: #1e40af; --sky-100: #e0f2fe; --sky-800: #075985; --purple-100: #f3e8ff; --purple-500: #a855f7; --purple-800: #6b21a8; --yellow-100: #fef9c3; --yellow-600: #ca8a04; --yellow-800: #854d0e; --zinc-200: #e4e4e7; --zinc-600: #52525b; --gray-100: #f3f4f6; --gray-600: #4b5563; --font-sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif} * {box-sizing: border-box; margin: 0; padding: 0; border-color: var(--border)} html {-webkit-text-size-adjust: 100%} body {background-color: var(--background); color: var(--foreground); font-family: var(--font-sans); line-height: 1.5; -webkit-font-smoothing: antialiased; min-height: 100vh; display: flex; flex-direction: column} img, svg, video {display: inline-block; vertical-align: middle; max-width: 100%; height: auto} a {color: inherit; text-decoration: none} button {font: inherit; color: inherit; background: none; border: none; cursor: pointer} input, select, textarea {font: inherit; color: inherit} ul, ol {list-style: none} h1, h2, h3, h4, h5, h6 {font-weight: 700; line-height: 1.2} .container {margin-inline: auto; padding-inline: 1rem; max-width: 100%} @media (min-width: 640px) {.container {padding-inline: 1.5rem}} @media (min-width: 1024px) {.container {padding-inline: 2rem}} .block {display: block} .inline {display: inline} .inline-block {display: inline-block} .flex {display: flex} .inline-flex {display: inline-flex} .grid {display: grid} .hidden {display: none} .sr-only {position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0} .flex-1 {flex: 1 1 0%} .flex-none {flex: none} .flex-col {flex-direction: column} .flex-row {flex-direction: row} .flex-wrap {flex-wrap: wrap} .flex-1 {flex: 1 1 0%} .items-start {align-items: flex-start} .items-center {align-items: center} .items-end {align-items: flex-end} .items-baseline {align-items: baseline} .items-stretch {align-items: stretch} .justify-start {justify-content: flex-start} .justify-center {justify-content: center} .justify-end {justify-content: flex-end} .justify-between {justify-content: space-between} .self-center {align-self: center} .shrink-0 {flex-shrink: 0} .grow {flex-grow: 1} .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))} .col-span-2 {grid-column: span 2 / span 2} .p-0 {padding: 0} .p-0\.5 {padding: 0.125rem} .p-1 {padding: 0.25rem} .p-1\.5 {padding: 0.375rem} .p-2 {padding: 0.5rem} .p-2\.5 {padding: 0.625rem} .p-3 {padding: 0.75rem} .p-3\.5 {padding: 0.875rem} .p-4 {padding: 1rem} .p-5 {padding: 1.25rem} .p-6 {padding: 1.5rem} .p-8 {padding: 2rem} .px-1 {padding-inline: 0.25rem} .px-1\.5 {padding-inline: 0.375rem} .px-2 {padding-inline: 0.5rem} .px-2\.5 {padding-inline: 0.625rem} .px-3 {padding-inline: 0.75rem} .px-3\.5 {padding-inline: 0.875rem} .px-4 {padding-inline: 1rem} .px-5 {padding-inline: 1.25rem} .px-6 {padding-inline: 1.5rem} .px-8 {padding-inline: 2rem} .py-0 {padding-block: 0} .py-0\.5 {padding-block: 0.125rem} .py-1 {padding-block: 0.25rem} .py-1\.5 {padding-block: 0.375rem} .py-2 {padding-block: 0.5rem} .py-2\.5 {padding-block: 0.625rem} .py-3 {padding-block: 0.75rem} .py-4 {padding-block: 1rem} .py-6 {padding-block: 1.5rem} .py-8 {padding-block: 2rem} .py-12 {padding-block: 3rem} .py-16 {padding-block: 4rem} .py-20 {padding-block: 5rem} .py-24 {padding-block: 6rem} .pt-0 {padding-top: 0} .pt-1 {padding-top: 0.25rem} .pt-1\.5 {padding-top: 0.375rem} .pt-2 {padding-top: 0.5rem} .pt-2\.5 {padding-top: 0.625rem} .pt-3 {padding-top: 0.75rem} .pt-3\.5 {padding-top: 0.875rem} .pt-4 {padding-top: 1rem} .pt-5 {padding-top: 1.25rem} .pt-6 {padding-top: 1.5rem} .pt-16 {padding-top: 4rem} .pb-0 {padding-bottom: 0} .pb-0\.5 {padding-bottom: 0.125rem} .pb-1\.5 {padding-bottom: 0.375rem} .pb-2 {padding-bottom: 0.5rem} .pb-3 {padding-bottom: 0.75rem} .pb-4 {padding-bottom: 1rem} .pb-8 {padding-bottom: 2rem} .pb-20 {padding-bottom: 5rem} .pb-24 {padding-bottom: 6rem} .pl-3 {padding-left: 0.75rem} .pl-4 {padding-left: 1rem} .pl-6 {padding-left: 1.5rem} .pl-9 {padding-left: 2.25rem} .pl-10 {padding-left: 2.5rem} .pr-1 {padding-right: 0.25rem} .pr-2 {padding-right: 0.5rem} .pr-3 {padding-right: 0.75rem} .pr-3\.5 {padding-right: 0.875rem} .pr-10 {padding-right: 2.5rem} .m-0 {margin: 0} .mx-auto {margin-inline: auto} .mx-1 {margin-inline: 0.25rem} .my-2 {margin-block: 0.5rem} .mt-0\.5 {margin-top: 0.125rem} .mt-1 {margin-top: 0.25rem} .mt-1\.5 {margin-top: 0.375rem} .mt-2 {margin-top: 0.5rem} .mt-2\.5 {margin-top: 0.625rem} .mt-3 {margin-top: 0.75rem} .mt-4 {margin-top: 1rem} .mt-5 {margin-top: 1.25rem} .mt-6 {margin-top: 1.5rem} .mt-8 {margin-top: 2rem} .mt-10 {margin-top: 2.5rem} .mt-12 {margin-top: 3rem} .mt-14 {margin-top: 3.5rem} .mt-auto {margin-top: auto} .mb-0\.5 {margin-bottom: 0.125rem} .mb-1 {margin-bottom: 0.25rem} .mb-2 {margin-bottom: 0.5rem} .mb-3 {margin-bottom: 0.75rem} .mb-4 {margin-bottom: 1rem} .mb-5 {margin-bottom: 1.25rem} .mb-6 {margin-bottom: 1.5rem} .mb-8 {margin-bottom: 2rem} .mb-10 {margin-bottom: 2.5rem} .mb-12 {margin-bottom: 3rem} .mb-14 {margin-bottom: 3.5rem} .ml-1 {margin-left: 0.25rem} .ml-1\.5 {margin-left: 0.375rem} .ml-2 {margin-left: 0.5rem} .ml-auto {margin-left: auto} .mr-1 {margin-right: 0.25rem} .mr-1\.5 {margin-right: 0.375rem} .mr-2 {margin-right: 0.5rem} .mr-3 {margin-right: 0.75rem} .-mt-0\.5 {margin-top: -0.125rem} .-mt-4 {margin-top: -1rem} .-ml-4 {margin-left: -1rem} .gap-0 {gap: 0} .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-6 {gap: 1.5rem} .gap-7 {gap: 1.75rem} .gap-8 {gap: 2rem} .gap-10 {gap: 2.5rem} .gap-12 {gap: 3rem} .gap-x-2 {column-gap: 0.5rem} .gap-x-3 {column-gap: 0.75rem} .gap-x-4 {column-gap: 1rem} .gap-y-1 {row-gap: 0.25rem} .gap-y-2 {row-gap: 0.5rem} .space-y-0\.5 > * + * {margin-top: 0.125rem} .space-y-1 > * + * {margin-top: 0.25rem} .space-y-1\.5 > * + * {margin-top: 0.375rem} .space-y-2 > * + * {margin-top: 0.5rem} .space-y-2\.5 > * + * {margin-top: 0.625rem} .space-y-3 > * + * {margin-top: 0.75rem} .space-y-4 > * + * {margin-top: 1rem} .space-y-5 > * + * {margin-top: 1.25rem} .space-y-6 > * + * {margin-top: 1.5rem} .space-y-8 > * + * {margin-top: 2rem} .space-y-10 > * + * {margin-top: 2.5rem} .space-y-20 > * + * {margin-top: 5rem} .divide-y > * + * {border-top-width: 1px} .divide-warm-gray\/60 > * + * {border-color: color-mix(in oklab, var(--color-warm-gray) 60%, transparent)} .divide-white\/10 > * + * {border-color: color-mix(in oklab, white 10%, transparent)} .w-full {width: 100%} .w-auto {width: auto} .w-fit {width: fit-content} .w-7 {width: 1.75rem} .w-8 {width: 2rem} .w-10 {width: 2.5rem} .w-12 {width: 3rem} .w-32 {width: 8rem} .w-48 {width: 12rem} .w-52 {width: 13rem} .w-64 {width: 16rem} .w-px {width: 1px} .w-\[130px\] {width: 130px} .w-\[140px\] {width: 140px} .w-\[150px\] {width: 150px} .w-\[160px\] {width: 160px} .w-\[170px\] {width: 170px} .w-\[180px\] {width: 180px} .h-full {height: 100%} .h-screen {height: 100vh} .h-1\.5 {height: 0.375rem} .h-2 {height: 0.5rem} .h-4 {height: 1rem} .h-7 {height: 1.75rem} .h-8 {height: 2rem} .h-9 {height: 2.25rem} .h-10 {height: 2.5rem} .h-11 {height: 2.75rem} .h-12 {height: 3rem} .h-14 {height: 3.5rem} .h-16 {height: 4rem} .h-20 {height: 5rem} .h-32 {height: 8rem} .h-48 {height: 12rem} .h-64 {height: 16rem} .h-72 {height: 18rem} .h-px {height: 1px} .max-h-40 {max-height: 10rem} .max-h-48 {max-height: 12rem} .max-h-56 {max-height: 14rem} .max-h-72 {max-height: 18rem} .max-h-\[80vh\] {max-height: 80vh} .max-h-\[92vh\] {max-height: 92vh} .min-h-0 {min-height: 0} .min-h-4 {min-height: 1rem} .min-h-16 {min-height: 4rem} .min-h-20 {min-height: 5rem} .min-h-24 {min-height: 6rem} .min-h-screen {min-height: 100vh} .min-h-\[60px\] {min-height: 60px} .max-w-xs {max-width: 20rem} .max-w-sm {max-width: 24rem} .max-w-md {max-width: 28rem} .max-w-lg {max-width: 32rem} .max-w-xl {max-width: 36rem} .max-w-2xl {max-width: 42rem} .max-w-3xl {max-width: 48rem} .max-w-4xl {max-width: 56rem} .max-w-5xl {max-width: 64rem} .max-w-7xl {max-width: 80rem} .max-w-\[120px\] {max-width: 120px} .max-w-\[180px\] {max-width: 180px} .min-w-0 {min-width: 0} .min-w-\[120px\] {min-width: 120px} .min-w-\[150px\] {min-width: 150px} .min-w-\[320px\] {min-width: 320px} .size-1 {width: 0.25rem; height: 0.25rem} .size-1\.5 {width: 0.375rem; height: 0.375rem} .size-2\.5 {width: 0.625rem; height: 0.625rem} .size-3 {width: 0.75rem; height: 0.75rem} .size-3\.5 {width: 0.875rem; height: 0.875rem} .size-4 {width: 1rem; height: 1rem} .size-5 {width: 1.25rem; height: 1.25rem} .size-6 {width: 1.5rem; height: 1.5rem} .size-7 {width: 1.75rem; height: 1.75rem} .size-8 {width: 2rem; height: 2rem} .size-9 {width: 2.25rem; height: 2.25rem} .size-10 {width: 2.5rem; height: 2.5rem} .size-12 {width: 3rem; height: 3rem} .size-14 {width: 3.5rem; height: 3.5rem} .size-16 {width: 4rem; height: 4rem} .size-20 {width: 5rem; height: 5rem} .size-24 {width: 6rem; height: 6rem} .size-48 {width: 12rem; height: 12rem} .size-full {width: 100%; height: 100%} .aspect-square {aspect-ratio: 1 / 1} .aspect-video {aspect-ratio: 16 / 9} .aspect-\[4\/3\] {aspect-ratio: 4 / 3} .aspect-\[4\/5\] {aspect-ratio: 4 / 5} .font-sans {font-family: var(--font-sans)} .font-mono {font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace} .font-normal {font-weight: 400} .font-medium {font-weight: 500} .font-semibold {font-weight: 600} .font-bold {font-weight: 700} .text-\[9px\] {font-size: 9px} .text-\[10px\] {font-size: 10px} .text-\[11px\] {font-size: 11px} .text-\[13px\] {font-size: 13px} .text-xs {font-size: 0.75rem} .text-sm {font-size: 0.875rem} .text-base {font-size: 1rem} .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-4xl {font-size: 2.25rem} .leading-none {line-height: 1} .leading-tight {line-height: 1.25} .leading-relaxed {line-height: 1.625} .text-left {text-align: left} .text-center {text-align: center} .text-right {text-align: right} .uppercase {text-transform: uppercase} .capitalize {text-transform: capitalize} .italic {font-style: italic} .underline {text-decoration: underline} .underline-offset-2 {text-underline-offset: 2px} .line-through {text-decoration: line-through} .tracking-tight {letter-spacing: -0.025em} .tracking-wide {letter-spacing: 0.025em} .tracking-wider {letter-spacing: 0.05em} .tracking-widest {letter-spacing: 0.1em} .tracking-\[0\.12em\] {letter-spacing: 0.12em} .tracking-\[0\.15em\] {letter-spacing: 0.15em} .tracking-\[0\.2em\] {letter-spacing: 0.2em} .whitespace-nowrap {white-space: nowrap} .whitespace-pre-wrap {white-space: pre-wrap} .break-words {overflow-wrap: break-word} .break-all {word-break: break-all} .truncate {overflow: hidden; text-overflow: ellipsis; white-space: nowrap} .line-clamp-1 {display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden} .line-clamp-2 {display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden} .line-clamp-3 {display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden} .select-none {user-select: none} .scroll-mt-16 {scroll-margin-top: 4rem} .scroll-mt-24 {scroll-margin-top: 6rem} .text-foreground {color: var(--foreground)} .text-background {color: var(--background)} .text-card-foreground {color: var(--card-foreground)} .text-primary {color: var(--primary)} .text-primary-foreground {color: var(--primary-foreground)} .text-secondary-foreground {color: var(--secondary-foreground)} .text-muted-foreground {color: var(--muted-foreground)} .text-accent-foreground {color: var(--accent-foreground)} .text-destructive {color: var(--destructive)} .text-destructive-foreground {color: var(--destructive-foreground)} .text-white {color: #fff} .text-black {color: #000} .text-chocolate {color: var(--color-chocolate)} .text-chocolate-light {color: var(--color-chocolate-light)} .text-beige {color: var(--color-beige)} .text-beige-light {color: var(--color-beige-light)} .text-cream {color: var(--color-cream)} .text-warm-gray {color: var(--color-warm-gray)} .text-amber-500 {color: var(--amber-500)} .text-amber-600 {color: var(--amber-600)} .text-amber-700 {color: var(--amber-700)} .text-amber-800 {color: var(--amber-800)} .text-amber-900 {color: var(--amber-900)} .text-red-400\/70 {color: color-mix(in oklab, var(--red-400) 70%, transparent)} .text-red-500 {color: var(--red-500)} .text-red-600 {color: var(--red-600)} .text-red-700 {color: var(--red-700)} .text-green-500 {color: var(--green-500)} .text-green-600 {color: var(--green-600)} .text-green-700 {color: var(--green-700)} .text-green-800 {color: var(--green-800)} .text-emerald-600 {color: var(--emerald-600)} .text-blue-600 {color: var(--blue-600)} .text-blue-700 {color: var(--blue-700)} .text-blue-800 {color: var(--blue-800)} .text-yellow-600 {color: var(--yellow-600)} .text-yellow-800 {color: var(--yellow-800)} .text-amber-400 {color: var(--amber-400)} .text-red-800 {color: var(--red-800)} .text-purple-800 {color: var(--purple-800)} .text-sky-800 {color: var(--sky-800)} .text-zinc-600 {color: var(--zinc-600)} .text-gray-600 {color: var(--gray-600)} .text-chocolate\/20 {color: color-mix(in oklab, var(--color-chocolate) 20%, transparent)} .text-chocolate\/40 {color: color-mix(in oklab, var(--color-chocolate) 40%, transparent)} .text-beige\/25 {color: color-mix(in oklab, var(--color-beige) 25%, transparent)} .text-beige\/40 {color: color-mix(in oklab, var(--color-beige) 40%, transparent)} .text-beige\/50 {color: color-mix(in oklab, var(--color-beige) 50%, transparent)} .text-beige\/60 {color: color-mix(in oklab, var(--color-beige) 60%, transparent)} .text-beige\/70 {color: color-mix(in oklab, var(--color-beige) 70%, transparent)} .text-beige\/80 {color: color-mix(in oklab, var(--color-beige) 80%, transparent)} .text-beige\/90 {color: color-mix(in oklab, var(--color-beige) 90%, transparent)} .text-cream\/40 {color: color-mix(in oklab, var(--color-cream) 40%, transparent)} .text-cream\/50 {color: color-mix(in oklab, var(--color-cream) 50%, transparent)} .text-cream\/60 {color: color-mix(in oklab, var(--color-cream) 60%, transparent)} .text-cream\/70 {color: color-mix(in oklab, var(--color-cream) 70%, transparent)} .text-muted-foreground\/50 {color: color-mix(in oklab, var(--muted-foreground) 50%, transparent)} .text-muted-foreground\/60 {color: color-mix(in oklab, var(--muted-foreground) 60%, transparent)} .text-muted-foreground\/70 {color: color-mix(in oklab, var(--muted-foreground) 70%, transparent)} .text-muted-foreground\/80 {color: color-mix(in oklab, var(--muted-foreground) 80%, transparent)} .text-muted-foreground\/30 {color: color-mix(in oklab, var(--muted-foreground) 30%, transparent)} .text-white\/50 {color: color-mix(in oklab, white 50%, transparent)} .text-white\/60 {color: color-mix(in oklab, white 60%, transparent)} .text-white\/70 {color: color-mix(in oklab, white 70%, transparent)} .text-white\/80 {color: color-mix(in oklab, white 80%, transparent)} .text-white\/85 {color: color-mix(in oklab, white 85%, transparent)} .text-white\/90 {color: color-mix(in oklab, white 90%, transparent)} .bg-background {background-color: var(--background)} .bg-foreground {background-color: var(--foreground)} .bg-card {background-color: var(--card)} .bg-primary {background-color: var(--primary)} .bg-secondary {background-color: var(--secondary)} .bg-muted {background-color: var(--muted)} .bg-accent {background-color: var(--accent)} .bg-destructive {background-color: var(--destructive)} .bg-transparent {background-color: transparent} .bg-white {background-color: #fff} .bg-black {background-color: #000} .bg-border {background-color: var(--border)} .bg-chocolate {background-color: var(--color-chocolate)} .bg-chocolate-light {background-color: var(--color-chocolate-light)} .bg-chocolate-tint {background-color: var(--color-chocolate-tint)} .bg-beige {background-color: var(--color-beige)} .bg-beige-light {background-color: var(--color-beige-light)} .bg-cream {background-color: var(--color-cream)} .bg-warm-gray {background-color: var(--color-warm-gray)} .bg-espresso {background-color: var(--color-espresso)} .bg-amber-50 {background-color: var(--amber-50)} .bg-amber-100 {background-color: var(--amber-100)} .bg-amber-400 {background-color: var(--amber-400)} .bg-amber-500 {background-color: var(--amber-500)} .bg-blue-50 {background-color: var(--blue-50)} .bg-blue-100 {background-color: var(--blue-100)} .bg-red-50 {background-color: var(--red-50)} .bg-red-100 {background-color: var(--red-100)} .bg-green-50 {background-color: var(--green-50)} .bg-green-100 {background-color: var(--green-100)} .bg-emerald-100 {background-color: var(--emerald-100)} .bg-purple-100 {background-color: var(--purple-100)} .bg-yellow-100 {background-color: var(--yellow-100)} .bg-sky-100 {background-color: var(--sky-100)} .bg-zinc-200 {background-color: var(--zinc-200)} .bg-gray-100 {background-color: var(--gray-100)} .bg-chocolate\/5 {background-color: color-mix(in oklab, var(--color-chocolate) 5%, transparent)} .bg-chocolate\/10 {background-color: color-mix(in oklab, var(--color-chocolate) 10%, transparent)} .bg-chocolate\/40 {background-color: color-mix(in oklab, var(--color-chocolate) 40%, transparent)} .bg-chocolate\/90 {background-color: color-mix(in oklab, var(--color-chocolate) 90%, transparent)} .bg-chocolate\/\[0\.03\] {background-color: color-mix(in oklab, var(--color-chocolate) 3%, transparent)} .bg-chocolate\/\[0\.06\] {background-color: color-mix(in oklab, var(--color-chocolate) 6%, transparent)} .bg-beige\/10 {background-color: color-mix(in oklab, var(--color-beige) 10%, transparent)} .bg-beige\/15 {background-color: color-mix(in oklab, var(--color-beige) 15%, transparent)} .bg-beige\/20 {background-color: color-mix(in oklab, var(--color-beige) 20%, transparent)} .bg-beige\/30 {background-color: color-mix(in oklab, var(--color-beige) 30%, transparent)} .bg-beige\/50 {background-color: color-mix(in oklab, var(--color-beige) 50%, transparent)} .bg-beige\/60 {background-color: color-mix(in oklab, var(--color-beige) 60%, transparent)} .bg-beige\/90 {background-color: color-mix(in oklab, var(--color-beige) 90%, transparent)} .bg-beige\/25 {background-color: color-mix(in oklab, var(--color-beige) 25%, transparent)} .bg-cream\/5 {background-color: color-mix(in oklab, var(--color-cream) 5%, transparent)} .bg-cream\/10 {background-color: color-mix(in oklab, var(--color-cream) 10%, transparent)} .bg-cream\/20 {background-color: color-mix(in oklab, var(--color-cream) 20%, transparent)} .bg-muted\/10 {background-color: color-mix(in oklab, var(--muted) 10%, transparent)} .bg-muted\/20 {background-color: color-mix(in oklab, var(--muted) 20%, transparent)} .bg-muted\/30 {background-color: color-mix(in oklab, var(--muted) 30%, transparent)} .bg-muted\/40 {background-color: color-mix(in oklab, var(--muted) 40%, transparent)} .bg-muted\/50 {background-color: color-mix(in oklab, var(--muted) 50%, transparent)} .bg-primary\/5 {background-color: color-mix(in oklab, var(--primary) 5%, transparent)} .bg-primary\/10 {background-color: color-mix(in oklab, var(--primary) 10%, transparent)} .bg-primary\/60 {background-color: color-mix(in oklab, var(--primary) 60%, transparent)} .bg-destructive\/5 {background-color: color-mix(in oklab, var(--destructive) 5%, transparent)} .bg-destructive\/10 {background-color: color-mix(in oklab, var(--destructive) 10%, transparent)} .bg-destructive\/90 {background-color: color-mix(in oklab, var(--destructive) 90%, transparent)} .bg-white\/10 {background-color: color-mix(in oklab, white 10%, transparent)} .bg-white\/15 {background-color: color-mix(in oklab, white 15%, transparent)} .bg-white\/90 {background-color: color-mix(in oklab, white 90%, transparent)} .bg-black\/30 {background-color: color-mix(in oklab, black 30%, transparent)} .bg-black\/45 {background-color: color-mix(in oklab, black 45%, transparent)} .bg-black\/50 {background-color: color-mix(in oklab, black 50%, transparent)} .bg-black\/60 {background-color: color-mix(in oklab, black 60%, transparent)} .bg-green-500\/10 {background-color: color-mix(in oklab, var(--green-500) 10%, transparent)} .bg-green-50\/50 {background-color: color-mix(in oklab, var(--green-50) 50%, transparent)} .bg-green-500 {background-color: var(--green-500)} .bg-green-600 {background-color: var(--green-600)} .fill-beige {fill: var(--color-beige)} .fill-amber-400 {fill: var(--amber-400)} .accent-chocolate {accent-color: var(--color-chocolate)} .accent-primary {accent-color: var(--primary)} .outline-none {outline: none} .align-middle {vertical-align: middle} .antialiased {-webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale} .order-1 {order: 1} .order-2 {order: 2} .has-\[\>svg\]\:px-2:has(> svg) {padding-inline: 0.5rem} .\[color-scheme\:dark\] {color-scheme: dark} .group {} .peer {} .cp {cursor: pointer} li.last\:border-0:last-child, .last\:border-0:last-child {border-bottom-width: 0} .peer:checked ~ .peer-checked\:border-primary {border-color: var(--primary)} .peer:checked ~ .peer-checked\:bg-primary\/10 {background-color: color-mix(in oklab, var(--primary) 10%, transparent)} .peer:checked ~ .peer-checked\:text-primary {color: var(--primary)} .peer:checked ~ .peer-checked\:text-amber-400 {color: var(--amber-400)} .peer:checked ~ .peer-checked\:fill-amber-400 {fill: var(--amber-400)} .peer:disabled ~ .peer-disabled\:cursor-not-allowed {cursor: not-allowed} .peer:disabled ~ .peer-disabled\:opacity-70 {opacity: 0.7} .group:hover .group-hover\:bg-chocolate\/10 {background-color: color-mix(in oklab, var(--color-chocolate) 10%, transparent)} .group:hover .group-hover\:text-chocolate-light {color: var(--color-chocolate-light)} .group:hover .group-hover\:text-beige {color: var(--color-beige)} .border {border-width: 1px} .border-0 {border-width: 0} .border-2 {border-width: 2px} .border-4 {border-width: 4px} .border-t {border-top-width: 1px} .border-r {border-right-width: 1px} .border-b {border-bottom-width: 1px} .border-l {border-left-width: 1px} .border-l-4 {border-left-width: 4px} .border-dashed {border-style: dashed} .border-none {border-style: none} .border-border {border-color: var(--border)} .border-border\/60 {border-color: color-mix(in oklab, var(--border) 60%, transparent)} .border-input {border-color: var(--input)} .border-primary\/20 {border-color: color-mix(in oklab, var(--primary) 20%, transparent)} .border-destructive\/30 {border-color: color-mix(in oklab, var(--destructive) 30%, transparent)} .border-transparent {border-color: transparent} .border-white\/10 {border-color: color-mix(in oklab, white 10%, transparent)} .border-white\/15 {border-color: color-mix(in oklab, white 15%, transparent)} .border-white\/20 {border-color: color-mix(in oklab, white 20%, transparent)} .border-chocolate {border-color: var(--color-chocolate)} .border-chocolate\/15 {border-color: color-mix(in oklab, var(--color-chocolate) 15%, transparent)} .border-chocolate\/20 {border-color: color-mix(in oklab, var(--color-chocolate) 20%, transparent)} .border-chocolate\/30 {border-color: color-mix(in oklab, var(--color-chocolate) 30%, transparent)} .border-beige\/30 {border-color: color-mix(in oklab, var(--color-beige) 30%, transparent)} .border-beige\/40 {border-color: color-mix(in oklab, var(--color-beige) 40%, transparent)} .border-beige\/50 {border-color: color-mix(in oklab, var(--color-beige) 50%, transparent)} .border-cream\/10 {border-color: color-mix(in oklab, var(--color-cream) 10%, transparent)} .border-cream\/60 {border-color: color-mix(in oklab, var(--color-cream) 60%, transparent)} .border-warm-gray {border-color: var(--color-warm-gray)} .border-warm-gray\/40 {border-color: color-mix(in oklab, var(--color-warm-gray) 40%, transparent)} .border-warm-gray\/50 {border-color: color-mix(in oklab, var(--color-warm-gray) 50%, transparent)} .border-warm-gray\/60 {border-color: color-mix(in oklab, var(--color-warm-gray) 60%, transparent)} .border-warm-gray\/80 {border-color: color-mix(in oklab, var(--color-warm-gray) 80%, transparent)} .border-amber-200 {border-color: var(--amber-200)} .border-amber-300 {border-color: var(--amber-300)} .border-red-200 {border-color: var(--red-200)} .border-red-300 {border-color: var(--red-300)} .border-green-200 {border-color: var(--green-200)} .border-green-300 {border-color: var(--green-300)} .border-blue-200 {border-color: var(--blue-200)} .border-green-600 {border-color: var(--green-600)} .border-green-600\/40 {border-color: color-mix(in oklab, var(--green-600) 40%, transparent)} .border-l-amber-500 {border-left-color: var(--amber-500)} .border-l-blue-500 {border-left-color: var(--blue-500)} .border-l-green-500 {border-left-color: var(--green-500)} .border-l-purple-500 {border-left-color: var(--purple-500)} .rounded {border-radius: 0.25rem} .rounded-md {border-radius: calc(var(--radius) - 2px)} .rounded-lg {border-radius: var(--radius)} .rounded-xl {border-radius: calc(var(--radius) + 4px)} .rounded-2xl {border-radius: calc(var(--radius) + 12px)} .rounded-full {border-radius: 9999px} .rounded-b-lg {border-bottom-left-radius: var(--radius); border-bottom-right-radius: var(--radius)} .rounded-t-2xl {border-top-left-radius: calc(var(--radius) + 12px); border-top-right-radius: calc(var(--radius) + 12px)} .shadow-xs {box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05)} .shadow-sm {box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05)} .shadow {box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)} .shadow-md {box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)} .shadow-lg {box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)} .shadow-xl {box-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)} .shadow-2xl {box-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25)} .shadow-beige\/20 {box-shadow: 0 10px 15px -3px color-mix(in oklab, var(--color-beige) 20%, transparent)} .shadow-black\/5 {box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.05)} .shadow-black\/40 {box-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.4)} .shadow-chocolate\/10 {box-shadow: 0 10px 15px -3px color-mix(in oklab, var(--color-chocolate) 10%, transparent)} .shadow-chocolate\/20 {box-shadow: 0 10px 15px -3px color-mix(in oklab, var(--color-chocolate) 20%, transparent)} .shadow-chocolate\/30 {box-shadow: 0 10px 15px -3px color-mix(in oklab, var(--color-chocolate) 30%, transparent)} .shadow-green-500\/30 {box-shadow: 0 10px 15px -3px color-mix(in oklab, var(--green-500) 30%, transparent)} .shadow-green-600\/20 {box-shadow: 0 10px 15px -3px color-mix(in oklab, var(--green-600) 20%, transparent)} .ring-1 {box-shadow: 0 0 0 1px var(--tw-ring-color, var(--ring))} .ring-2 {box-shadow: 0 0 0 2px var(--tw-ring-color, var(--ring))} .ring-4 {box-shadow: 0 0 0 4px var(--tw-ring-color, var(--ring))} .ring-primary {--tw-ring-color: var(--primary)} .ring-beige\/20 {--tw-ring-color: color-mix(in oklab, var(--color-beige) 20%, transparent)} .ring-white\/20 {--tw-ring-color: color-mix(in oklab, white 20%, transparent)} .transition-all {transition-property: all; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms} .transition-colors {transition-property: color, background-color, border-color, text-decoration-color, fill, stroke; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms} .transition-opacity {transition-property: opacity; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms} .transition-shadow {transition-property: box-shadow; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms} .transition-transform {transition-property: transform; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms} .duration-150 {transition-duration: 150ms} .duration-200 {transition-duration: 200ms} .duration-300 {transition-duration: 300ms} .duration-700 {transition-duration: 700ms} .duration-1000 {transition-duration: 1000ms} .ease-in-out {transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1)} .rotate-180 {transform: rotate(180deg)} .group-open\:rotate-180 {transform: rotate(180deg)} details[open] > summary .group-open\:rotate-180 {transform: rotate(180deg)} .translate-x-1\/2 {transform: translateX(50%)} .translate-x-full {transform: translateX(100%)} .-translate-x-full {transform: translateX(-100%)} .-translate-x-1\/2 {transform: translateX(-50%)} .translate-y-1\/2 {transform: translateY(50%)} .-translate-y-1\/2 {transform: translateY(-50%)} .hover\:-translate-y-0\.5:hover {transform: translateY(-0.125rem)} .hover\:translate-x-0\.5:hover {transform: translateX(0.125rem)} .group:hover .group-hover\:translate-x-0\.5 {transform: translateX(0.125rem)} .group:hover .group-hover\:scale-110 {transform: scale(1.1)} .hover\:scale-105:hover {transform: scale(1.05)} .hover\:scale-110:hover {transform: scale(1.1)} .active\:scale-95:active {transform: scale(0.95)} .active\:scale-\[0\.98\]:active {transform: scale(0.98)} .active\:scale-\[0\.99\]:active {transform: scale(0.99)} .opacity-0 {opacity: 0} .opacity-5 {opacity: 0.05} .opacity-10 {opacity: 0.1} .opacity-70 {opacity: 0.7} .opacity-75 {opacity: 0.75} .group:hover .group-hover\:opacity-100 {opacity: 1} .group:hover .group-hover\:ml-0 {margin-left: 0} .blur-3xl {filter: blur(64px)} .backdrop-blur {backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px)} .backdrop-blur-sm {backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px)} .backdrop-blur-md {backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px)} .brightness-0 {filter: brightness(0)} .hover\:brightness-110:hover {filter: brightness(1.1)} .invert {filter: invert(100%)} .drop-shadow-sm {filter: drop-shadow(0 1px 1px rgb(0 0 0 / 0.05))} .bg-gradient-to-t {background-image: linear-gradient(to top, var(--g-from, transparent) 0%, var(--g-via, var(--g-from, transparent)) 50%, var(--g-to, transparent) 100%)} .bg-gradient-to-r {background-image: linear-gradient(to right, var(--g-from, transparent) 0%, var(--g-via, var(--g-from, transparent)) 50%, var(--g-to, transparent) 100%)} .bg-gradient-to-b {background-image: linear-gradient(to bottom, var(--g-from, transparent) 0%, var(--g-via, var(--g-from, transparent)) 50%, var(--g-to, transparent) 100%)} .bg-gradient-to-br {background-image: linear-gradient(to bottom right, var(--g-from, transparent) 0%, var(--g-via, var(--g-from, transparent)) 50%, var(--g-to, transparent) 100%)} .bg-\[radial-gradient\(ellipse_at_top_left\,rgba\(207\,169\,106\,0\.3\)\,transparent_55\%\)\] {background-image: radial-gradient(ellipse at top left, rgba(207,169,106,0.3), transparent 55%)} .bg-\[radial-gradient\(ellipse_at_bottom_right\,rgba\(207\,169\,106\,0\.18\)\,transparent_50\%\)\] {background-image: radial-gradient(ellipse at bottom right, rgba(207,169,106,0.18), transparent 50%)} .drop-shadow-\[0_2px_16px_rgba\(42\,27\,22\,0\.5\)\] {filter: drop-shadow(0 2px 16px rgba(42,27,22,0.5))} .drop-shadow-\[0_1px_8px_rgba\(42\,27\,22\,0\.6\)\] {filter: drop-shadow(0 1px 8px rgba(42,27,22,0.6))} .drop-shadow-\[0_1px_6px_rgba\(42\,27\,22\,0\.6\)\] {filter: drop-shadow(0 1px 6px rgba(42,27,22,0.6))} .from-chocolate {--g-from: var(--color-chocolate)} .from-chocolate-light {--g-from: var(--color-chocolate-light)} .from-chocolate-light\/95 {--g-from: color-mix(in oklab, var(--color-chocolate-light) 95%, transparent)} .from-chocolate-tint {--g-from: var(--color-chocolate-tint)} .from-espresso {--g-from: var(--color-espresso)} .from-espresso\/45 {--g-from: color-mix(in oklab, var(--color-espresso) 45%, transparent)} .from-espresso\/90 {--g-from: color-mix(in oklab, var(--color-espresso) 90%, transparent)} .from-black\/40 {--g-from: color-mix(in oklab, black 40%, transparent)} .from-black\/55 {--g-from: color-mix(in oklab, black 55%, transparent)} .from-cream\/50 {--g-from: color-mix(in oklab, var(--color-cream) 50%, transparent)} .from-beige\/30 {--g-from: color-mix(in oklab, var(--color-beige) 30%, transparent)} .from-primary\/10 {--g-from: color-mix(in oklab, var(--primary) 10%, transparent)} .via-chocolate {--g-via: var(--color-chocolate)} .via-beige {--g-via: var(--color-beige)} .via-espresso\/10 {--g-via: color-mix(in oklab, var(--color-espresso) 10%, transparent)} .via-espresso\/20 {--g-via: color-mix(in oklab, var(--color-espresso) 20%, transparent)} .via-black\/10 {--g-via: color-mix(in oklab, black 10%, transparent)} .to-chocolate {--g-to: var(--color-chocolate)} .to-chocolate\/95 {--g-to: color-mix(in oklab, var(--color-chocolate) 95%, transparent)} .to-chocolate-light {--g-to: var(--color-chocolate-light)} .to-chocolate-tint {--g-to: var(--color-chocolate-tint)} .to-espresso {--g-to: var(--color-espresso)} .to-espresso\/60 {--g-to: color-mix(in oklab, var(--color-espresso) 60%, transparent)} .to-black\/20 {--g-to: color-mix(in oklab, black 20%, transparent)} .to-beige\/10 {--g-to: color-mix(in oklab, var(--color-beige) 10%, transparent)} .to-primary\/5 {--g-to: color-mix(in oklab, var(--primary) 5%, transparent)} .to-transparent {--g-to: transparent} .to-white {--g-to: white} .relative {position: relative} .absolute {position: absolute} .fixed {position: fixed} .sticky {position: sticky} .inset-0 {inset: 0} .inset-y-0 {top: 0; bottom: 0} .top-0 {top: 0} .top-0\.5 {top: 0.125rem} .top-1\/2 {top: 50%} .top-2 {top: 0.5rem} .top-3 {top: 0.75rem} .top-4 {top: 1rem} .top-6 {top: 1.5rem} .top-10 {top: 2.5rem} .top-14 {top: 3.5rem} .top-20 {top: 5rem} .bottom-0 {bottom: 0} .bottom-3 {bottom: 0.75rem} .bottom-6 {bottom: 1.5rem} .bottom-10 {bottom: 2.5rem} .bottom-24 {bottom: 6rem} .left-0 {left: 0} .left-1\/2 {left: 50%} .left-2 {left: 0.5rem} .left-3 {left: 0.75rem} .left-4 {left: 1rem} .left-5 {left: 1.25rem} .left-10 {left: 2.5rem} .right-0 {right: 0} .right-0\.5 {right: 0.125rem} .right-2 {right: 0.5rem} .right-3 {right: 0.75rem} .right-4 {right: 1rem} .right-6 {right: 1.5rem} .right-10 {right: 2.5rem} .-top-1 {top: -0.25rem} .-top-2 {top: -0.5rem} .-top-2\.5 {top: -0.625rem} .-bottom-2 {bottom: -0.5rem} .-bottom-6 {bottom: -1.5rem} .-left-1 {left: -0.25rem} .-left-6 {left: -1.5rem} .-right-1 {right: -0.25rem} .-right-2 {right: -0.5rem} .z-10 {z-index: 10} .z-50 {z-index: 50} .z-\[60\] {z-index: 60} .z-\[100\] {z-index: 100} .overflow-hidden {overflow: hidden} .overflow-x-auto {overflow-x: auto} .overflow-x-hidden {overflow-x: hidden} .overflow-y-auto {overflow-y: auto} .overflow-y-hidden {overflow-y: hidden} .overscroll-contain {overscroll-behavior: contain} .object-cover {object-fit: cover} .object-center {object-position: center} .object-top {object-position: top} .bg-cover {background-size: cover} .bg-center {background-position: center} .cursor-pointer {cursor: pointer} .pointer-events-none {pointer-events: none} .pointer-events-auto {pointer-events: auto} .resize-none {resize: none} .list-none {list-style: none} :where(input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="number"], input[type="date"], input[type="search"], input[type="url"], select, textarea) {display: block; width: 100%; height: 2.5rem; padding: 0.5rem 0.75rem; border: 1px solid var(--input); border-radius: var(--radius); background-color: transparent; font-size: 0.875rem; line-height: 1.5; transition: color 0.15s, box-shadow 0.15s, border-color 0.15s; outline: none} :where(textarea) {height: auto; min-height: 4rem} :where(input)::placeholder, :where(textarea)::placeholder {color: var(--muted-foreground)} input:focus-visible, textarea:focus-visible, select:focus-visible {border-color: var(--ring); box-shadow: 0 0 0 3px color-mix(in oklab, var(--ring) 50%, transparent)} input:disabled, textarea:disabled, select:disabled, button:disabled {cursor: not-allowed; opacity: 0.5} label {display: block; font-size: 0.875rem; font-weight: 500; line-height: 1.25; margin-bottom: 0.25rem} label:has(+ input:disabled), label:has(+ select:disabled) {cursor: not-allowed; opacity: 0.7} input[type="checkbox"], input[type="radio"] {accent-color: var(--primary)} select {appearance: auto} select option {color: var(--foreground); background: var(--card)} :where(input[type="file"]) {display: flex; height: 2.5rem; width: 100%; padding: 0.375rem 0.75rem; font-size: 0.875rem} input[type="file"]::file-selector-button {margin-right: 0.75rem; padding: 0.375rem 0.75rem; border: none; border-radius: calc(var(--radius) - 2px); background-color: color-mix(in oklab, var(--primary) 10%, transparent); font-size: 0.875rem; font-weight: 500; color: var(--primary); cursor: pointer} :where(button[type="submit"], .btn) {display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; white-space: nowrap; border-radius: calc(var(--radius) - 2px); font-size: 0.875rem; font-weight: 500; padding: 0.5rem 1rem; min-height: 2.25rem; background-color: var(--primary); color: var(--primary-foreground); box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05); transition: background-color 0.15s; flex-shrink: 0} :where(button[type="submit"]):hover, .btn:hover {background-color: color-mix(in oklab, var(--primary) 90%, transparent)} button[type="submit"] > svg, .btn > svg, button.inline-flex > svg, a.inline-flex > svg {width: 1rem; height: 1rem; flex-shrink: 0} button[type="submit"].has-svg, .btn.has-svg {padding-right: 0.75rem} #site-header[data-nav-home="1"] {background-color: transparent; box-shadow: none; backdrop-filter: none} #site-header[data-nav-home="1"].nav-scrolled {background-color: color-mix(in oklab, var(--color-chocolate-tint) 95%, transparent); box-shadow: 0 1px 3px rgb(0 0 0 / 0.06); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px)} #site-header[data-nav-home="1"].nav-scrolled .nav-home-text {color: var(--color-chocolate)} #site-header[data-nav-home="1"].nav-scrolled .nav-home-text:hover {color: var(--color-chocolate-light)} #site-header[data-nav-home="1"].nav-scrolled .nav-home-sub {opacity: 0.7} #site-header[data-nav-home="1"].nav-scrolled .nav-home-btn {color: var(--color-chocolate); background-color: color-mix(in oklab, var(--color-beige) 50%, transparent)} #site-header[data-nav-home="1"].nav-scrolled .nav-home-btn:hover {background-color: color-mix(in oklab, var(--color-beige) 80%, transparent)} .nav-logo-default {opacity: 1} .badge {display: inline-flex; align-items: center; justify-content: center; gap: 0.25rem; border: 1px solid var(--border); border-radius: calc(var(--radius) - 2px); padding: 0.125rem 0.625rem; font-size: 0.75rem; font-weight: 600; width: fit-content; white-space: nowrap; flex-shrink: 0} table {width: 100%; font-size: 0.875rem; border-collapse: collapse} thead th {height: 2.5rem; padding: 0 0.5rem; text-align: left; vertical-align: middle; font-weight: 500; color: var(--muted-foreground)} tbody td {padding: 0.5rem; vertical-align: middle} tbody tr {border-bottom: 1px solid var(--border)} details summary {cursor: pointer; list-style: none} details summary::-webkit-details-marker {display: none} details summary .chevron {transition: transform 0.2s} details[open] summary .chevron {transform: rotate(180deg)} .animate-in {animation-duration: 300ms; animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1)} .fade-in-0 {animation-name: staysup-fade-in} .zoom-in-95 {animation-name: staysup-zoom-in} .slide-in-from-top-2 {animation-name: staysup-slide-in-top} @keyframes staysup-fade-in {from {opacity: 0} to {opacity: 1}} @keyframes staysup-zoom-in {from {opacity: 0; transform: scale(0.95)} to {opacity: 1; transform: scale(1)}} @keyframes staysup-slide-in-top {from {opacity: 0; transform: translateY(-0.5rem)} to {opacity: 1; transform: none}} .animate-spin {animation: staysup-spin 1s linear infinite} @keyframes staysup-spin {to {transform: rotate(360deg)}} [data-flash] {position: fixed; top: 5rem; right: 1rem; z-index: 100; border-radius: var(--radius); border: 1px solid var(--border); padding: 0.75rem 1rem; font-size: 0.875rem; font-weight: 500; box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1)} .status-btn {transition: background-color 0.15s, color 0.15s} .password-dots {letter-spacing: 0.15em} .dynamic-row, .dynamic-day {display: flex; flex-direction: column; gap: 0.75rem} .remove-row {cursor: pointer} .no-scrollbar {scrollbar-width: none; -ms-overflow-style: none} .no-scrollbar::-webkit-scrollbar {display: none} .scrollbar-hide {scrollbar-width: none; -ms-overflow-style: none} .scrollbar-hide::-webkit-scrollbar {display: none} .snap-x {scroll-snap-type: x mandatory} .snap-mandatory {scroll-snap-type: x mandatory} .snap-start {scroll-snap-align: start} .faq-item {border-bottom: 1px solid var(--border)} .faq-item summary {display: flex; align-items: center; justify-content: space-between; padding: 1rem 0; font-weight: 500} .star-btn {cursor: pointer; transition: transform 0.15s} .star-btn:hover {transform: scale(1.15)} .hover\:bg-accent:hover {background-color: var(--accent)} .hover\:bg-muted:hover {background-color: var(--muted)} .hover\:bg-muted\/20:hover {background-color: color-mix(in oklab, var(--muted) 20%, transparent)} .hover\:bg-muted\/30:hover {background-color: color-mix(in oklab, var(--muted) 30%, transparent)} .hover\:bg-muted\/50:hover {background-color: color-mix(in oklab, var(--muted) 50%, transparent)} .hover\:bg-primary\/90:hover {background-color: color-mix(in oklab, var(--primary) 90%, transparent)} .hover\:bg-secondary\/80:hover {background-color: color-mix(in oklab, var(--secondary) 80%, transparent)} .hover\:bg-destructive\/10:hover {background-color: color-mix(in oklab, var(--destructive) 10%, transparent)} .hover\:bg-beige:hover {background-color: var(--color-beige)} .hover\:bg-beige-light:hover {background-color: var(--color-beige-light)} .hover\:bg-beige\/10:hover {background-color: color-mix(in oklab, var(--color-beige) 10%, transparent)} .hover\:bg-beige\/20:hover {background-color: color-mix(in oklab, var(--color-beige) 20%, transparent)} .hover\:bg-beige\/80:hover {background-color: color-mix(in oklab, var(--color-beige) 80%, transparent)} .hover\:bg-chocolate:hover {background-color: var(--color-chocolate)} .hover\:bg-chocolate-light:hover {background-color: var(--color-chocolate-light)} .hover\:bg-chocolate\/5:hover {background-color: color-mix(in oklab, var(--color-chocolate) 5%, transparent)} .hover\:bg-cream:hover {background-color: var(--color-cream)} .hover\:bg-cream\/10:hover {background-color: color-mix(in oklab, var(--color-cream) 10%, transparent)} .hover\:bg-warm-gray\/50:hover {background-color: color-mix(in oklab, var(--color-warm-gray) 50%, transparent)} .hover\:bg-white\/10:hover {background-color: color-mix(in oklab, white 10%, transparent)} .hover\:bg-white\/15:hover {background-color: color-mix(in oklab, white 15%, transparent)} .hover\:bg-white\/20:hover {background-color: color-mix(in oklab, white 20%, transparent)} .hover\:bg-black\/60:hover {background-color: color-mix(in oklab, black 60%, transparent)} .hover\:bg-amber-600:hover {background-color: var(--amber-600)} .hover\:bg-green-50:hover {background-color: var(--green-50)} .hover\:bg-green-600:hover {background-color: var(--green-600)} .hover\:bg-green-700:hover {background-color: var(--green-700)} .hover\:bg-red-50:hover {background-color: var(--red-50)} .hover\:text-accent-foreground:hover {color: var(--accent-foreground)} .hover\:text-foreground:hover {color: var(--foreground)} .hover\:text-primary:hover {color: var(--primary)} .hover\:text-destructive:hover {color: var(--destructive)} .hover\:text-chocolate:hover {color: var(--color-chocolate)} .hover\:text-chocolate-light:hover {color: var(--color-chocolate-light)} .hover\:text-beige:hover {color: var(--color-beige)} .hover\:text-beige-light:hover {color: var(--color-beige-light)} .hover\:text-cream:hover {color: var(--color-cream)} .hover\:text-white:hover {color: #fff} .hover\:text-red-500:hover {color: var(--red-500)} .hover\:underline:hover {text-decoration: underline} .hover\:no-underline:hover {text-decoration: none} .hover\:border-beige:hover {border-color: var(--color-beige)} .hover\:border-chocolate\/50:hover {border-color: color-mix(in oklab, var(--color-chocolate) 50%, transparent)} .hover\:border-green-600:hover {border-color: var(--green-600)} .hover\:border-muted-foreground\/30:hover {border-color: color-mix(in oklab, var(--muted-foreground) 30%, transparent)} .hover\:border-muted-foreground\/40:hover {border-color: color-mix(in oklab, var(--muted-foreground) 40%, transparent)} .hover\:border-primary\/40:hover {border-color: color-mix(in oklab, var(--primary) 40%, transparent)} .hover\:border-primary\/50:hover {border-color: color-mix(in oklab, var(--primary) 50%, transparent)} .hover\:border-red-300:hover {border-color: var(--red-300)} .hover\:shadow-sm:hover {box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05)} .hover\:shadow-md:hover {box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1)} .hover\:shadow-lg:hover {box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1)} .hover\:shadow-xl:hover {box-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1)} .hover\:shadow-chocolate\/5:hover {box-shadow: 0 10px 15px -3px color-mix(in oklab, var(--color-chocolate) 5%, transparent)} .hover\:scale-105:hover {transform: scale(1.05)} .hover\:scale-110:hover {transform: scale(1.1)} .hover\:-translate-y-0\.5:hover {transform: translateY(-0.125rem)} .hover\:translate-x-0\.5:hover {transform: translateX(0.125rem)} .hover\:brightness-110:hover {filter: brightness(1.1)} .hover\:from-chocolate-light:hover {--g-from: var(--color-chocolate-light)} .hover\:to-chocolate:hover {--g-to: var(--color-chocolate)} .focus\:border-beige:focus {border-color: var(--color-beige)} .focus\:border-chocolate:focus {border-color: var(--color-chocolate)} .focus\:ring-1:focus {box-shadow: 0 0 0 1px var(--tw-ring-color, var(--ring))} .focus\:ring-2:focus {box-shadow: 0 0 0 2px var(--tw-ring-color, var(--ring))} .focus\:ring-beige\/50:focus {--tw-ring-color: color-mix(in oklab, var(--color-beige) 50%, transparent)} .focus\:ring-chocolate\/15:focus {--tw-ring-color: color-mix(in oklab, var(--color-chocolate) 15%, transparent)} .focus\:ring-chocolate\/30:focus {--tw-ring-color: color-mix(in oklab, var(--color-chocolate) 30%, transparent)} .focus\:ring-chocolate\/40:focus {--tw-ring-color: color-mix(in oklab, var(--color-chocolate) 40%, transparent)} .focus-visible\:outline-none:focus-visible {outline: none} .focus-visible\:border-ring:focus-visible {border-color: var(--ring)} .focus-visible\:border-chocolate:focus-visible {border-color: var(--color-chocolate)} .focus-visible\:ring-1:focus-visible {box-shadow: 0 0 0 1px var(--tw-ring-color, var(--ring))} .focus-visible\:ring-2:focus-visible {box-shadow: 0 0 0 2px var(--tw-ring-color, var(--ring))} .focus-visible\:ring-3:focus-visible, .focus-visible\:ring-\[3px\]:focus-visible {box-shadow: 0 0 0 3px var(--tw-ring-color, var(--ring))} .focus-visible\:ring-ring:focus-visible {--tw-ring-color: var(--ring)} .focus-visible\:ring-ring\/50:focus-visible {--tw-ring-color: color-mix(in oklab, var(--ring) 50%, transparent)} .focus-visible\:ring-beige\/60:focus-visible {--tw-ring-color: color-mix(in oklab, var(--color-beige) 60%, transparent)} .focus-visible\:ring-chocolate\/12:focus-visible {--tw-ring-color: color-mix(in oklab, var(--color-chocolate) 12%, transparent)} .focus-visible\:ring-chocolate\/30:focus-visible {--tw-ring-color: color-mix(in oklab, var(--color-chocolate) 30%, transparent)} .disabled\:pointer-events-none:disabled {pointer-events: none} .disabled\:cursor-not-allowed:disabled {cursor: not-allowed} .disabled\:opacity-50:disabled {opacity: 0.5} .disabled\:opacity-40:disabled {opacity: 0.4} .placeholder\:text-muted-foreground::placeholder {color: var(--muted-foreground)} .placeholder\:text-muted-foreground\/40::placeholder {color: color-mix(in oklab, var(--muted-foreground) 40%, transparent)} .placeholder\:text-muted-foreground\/50::placeholder {color: color-mix(in oklab, var(--muted-foreground) 50%, transparent)} .placeholder-white\/50::placeholder {color: color-mix(in oklab, white 50%, transparent)} .file\:mr-3::file-selector-button {margin-right: 0.75rem} .file\:px-3::file-selector-button {padding-inline: 0.75rem} .file\:py-1\.5::file-selector-button {padding-block: 0.375rem} .file\:rounded-md::file-selector-button {border-radius: calc(var(--radius) - 2px)} .file\:border-0::file-selector-button {border: 0} .file\:font-medium::file-selector-button {font-weight: 500} .file\:text-sm::file-selector-button {font-size: 0.875rem} .file\:bg-primary\/10::file-selector-button {background-color: color-mix(in oklab, var(--primary) 10%, transparent)} @media (min-width: 640px) {.sm\:block {display: block} .sm\:inline {display: inline} .sm\:flex {display: flex} .sm\:hidden {display: none} .sm\:flex-row {flex-direction: row} .sm\:flex-col {flex-direction: column} .sm\:items-center {align-items: center} .sm\:justify-between {justify-content: space-between} .sm\:justify-center {justify-content: center} .sm\:flex-1 {flex: 1 1 0%} .sm\:flex-none {flex: none} .sm\:w-40 {width: 10rem} .sm\:w-44 {width: 11rem} .sm\:w-80 {width: 20rem} .sm\:w-auto {width: auto} .sm\:h-96 {height: 24rem} .sm\:max-h-\[88vh\] {max-height: 88vh} .sm\:max-w-3xl {max-width: 48rem} .sm\:p-0 {padding: 0} .sm\:p-1 {padding: 0.25rem} .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\:px-0 {padding-inline: 0} .sm\:px-6 {padding-inline: 1.5rem} .sm\:px-8 {padding-inline: 2rem} .sm\:py-20 {padding-block: 5rem} .sm\:mb-8 {margin-bottom: 2rem} .sm\:ml-2 {margin-left: 0.5rem} .sm\:ml-auto {margin-left: auto} .sm\:mt-4 {margin-top: 1rem} .sm\:gap-0 {gap: 0} .sm\:gap-4 {gap: 1rem} .sm\:size-4 {width: 1rem; height: 1rem} .sm\:size-6 {width: 1.5rem; height: 1.5rem} .sm\:size-20 {width: 5rem; height: 5rem} .sm\:size-24 {width: 6rem; height: 6rem} .sm\:text-2xl {font-size: 1.5rem} .sm\:text-3xl {font-size: 1.875rem} .sm\:text-5xl {font-size: 3rem} .sm\:text-sm {font-size: 0.875rem} .sm\:text-base {font-size: 1rem} .sm\:text-lg {font-size: 1.125rem} .sm\:text-xl {font-size: 1.25rem} .sm\:text-right {text-align: right} .sm\:rounded-xl {border-radius: calc(var(--radius) + 4px)} .sm\:rounded-2xl {border-radius: calc(var(--radius) + 12px)} .sm\:border {border-width: 1px} .sm\:left-4 {left: 1rem} .sm\:right-4 {right: 1rem} .sm\:top-4 {top: 1rem} .sm\:bottom-4 {bottom: 1rem} .sm\:bg-transparent {background-color: transparent} .sm\:grid-cols-2 {grid-template-columns: repeat(2, minmax(0, 1fr))} .sm\:grid-cols-3 {grid-template-columns: repeat(3, minmax(0, 1fr))} .sm\:grid-cols-4 {grid-template-columns: repeat(4, minmax(0, 1fr))} .sm\:grid-cols-\[1fr_80px_80px_110px_auto\] {grid-template-columns: 1fr 80px 80px 110px auto} .sm\:col-span-1 {grid-column: span 1 / span 1} .sm\:col-span-2 {grid-column: span 2 / span 2} .sm\:col-span-3 {grid-column: span 3 / span 3}} @media (min-width: 768px) {.md\:block {display: block} .md\:flex {display: flex} .md\:grid {display: grid} .md\:hidden {display: none} .md\:flex-row {flex-direction: row} .md\:flex-1 {flex: 1 1 0%} .md\:flex-none {flex: none} .md\:h-16 {height: 4rem} .md\:min-h-0 {min-height: 0} .md\:min-w-\[380px\] {min-width: 380px} .md\:p-0 {padding: 0} .md\:p-6 {padding: 1.5rem} .md\:p-8 {padding: 2rem} .md\:pt-20 {padding-top: 5rem} .md\:pt-16 {padding-top: 4rem} .md\:py-20 {padding-block: 5rem} .md\:py-24 {padding-block: 6rem} .md\:py-28 {padding-block: 7rem} .md\:gap-6 {gap: 1.5rem} .md\:gap-8 {gap: 2rem} .md\:gap-12 {gap: 3rem} .md\:gap-16 {gap: 4rem} .md\:size-56 {width: 14rem; height: 14rem} .md\:w-\[44\%\] {width: 44%} .md\:text-xs {font-size: 0.75rem} .md\:text-sm {font-size: 0.875rem} .md\:text-base {font-size: 1rem} .md\:text-lg {font-size: 1.125rem} .md\:text-xl {font-size: 1.25rem} .md\:text-4xl {font-size: 2.25rem} .md\:text-5xl {font-size: 3rem} .md\:text-6xl {font-size: 3.75rem} .md\:text-muted-foreground {color: var(--muted-foreground)} .md\:border {border-width: 1px} .md\:border-b-0 {border-bottom-width: 0} .md\:border-r {border-right-width: 1px} .md\:border-border {border-color: var(--border)} .md\:border-white\/10 {border-color: color-mix(in oklab, white 10%, transparent)} .md\:divide-y-0 > * + * {border-top-width: 0} .md\:bg-white {background-color: #fff} .md\:overflow-hidden {overflow: hidden} .md\:overflow-y-auto {overflow-y: auto} .md\:left-3 {left: 0.75rem} .md\:right-3 {right: 0.75rem} .md\:top-16 {top: 4rem} .md\:bottom-3 {bottom: 0.75rem} .md\:hover\:bg-muted:hover {background-color: var(--muted)} .md\:hover\:text-foreground:hover {color: var(--foreground)} .md\:grid-cols-2 {grid-template-columns: repeat(2, minmax(0, 1fr))} .md\:grid-cols-3 {grid-template-columns: repeat(3, minmax(0, 1fr))} .md\:grid-cols-4 {grid-template-columns: repeat(4, minmax(0, 1fr))} .md\:grid-cols-5 {grid-template-columns: repeat(5, minmax(0, 1fr))} .md\:col-span-2 {grid-column: span 2 / span 2} .md\:col-span-3 {grid-column: span 3 / span 3}} @media (min-width: 1024px) {.lg\:block {display: block} .lg\:flex {display: flex} .lg\:hidden {display: none} .lg\:flex-col {flex-direction: column} .lg\:flex-row {flex-direction: row} .lg\:items-center {align-items: center} .lg\:items-stretch {align-items: stretch} .lg\:justify-center {justify-content: center} .lg\:flex-none {flex: none} .lg\:w-64 {width: 16rem} .lg\:h-auto {height: auto} .lg\:max-w-4xl {max-width: 56rem} .lg\:w-\[42\%\] {width: 42%} .lg\:absolute {position: absolute} .lg\:fixed {position: fixed} .lg\:sticky {position: sticky} .lg\:inset-y-0 {top: 0; bottom: 0} .lg\:left-0 {left: 0} .lg\:left-4 {left: 1rem} .lg\:top-24 {top: 6rem} .lg\:ml-64 {margin-left: 16rem} .lg\:z-40 {z-index: 40} .lg\:gap-3 {gap: 0.75rem} .lg\:gap-8 {gap: 2rem} .lg\:px-3 {padding-inline: 0.75rem} .lg\:px-8 {padding-inline: 2rem} .lg\:py-8 {padding-block: 2rem} .lg\:pl-3 {padding-left: 0.75rem} .lg\:pr-3 {padding-right: 0.75rem} .lg\:pt-0 {padding-top: 0} .lg\:p-5 {padding: 1.25rem} .lg\:order-1 {order: 1} .lg\:order-2 {order: 2} .lg\:self-start {align-self: flex-start} .lg\:self-stretch {align-self: stretch} .lg\:text-5xl {font-size: 3rem} .lg\:text-xl {font-size: 1.25rem} .lg\:border-r {border-right-width: 1px} .lg\:border-border {border-color: var(--border)} .lg\:border-white\/10 {border-color: color-mix(in oklab, white 10%, transparent)} .lg\:bg-white {background-color: #fff} .lg\:grid-cols-2 {grid-template-columns: repeat(2, minmax(0, 1fr))} .lg\:grid-cols-3 {grid-template-columns: repeat(3, minmax(0, 1fr))} .lg\:grid-cols-4 {grid-template-columns: repeat(4, minmax(0, 1fr))} .lg\:grid-cols-5 {grid-template-columns: repeat(5, minmax(0, 1fr))} .lg\:grid-cols-6 {grid-template-columns: repeat(6, minmax(0, 1fr))} .lg\:grid-cols-\[1fr_340px\] {grid-template-columns: 1fr 340px} .lg\:col-span-1 {grid-column: span 1 / span 1} .lg\:col-span-2 {grid-column: span 2 / span 2} .lg\:col-span-3 {grid-column: span 3 / span 3} .lg\:flex-\[1\.2\] {flex: 1.2} .lg\:flex-\[1\.5\] {flex: 1.5}} @media (min-width: 1280px) {.xl\:left-8 {left: 2rem}} @media print {.no-print {display: none !important}}