 
@layer properties;
@layer theme, base, components, utilities;
@layer theme {
  :root, :host {
    --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
      "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --color-red-300: oklch(80.8% 0.114 19.571);
    --color-red-400: oklch(70.4% 0.191 22.216);
    --color-red-500: oklch(63.7% 0.237 25.331);
    --color-red-600: oklch(57.7% 0.245 27.325);
    --color-red-700: oklch(50.5% 0.213 27.518);
    --color-red-800: oklch(44.4% 0.177 26.899);
    --color-red-900: oklch(39.6% 0.141 25.723);
    --color-orange-400: oklch(75% 0.183 55.934);
    --color-amber-50: oklch(98.7% 0.022 95.277);
    --color-amber-200: oklch(92.4% 0.12 95.746);
    --color-amber-300: oklch(87.9% 0.169 91.605);
    --color-amber-400: oklch(82.8% 0.189 84.429);
    --color-amber-500: oklch(76.9% 0.188 70.08);
    --color-amber-600: oklch(66.6% 0.179 58.318);
    --color-amber-900: oklch(41.4% 0.112 45.904);
    --color-yellow-200: oklch(94.5% 0.129 101.54);
    --color-yellow-400: oklch(85.2% 0.199 91.936);
    --color-yellow-500: oklch(79.5% 0.184 86.047);
    --color-yellow-600: oklch(68.1% 0.162 75.834);
    --color-yellow-700: oklch(55.4% 0.135 66.442);
    --color-green-400: oklch(79.2% 0.209 151.711);
    --color-green-500: oklch(72.3% 0.219 149.579);
    --color-green-600: oklch(62.7% 0.194 149.214);
    --color-green-700: oklch(52.7% 0.154 150.069);
    --color-green-800: oklch(44.8% 0.119 151.328);
    --color-green-900: oklch(39.3% 0.095 152.535);
    --color-emerald-300: oklch(84.5% 0.143 164.978);
    --color-emerald-400: oklch(76.5% 0.177 163.223);
    --color-blue-200: oklch(88.2% 0.059 254.128);
    --color-blue-300: oklch(80.9% 0.105 251.813);
    --color-blue-400: oklch(70.7% 0.165 254.624);
    --color-blue-500: oklch(62.3% 0.214 259.815);
    --color-blue-600: oklch(54.6% 0.245 262.881);
    --color-blue-700: oklch(48.8% 0.243 264.376);
    --color-blue-900: oklch(37.9% 0.146 265.522);
    --color-purple-600: oklch(55.8% 0.288 302.321);
    --color-purple-700: oklch(49.6% 0.265 301.924);
    --color-slate-50: oklch(98.4% 0.003 247.858);
    --color-slate-100: oklch(96.8% 0.007 247.896);
    --color-slate-200: oklch(92.9% 0.013 255.508);
    --color-slate-300: oklch(86.9% 0.022 252.894);
    --color-slate-400: oklch(70.4% 0.04 256.788);
    --color-slate-500: oklch(55.4% 0.046 257.417);
    --color-gray-100: oklch(96.7% 0.003 264.542);
    --color-gray-200: oklch(92.8% 0.006 264.531);
    --color-gray-300: oklch(87.2% 0.01 258.338);
    --color-gray-400: oklch(70.7% 0.022 261.325);
    --color-gray-500: oklch(55.1% 0.027 264.364);
    --color-gray-600: oklch(44.6% 0.03 256.802);
    --color-gray-700: oklch(37.3% 0.034 259.733);
    --color-gray-800: oklch(27.8% 0.033 256.848);
    --color-gray-900: oklch(21% 0.034 264.665);
    --color-black: #000;
    --color-white: #fff;
    --spacing: 0.25rem;
    --container-xs: 20rem;
    --container-sm: 24rem;
    --container-md: 28rem;
    --container-xl: 36rem;
    --container-2xl: 42rem;
    --container-3xl: 48rem;
    --container-4xl: 56rem;
    --container-6xl: 72rem;
    --text-xs: 0.75rem;
    --text-xs--line-height: calc(1 / 0.75);
    --text-sm: 0.875rem;
    --text-sm--line-height: calc(1.25 / 0.875);
    --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --text-xl: 1.25rem;
    --text-xl--line-height: calc(1.75 / 1.25);
    --text-2xl: 1.5rem;
    --text-2xl--line-height: calc(2 / 1.5);
    --text-3xl: 1.875rem;
    --text-3xl--line-height: calc(2.25 / 1.875);
    --text-4xl: 2.25rem;
    --text-4xl--line-height: calc(2.5 / 2.25);
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --tracking-tight: -0.025em;
    --tracking-wide: 0.025em;
    --tracking-wider: 0.05em;
    --leading-tight: 1.25;
    --leading-relaxed: 1.625;
    --radius-sm: 0.25rem;
    --radius-md: 0.375rem;
    --radius-lg: 0.5rem;
    --radius-xl: 0.75rem;
    --radius-2xl: 1rem;
    --ease-out: cubic-bezier(0, 0, 0.2, 1);
    --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
    --animate-spin: spin 1s linear infinite;
    --default-transition-duration: 150ms;
    --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
  }
}
@layer base {
  *, ::after, ::before, ::backdrop, ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
  b, strong {
    font-weight: bolder;
  }
  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol, ul, menu {
    list-style: none;
  }
  img, svg, video, canvas, audio, iframe, embed, object {
    display: block;
    vertical-align: middle;
  }
  img, video {
    max-width: 100%;
    height: auto;
  }
  button, input, select, optgroup, textarea, ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::placeholder {
    opacity: 1;
  }
  @supports (not (-webkit-appearance: -apple-pay-button))  or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button {
    appearance: button;
  }
  ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}
@layer utilities {
  .pointer-events-none {
    pointer-events: none;
  }
  .collapse {
    visibility: collapse;
  }
  .invisible {
    visibility: hidden;
  }
  .visible {
    visibility: visible;
  }
  .absolute {
    position: absolute;
  }
  .fixed {
    position: fixed;
  }
  .relative {
    position: relative;
  }
  .static {
    position: static;
  }
  .sticky {
    position: sticky;
  }
  .top-0 {
    top: calc(var(--spacing) * 0);
  }
  .top-1\/2 {
    top: calc(1 / 2 * 100%);
  }
  .top-2 {
    top: calc(var(--spacing) * 2);
  }
  .top-full {
    top: 100%;
  }
  .right-0 {
    right: calc(var(--spacing) * 0);
  }
  .bottom-0 {
    bottom: calc(var(--spacing) * 0);
  }
  .bottom-32 {
    bottom: calc(var(--spacing) * 32);
  }
  .bottom-full {
    bottom: 100%;
  }
  .left-0 {
    left: calc(var(--spacing) * 0);
  }
  .left-1\/2 {
    left: calc(1 / 2 * 100%);
  }
  .left-2 {
    left: calc(var(--spacing) * 2);
  }
  .left-3 {
    left: calc(var(--spacing) * 3);
  }
  .z-10 {
    z-index: 10;
  }
  .z-50 {
    z-index: 50;
  }
  .z-100 {
    z-index: 100;
  }
  .float-left {
    float: left;
  }
  .container {
    width: 100%;
    @media (width >= 40rem) {
      max-width: 40rem;
    }
    @media (width >= 48rem) {
      max-width: 48rem;
    }
    @media (width >= 64rem) {
      max-width: 64rem;
    }
    @media (width >= 80rem) {
      max-width: 80rem;
    }
    @media (width >= 96rem) {
      max-width: 96rem;
    }
  }
  .m-1 {
    margin: calc(var(--spacing) * 1);
  }
  .m-2 {
    margin: calc(var(--spacing) * 2);
  }
  .m-520 {
    margin: calc(var(--spacing) * 520);
  }
  .m-854 {
    margin: calc(var(--spacing) * 854);
  }
  .m-1013 {
    margin: calc(var(--spacing) * 1013);
  }
  .m-auto {
    margin: auto;
  }
  .mx-auto {
    margin-inline: auto;
  }
  .mt-1 {
    margin-top: calc(var(--spacing) * 1);
  }
  .mt-2 {
    margin-top: calc(var(--spacing) * 2);
  }
  .mt-3 {
    margin-top: calc(var(--spacing) * 3);
  }
  .mt-4 {
    margin-top: calc(var(--spacing) * 4);
  }
  .mt-6 {
    margin-top: calc(var(--spacing) * 6);
  }
  .mt-8 {
    margin-top: calc(var(--spacing) * 8);
  }
  .mr-1 {
    margin-right: calc(var(--spacing) * 1);
  }
  .mr-2 {
    margin-right: calc(var(--spacing) * 2);
  }
  .mr-4 {
    margin-right: calc(var(--spacing) * 4);
  }
  .mr-16 {
    margin-right: calc(var(--spacing) * 16);
  }
  .mr-auto {
    margin-right: auto;
  }
  .mb-1 {
    margin-bottom: calc(var(--spacing) * 1);
  }
  .mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
  }
  .mb-3 {
    margin-bottom: calc(var(--spacing) * 3);
  }
  .mb-4 {
    margin-bottom: calc(var(--spacing) * 4);
  }
  .mb-6 {
    margin-bottom: calc(var(--spacing) * 6);
  }
  .mb-10 {
    margin-bottom: calc(var(--spacing) * 10);
  }
  .ml-1 {
    margin-left: calc(var(--spacing) * 1);
  }
  .ml-2 {
    margin-left: calc(var(--spacing) * 2);
  }
  .ml-4 {
    margin-left: calc(var(--spacing) * 4);
  }
  .ml-8 {
    margin-left: calc(var(--spacing) * 8);
  }
  .ml-16 {
    margin-left: calc(var(--spacing) * 16);
  }
  .ml-auto {
    margin-left: auto;
  }
  .block {
    display: block;
  }
  .contents {
    display: contents;
  }
  .flex {
    display: flex;
  }
  .grid {
    display: grid;
  }
  .hidden {
    display: none;
  }
  .inline {
    display: inline;
  }
  .inline-block {
    display: inline-block;
  }
  .table {
    display: table;
  }
  .h-0 {
    height: calc(var(--spacing) * 0);
  }
  .h-0\.5 {
    height: calc(var(--spacing) * 0.5);
  }
  .h-1 {
    height: calc(var(--spacing) * 1);
  }
  .h-1\.5 {
    height: calc(var(--spacing) * 1.5);
  }
  .h-2 {
    height: calc(var(--spacing) * 2);
  }
  .h-3\.5 {
    height: calc(var(--spacing) * 3.5);
  }
  .h-4 {
    height: calc(var(--spacing) * 4);
  }
  .h-5 {
    height: calc(var(--spacing) * 5);
  }
  .h-6 {
    height: calc(var(--spacing) * 6);
  }
  .h-8 {
    height: calc(var(--spacing) * 8);
  }
  .h-10 {
    height: calc(var(--spacing) * 10);
  }
  .h-12 {
    height: calc(var(--spacing) * 12);
  }
  .h-16 {
    height: calc(var(--spacing) * 16);
  }
  .h-24 {
    height: calc(var(--spacing) * 24);
  }
  .h-32 {
    height: calc(var(--spacing) * 32);
  }
  .h-40 {
    height: calc(var(--spacing) * 40);
  }
  .h-48 {
    height: calc(var(--spacing) * 48);
  }
  .h-60 {
    height: calc(var(--spacing) * 60);
  }
  .h-64 {
    height: calc(var(--spacing) * 64);
  }
  .h-\[2\.25em\] {
    height: 2.25em;
  }
  .h-\[66px\] {
    height: 66px;
  }
  .h-\[67px\] {
    height: 67px;
  }
  .h-\[300px\] {
    height: 300px;
  }
  .h-full {
    height: 100%;
  }
  .h-px {
    height: 1px;
  }
  .h-screen {
    height: 100vh;
  }
  .max-h-32 {
    max-height: calc(var(--spacing) * 32);
  }
  .max-h-40 {
    max-height: calc(var(--spacing) * 40);
  }
  .max-h-64 {
    max-height: calc(var(--spacing) * 64);
  }
  .max-h-\[min\(480px\,70vh\)\] {
    max-height: min(480px, 70vh);
  }
  .min-h-12 {
    min-height: calc(var(--spacing) * 12);
  }
  .min-h-32 {
    min-height: calc(var(--spacing) * 32);
  }
  .min-h-screen {
    min-height: 100vh;
  }
  .\!w-12 {
    width: calc(var(--spacing) * 12) !important;
  }
  .w-0 {
    width: calc(var(--spacing) * 0);
  }
  .w-1 {
    width: calc(var(--spacing) * 1);
  }
  .w-3\.5 {
    width: calc(var(--spacing) * 3.5);
  }
  .w-4 {
    width: calc(var(--spacing) * 4);
  }
  .w-5 {
    width: calc(var(--spacing) * 5);
  }
  .w-6 {
    width: calc(var(--spacing) * 6);
  }
  .w-8 {
    width: calc(var(--spacing) * 8);
  }
  .w-10 {
    width: calc(var(--spacing) * 10);
  }
  .w-12 {
    width: calc(var(--spacing) * 12);
  }
  .w-16 {
    width: calc(var(--spacing) * 16);
  }
  .w-24 {
    width: calc(var(--spacing) * 24);
  }
  .w-28 {
    width: calc(var(--spacing) * 28);
  }
  .w-32 {
    width: calc(var(--spacing) * 32);
  }
  .w-40 {
    width: calc(var(--spacing) * 40);
  }
  .w-48 {
    width: calc(var(--spacing) * 48);
  }
  .w-56 {
    width: calc(var(--spacing) * 56);
  }
  .w-60 {
    width: calc(var(--spacing) * 60);
  }
  .w-64 {
    width: calc(var(--spacing) * 64);
  }
  .w-80 {
    width: calc(var(--spacing) * 80);
  }
  .w-\[9em\] {
    width: 9em;
  }
  .w-\[10em\] {
    width: 10em;
  }
  .w-\[66px\] {
    width: 66px;
  }
  .w-\[100vw\] {
    width: 100vw;
  }
  .w-\[300px\] {
    width: 300px;
  }
  .w-\[360px\] {
    width: 360px;
  }
  .w-auto {
    width: auto;
  }
  .w-full {
    width: 100%;
  }
  .w-px {
    width: 1px;
  }
  .w-screen {
    width: 100vw;
  }
  .max-w-2xl {
    max-width: var(--container-2xl);
  }
  .max-w-3xl {
    max-width: var(--container-3xl);
  }
  .max-w-4xl {
    max-width: var(--container-4xl);
  }
  .max-w-6xl {
    max-width: var(--container-6xl);
  }
  .max-w-32 {
    max-width: calc(var(--spacing) * 32);
  }
  .max-w-64 {
    max-width: calc(var(--spacing) * 64);
  }
  .max-w-\[min\(480px\,90vw\)\] {
    max-width: min(480px, 90vw);
  }
  .max-w-full {
    max-width: 100%;
  }
  .max-w-md {
    max-width: var(--container-md);
  }
  .max-w-sm {
    max-width: var(--container-sm);
  }
  .max-w-xl {
    max-width: var(--container-xl);
  }
  .max-w-xs {
    max-width: var(--container-xs);
  }
  .min-w-0 {
    min-width: calc(var(--spacing) * 0);
  }
  .min-w-12 {
    min-width: calc(var(--spacing) * 12);
  }
  .min-w-32 {
    min-width: calc(var(--spacing) * 32);
  }
  .min-w-\[48px\] {
    min-width: 48px;
  }
  .min-w-full {
    min-width: 100%;
  }
  .flex-1 {
    flex: 1;
  }
  .flex-shrink-0 {
    flex-shrink: 0;
  }
  .shrink-0 {
    flex-shrink: 0;
  }
  .flex-grow {
    flex-grow: 1;
  }
  .border-collapse {
    border-collapse: collapse;
  }
  .-translate-x-1\/2 {
    --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .-translate-y-1\/2 {
    --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .scale-105 {
    --tw-scale-x: 105%;
    --tw-scale-y: 105%;
    --tw-scale-z: 105%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }
  .scale-x-\[-1\] {
    --tw-scale-x: -1;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }
  .rotate-90 {
    rotate: 90deg;
  }
  .rotate-180 {
    rotate: 180deg;
  }
  .rotate-\[180deg\] {
    rotate: 180deg;
  }
  .transform {
    transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
  }
  .animate-spin {
    animation: var(--animate-spin);
  }
  .cursor-crosshair {
    cursor: crosshair;
  }
  .cursor-grab {
    cursor: grab;
  }
  .cursor-move {
    cursor: move;
  }
  .cursor-not-allowed {
    cursor: not-allowed;
  }
  .cursor-pointer {
    cursor: pointer;
  }
  .resize-none {
    resize: none;
  }
  .resize-y {
    resize: vertical;
  }
  .list-disc {
    list-style-type: disc;
  }
  .appearance-none {
    appearance: none;
  }
  .grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .flex-col {
    flex-direction: column;
  }
  .flex-row {
    flex-direction: row;
  }
  .flex-wrap {
    flex-wrap: wrap;
  }
  .items-center {
    align-items: center;
  }
  .items-start {
    align-items: flex-start;
  }
  .items-stretch {
    align-items: stretch;
  }
  .justify-around {
    justify-content: space-around;
  }
  .justify-between {
    justify-content: space-between;
  }
  .justify-center {
    justify-content: center;
  }
  .justify-end {
    justify-content: flex-end;
  }
  .gap-0\.5 {
    gap: calc(var(--spacing) * 0.5);
  }
  .gap-1 {
    gap: calc(var(--spacing) * 1);
  }
  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }
  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }
  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }
  .gap-5 {
    gap: calc(var(--spacing) * 5);
  }
  .gap-6 {
    gap: calc(var(--spacing) * 6);
  }
  .gap-8 {
    gap: calc(var(--spacing) * 8);
  }
  .gap-12 {
    gap: calc(var(--spacing) * 12);
  }
  .gap-16 {
    gap: calc(var(--spacing) * 16);
  }
  .space-y-1 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-2 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-3 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .gap-x-4 {
    column-gap: calc(var(--spacing) * 4);
  }
  .space-x-1 {
    :where(& > :not(:last-child)) {
      --tw-space-x-reverse: 0;
      margin-inline-start: calc(calc(var(--spacing) * 1) * var(--tw-space-x-reverse));
      margin-inline-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-x-reverse)));
    }
  }
  .gap-y-1 {
    row-gap: calc(var(--spacing) * 1);
  }
  .self-start {
    align-self: flex-start;
  }
  .truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .overflow-hidden {
    overflow: hidden;
  }
  .overflow-x-auto {
    overflow-x: auto;
  }
  .overflow-x-scroll {
    overflow-x: scroll;
  }
  .overflow-y-auto {
    overflow-y: auto;
  }
  .overflow-y-hidden {
    overflow-y: hidden;
  }
  .overscroll-contain {
    overscroll-behavior: contain;
  }
  .rounded {
    border-radius: 0.25rem;
  }
  .rounded-2xl {
    border-radius: var(--radius-2xl);
  }
  .rounded-\[1em\] {
    border-radius: 1em;
  }
  .rounded-\[10px\] {
    border-radius: 10px;
  }
  .rounded-\[50px\] {
    border-radius: 50px;
  }
  .rounded-full {
    border-radius: calc(infinity * 1px);
  }
  .rounded-lg {
    border-radius: var(--radius-lg);
  }
  .rounded-md {
    border-radius: var(--radius-md);
  }
  .rounded-sm {
    border-radius: var(--radius-sm);
  }
  .rounded-xl {
    border-radius: var(--radius-xl);
  }
  .rounded-r {
    border-top-right-radius: 0.25rem;
    border-bottom-right-radius: 0.25rem;
  }
  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .border-0 {
    border-style: var(--tw-border-style);
    border-width: 0px;
  }
  .border-2 {
    border-style: var(--tw-border-style);
    border-width: 2px;
  }
  .border-t {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
  }
  .border-r-\[12px\] {
    border-right-style: var(--tw-border-style);
    border-right-width: 12px;
  }
  .border-b {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }
  .border-b-2 {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 2px;
  }
  .border-b-\[12px\] {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 12px;
  }
  .border-l {
    border-left-style: var(--tw-border-style);
    border-left-width: 1px;
  }
  .border-l-2 {
    border-left-style: var(--tw-border-style);
    border-left-width: 2px;
  }
  .border-l-\[12px\] {
    border-left-style: var(--tw-border-style);
    border-left-width: 12px;
  }
  .border-dashed {
    --tw-border-style: dashed;
    border-style: dashed;
  }
  .border-solid {
    --tw-border-style: solid;
    border-style: solid;
  }
  .border-\[\#1f1f1f\] {
    border-color: #1f1f1f;
  }
  .border-\[\#333\] {
    border-color: #333;
  }
  .border-amber-400\/50 {
    border-color: color-mix(in srgb, oklch(82.8% 0.189 84.429) 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-amber-400) 50%, transparent);
    }
  }
  .border-amber-500\/30 {
    border-color: color-mix(in srgb, oklch(76.9% 0.188 70.08) 30%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-amber-500) 30%, transparent);
    }
  }
  .border-amber-500\/50 {
    border-color: color-mix(in srgb, oklch(76.9% 0.188 70.08) 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-amber-500) 50%, transparent);
    }
  }
  .border-black\/20 {
    border-color: color-mix(in srgb, #000 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-black) 20%, transparent);
    }
  }
  .border-blue-400 {
    border-color: var(--color-blue-400);
  }
  .border-blue-500\/50 {
    border-color: color-mix(in srgb, oklch(62.3% 0.214 259.815) 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-blue-500) 50%, transparent);
    }
  }
  .border-blue-600\/50 {
    border-color: color-mix(in srgb, oklch(54.6% 0.245 262.881) 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-blue-600) 50%, transparent);
    }
  }
  .border-gray-300 {
    border-color: var(--color-gray-300);
  }
  .border-gray-400 {
    border-color: var(--color-gray-400);
  }
  .border-gray-600 {
    border-color: var(--color-gray-600);
  }
  .border-gray-600\/50 {
    border-color: color-mix(in srgb, oklch(44.6% 0.03 256.802) 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-gray-600) 50%, transparent);
    }
  }
  .border-gray-700 {
    border-color: var(--color-gray-700);
  }
  .border-gray-800 {
    border-color: var(--color-gray-800);
  }
  .border-gray-800\/50 {
    border-color: color-mix(in srgb, oklch(27.8% 0.033 256.848) 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-gray-800) 50%, transparent);
    }
  }
  .border-green-600 {
    border-color: var(--color-green-600);
  }
  .border-green-600\/50 {
    border-color: color-mix(in srgb, oklch(62.7% 0.194 149.214) 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-green-600) 50%, transparent);
    }
  }
  .border-green-800\/50 {
    border-color: color-mix(in srgb, oklch(44.8% 0.119 151.328) 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-green-800) 50%, transparent);
    }
  }
  .border-red-600\/50 {
    border-color: color-mix(in srgb, oklch(57.7% 0.245 27.325) 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-red-600) 50%, transparent);
    }
  }
  .border-red-700 {
    border-color: var(--color-red-700);
  }
  .border-transparent {
    border-color: transparent;
  }
  .border-white {
    border-color: var(--color-white);
  }
  .border-yellow-600\/50 {
    border-color: color-mix(in srgb, oklch(68.1% 0.162 75.834) 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-yellow-600) 50%, transparent);
    }
  }
  .border-t-\[\#333\] {
    border-top-color: #333;
  }
  .border-t-green-400 {
    border-top-color: var(--color-green-400);
  }
  .border-b-amber-400 {
    border-bottom-color: var(--color-amber-400);
  }
  .border-b-blue-200 {
    border-bottom-color: var(--color-blue-200);
  }
  .border-b-blue-300 {
    border-bottom-color: var(--color-blue-300);
  }
  .border-b-gray-400 {
    border-bottom-color: var(--color-gray-400);
  }
  .border-b-white {
    border-bottom-color: var(--color-white);
  }
  .border-l-amber-400 {
    border-left-color: var(--color-amber-400);
  }
  .border-l-blue-200 {
    border-left-color: var(--color-blue-200);
  }
  .border-l-blue-300 {
    border-left-color: var(--color-blue-300);
  }
  .border-l-gray-400 {
    border-left-color: var(--color-gray-400);
  }
  .bg-\[\#0b57d0\] {
    background-color: #0b57d0;
  }
  .bg-\[\#0d0d0d\] {
    background-color: #0d0d0d;
  }
  .bg-\[\#1a1a1a\] {
    background-color: #1a1a1a;
  }
  .bg-\[\#2a272a\] {
    background-color: #2a272a;
  }
  .bg-\[\#111\] {
    background-color: #111;
  }
  .bg-\[\#333\] {
    background-color: #333;
  }
  .bg-\[\#444\] {
    background-color: #444;
  }
  .bg-\[\#1185fe\] {
    background-color: #1185fe;
  }
  .bg-\[\#232023\] {
    background-color: #232023;
  }
  .bg-\[\#333033\] {
    background-color: #333033;
  }
  .bg-\[\#343034\] {
    background-color: #343034;
  }
  .bg-\[\#fff\] {
    background-color: #fff;
  }
  .bg-amber-50 {
    background-color: var(--color-amber-50);
  }
  .bg-amber-400\/5 {
    background-color: color-mix(in srgb, oklch(82.8% 0.189 84.429) 5%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-amber-400) 5%, transparent);
    }
  }
  .bg-amber-500\/10 {
    background-color: color-mix(in srgb, oklch(76.9% 0.188 70.08) 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-amber-500) 10%, transparent);
    }
  }
  .bg-amber-500\/20 {
    background-color: color-mix(in srgb, oklch(76.9% 0.188 70.08) 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-amber-500) 20%, transparent);
    }
  }
  .bg-amber-600 {
    background-color: var(--color-amber-600);
  }
  .bg-amber-900\/40 {
    background-color: color-mix(in srgb, oklch(41.4% 0.112 45.904) 40%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-amber-900) 40%, transparent);
    }
  }
  .bg-black {
    background-color: var(--color-black);
  }
  .bg-blue-400 {
    background-color: var(--color-blue-400);
  }
  .bg-blue-500 {
    background-color: var(--color-blue-500);
  }
  .bg-blue-500\/10 {
    background-color: color-mix(in srgb, oklch(62.3% 0.214 259.815) 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-blue-500) 10%, transparent);
    }
  }
  .bg-blue-600 {
    background-color: var(--color-blue-600);
  }
  .bg-blue-600\/20 {
    background-color: color-mix(in srgb, oklch(54.6% 0.245 262.881) 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-blue-600) 20%, transparent);
    }
  }
  .bg-blue-700 {
    background-color: var(--color-blue-700);
  }
  .bg-blue-900\/30 {
    background-color: color-mix(in srgb, oklch(37.9% 0.146 265.522) 30%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-blue-900) 30%, transparent);
    }
  }
  .bg-gray-400 {
    background-color: var(--color-gray-400);
  }
  .bg-gray-600 {
    background-color: var(--color-gray-600);
  }
  .bg-gray-600\/20 {
    background-color: color-mix(in srgb, oklch(44.6% 0.03 256.802) 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-gray-600) 20%, transparent);
    }
  }
  .bg-gray-700 {
    background-color: var(--color-gray-700);
  }
  .bg-gray-700\/30 {
    background-color: color-mix(in srgb, oklch(37.3% 0.034 259.733) 30%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-gray-700) 30%, transparent);
    }
  }
  .bg-gray-700\/50 {
    background-color: color-mix(in srgb, oklch(37.3% 0.034 259.733) 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-gray-700) 50%, transparent);
    }
  }
  .bg-gray-800 {
    background-color: var(--color-gray-800);
  }
  .bg-gray-800\/20 {
    background-color: color-mix(in srgb, oklch(27.8% 0.033 256.848) 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-gray-800) 20%, transparent);
    }
  }
  .bg-gray-800\/40 {
    background-color: color-mix(in srgb, oklch(27.8% 0.033 256.848) 40%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-gray-800) 40%, transparent);
    }
  }
  .bg-gray-800\/50 {
    background-color: color-mix(in srgb, oklch(27.8% 0.033 256.848) 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-gray-800) 50%, transparent);
    }
  }
  .bg-gray-800\/60 {
    background-color: color-mix(in srgb, oklch(27.8% 0.033 256.848) 60%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-gray-800) 60%, transparent);
    }
  }
  .bg-gray-900 {
    background-color: var(--color-gray-900);
  }
  .bg-gray-900\/40 {
    background-color: color-mix(in srgb, oklch(21% 0.034 264.665) 40%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-gray-900) 40%, transparent);
    }
  }
  .bg-gray-900\/50 {
    background-color: color-mix(in srgb, oklch(21% 0.034 264.665) 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-gray-900) 50%, transparent);
    }
  }
  .bg-gray-900\/60 {
    background-color: color-mix(in srgb, oklch(21% 0.034 264.665) 60%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-gray-900) 60%, transparent);
    }
  }
  .bg-green-500 {
    background-color: var(--color-green-500);
  }
  .bg-green-600 {
    background-color: var(--color-green-600);
  }
  .bg-green-600\/20 {
    background-color: color-mix(in srgb, oklch(62.7% 0.194 149.214) 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-green-600) 20%, transparent);
    }
  }
  .bg-green-700 {
    background-color: var(--color-green-700);
  }
  .bg-green-900\/30 {
    background-color: color-mix(in srgb, oklch(39.3% 0.095 152.535) 30%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-green-900) 30%, transparent);
    }
  }
  .bg-purple-700 {
    background-color: var(--color-purple-700);
  }
  .bg-red-400 {
    background-color: var(--color-red-400);
  }
  .bg-red-600 {
    background-color: var(--color-red-600);
  }
  .bg-red-600\/20 {
    background-color: color-mix(in srgb, oklch(57.7% 0.245 27.325) 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-red-600) 20%, transparent);
    }
  }
  .bg-red-700 {
    background-color: var(--color-red-700);
  }
  .bg-red-800 {
    background-color: var(--color-red-800);
  }
  .bg-red-900\/30 {
    background-color: color-mix(in srgb, oklch(39.6% 0.141 25.723) 30%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-red-900) 30%, transparent);
    }
  }
  .bg-slate-200 {
    background-color: var(--color-slate-200);
  }
  .bg-slate-300 {
    background-color: var(--color-slate-300);
  }
  .bg-slate-500 {
    background-color: var(--color-slate-500);
  }
  .bg-transparent {
    background-color: transparent;
  }
  .bg-white {
    background-color: var(--color-white);
  }
  .bg-yellow-200 {
    background-color: var(--color-yellow-200);
  }
  .bg-yellow-600\/20 {
    background-color: color-mix(in srgb, oklch(68.1% 0.162 75.834) 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-yellow-600) 20%, transparent);
    }
  }
  .bg-yellow-700 {
    background-color: var(--color-yellow-700);
  }
  .bg-gradient-to-b {
    --tw-gradient-position: to bottom in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }
  .from-black\/80 {
    --tw-gradient-from: color-mix(in srgb, #000 80%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-gradient-from: color-mix(in oklab, var(--color-black) 80%, transparent);
    }
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-transparent {
    --tw-gradient-to: transparent;
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .bg-contain {
    background-size: contain;
  }
  .bg-center {
    background-position: center;
  }
  .fill-\[\#ddd\] {
    fill: #ddd;
  }
  .fill-gray-300 {
    fill: var(--color-gray-300);
  }
  .fill-gray-400 {
    fill: var(--color-gray-400);
  }
  .fill-white {
    fill: var(--color-white);
  }
  .object-contain {
    object-fit: contain;
  }
  .object-cover {
    object-fit: cover;
  }
  .p-0 {
    padding: calc(var(--spacing) * 0);
  }
  .p-1 {
    padding: calc(var(--spacing) * 1);
  }
  .p-2 {
    padding: calc(var(--spacing) * 2);
  }
  .p-3 {
    padding: calc(var(--spacing) * 3);
  }
  .p-4 {
    padding: calc(var(--spacing) * 4);
  }
  .p-5 {
    padding: calc(var(--spacing) * 5);
  }
  .p-6 {
    padding: calc(var(--spacing) * 6);
  }
  .p-8 {
    padding: calc(var(--spacing) * 8);
  }
  .px-0\.5 {
    padding-inline: calc(var(--spacing) * 0.5);
  }
  .px-2 {
    padding-inline: calc(var(--spacing) * 2);
  }
  .px-3 {
    padding-inline: calc(var(--spacing) * 3);
  }
  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }
  .px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }
  .px-8 {
    padding-inline: calc(var(--spacing) * 8);
  }
  .px-\[15px\] {
    padding-inline: 15px;
  }
  .py-0\.5 {
    padding-block: calc(var(--spacing) * 0.5);
  }
  .py-1 {
    padding-block: calc(var(--spacing) * 1);
  }
  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }
  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }
  .py-4 {
    padding-block: calc(var(--spacing) * 4);
  }
  .py-8 {
    padding-block: calc(var(--spacing) * 8);
  }
  .py-12 {
    padding-block: calc(var(--spacing) * 12);
  }
  .py-16 {
    padding-block: calc(var(--spacing) * 16);
  }
  .pt-0 {
    padding-top: calc(var(--spacing) * 0);
  }
  .pt-1 {
    padding-top: calc(var(--spacing) * 1);
  }
  .pt-2 {
    padding-top: calc(var(--spacing) * 2);
  }
  .pt-3 {
    padding-top: calc(var(--spacing) * 3);
  }
  .pt-4 {
    padding-top: calc(var(--spacing) * 4);
  }
  .pt-6 {
    padding-top: calc(var(--spacing) * 6);
  }
  .pt-8 {
    padding-top: calc(var(--spacing) * 8);
  }
  .pt-12 {
    padding-top: calc(var(--spacing) * 12);
  }
  .pt-\[1px\] {
    padding-top: 1px;
  }
  .pr-2 {
    padding-right: calc(var(--spacing) * 2);
  }
  .pr-3 {
    padding-right: calc(var(--spacing) * 3);
  }
  .pr-4 {
    padding-right: calc(var(--spacing) * 4);
  }
  .pb-1 {
    padding-bottom: calc(var(--spacing) * 1);
  }
  .pb-2 {
    padding-bottom: calc(var(--spacing) * 2);
  }
  .pb-4 {
    padding-bottom: calc(var(--spacing) * 4);
  }
  .pb-6 {
    padding-bottom: calc(var(--spacing) * 6);
  }
  .pb-8 {
    padding-bottom: calc(var(--spacing) * 8);
  }
  .pb-12 {
    padding-bottom: calc(var(--spacing) * 12);
  }
  .pb-16 {
    padding-bottom: calc(var(--spacing) * 16);
  }
  .pb-20 {
    padding-bottom: calc(var(--spacing) * 20);
  }
  .pb-24 {
    padding-bottom: calc(var(--spacing) * 24);
  }
  .pb-40 {
    padding-bottom: calc(var(--spacing) * 40);
  }
  .pl-2 {
    padding-left: calc(var(--spacing) * 2);
  }
  .pl-3 {
    padding-left: calc(var(--spacing) * 3);
  }
  .pl-4 {
    padding-left: calc(var(--spacing) * 4);
  }
  .pl-6 {
    padding-left: calc(var(--spacing) * 6);
  }
  .pl-12 {
    padding-left: calc(var(--spacing) * 12);
  }
  .text-center {
    text-align: center;
  }
  .text-left {
    text-align: left;
  }
  .text-right {
    text-align: right;
  }
  .font-mono {
    font-family: var(--font-mono);
  }
  .font-sans {
    font-family: var(--font-sans);
  }
  .text-2xl {
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--line-height));
  }
  .text-3xl {
    font-size: var(--text-3xl);
    line-height: var(--tw-leading, var(--text-3xl--line-height));
  }
  .text-4xl {
    font-size: var(--text-4xl);
    line-height: var(--tw-leading, var(--text-4xl--line-height));
  }
  .text-base {
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
  }
  .text-lg {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
  }
  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }
  .text-xl {
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
  }
  .text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }
  .text-\[8px\] {
    font-size: 8px;
  }
  .text-\[10px\] {
    font-size: 10px;
  }
  .leading-none {
    --tw-leading: 1;
    line-height: 1;
  }
  .leading-relaxed {
    --tw-leading: var(--leading-relaxed);
    line-height: var(--leading-relaxed);
  }
  .leading-tight {
    --tw-leading: var(--leading-tight);
    line-height: var(--leading-tight);
  }
  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }
  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }
  .font-normal {
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
  }
  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }
  .tracking-tight {
    --tw-tracking: var(--tracking-tight);
    letter-spacing: var(--tracking-tight);
  }
  .tracking-wide {
    --tw-tracking: var(--tracking-wide);
    letter-spacing: var(--tracking-wide);
  }
  .tracking-wider {
    --tw-tracking: var(--tracking-wider);
    letter-spacing: var(--tracking-wider);
  }
  .break-words {
    overflow-wrap: break-word;
  }
  .break-all {
    word-break: break-all;
  }
  .text-ellipsis {
    text-overflow: ellipsis;
  }
  .hyphens-auto {
    -webkit-hyphens: auto;
    hyphens: auto;
  }
  .whitespace-nowrap {
    white-space: nowrap;
  }
  .whitespace-pre-line {
    white-space: pre-line;
  }
  .whitespace-pre-wrap {
    white-space: pre-wrap;
  }
  .text-\[\#111\] {
    color: #111;
  }
  .text-\[\#ddd\] {
    color: #ddd;
  }
  .text-amber-200 {
    color: var(--color-amber-200);
  }
  .text-amber-300 {
    color: var(--color-amber-300);
  }
  .text-amber-400 {
    color: var(--color-amber-400);
  }
  .text-black {
    color: var(--color-black);
  }
  .text-blue-300 {
    color: var(--color-blue-300);
  }
  .text-blue-400 {
    color: var(--color-blue-400);
  }
  .text-emerald-400 {
    color: var(--color-emerald-400);
  }
  .text-gray-100 {
    color: var(--color-gray-100);
  }
  .text-gray-200 {
    color: var(--color-gray-200);
  }
  .text-gray-300 {
    color: var(--color-gray-300);
  }
  .text-gray-400 {
    color: var(--color-gray-400);
  }
  .text-gray-500 {
    color: var(--color-gray-500);
  }
  .text-gray-600 {
    color: var(--color-gray-600);
  }
  .text-green-400 {
    color: var(--color-green-400);
  }
  .text-orange-400 {
    color: var(--color-orange-400);
  }
  .text-red-300 {
    color: var(--color-red-300);
  }
  .text-red-400 {
    color: var(--color-red-400);
  }
  .text-red-500 {
    color: var(--color-red-500);
  }
  .text-red-700 {
    color: var(--color-red-700);
  }
  .text-slate-200 {
    color: var(--color-slate-200);
  }
  .text-slate-300 {
    color: var(--color-slate-300);
  }
  .text-slate-400 {
    color: var(--color-slate-400);
  }
  .text-white {
    color: var(--color-white);
  }
  .text-yellow-400 {
    color: var(--color-yellow-400);
  }
  .text-yellow-500 {
    color: var(--color-yellow-500);
  }
  .uppercase {
    text-transform: uppercase;
  }
  .italic {
    font-style: italic;
  }
  .tabular-nums {
    --tw-numeric-spacing: tabular-nums;
    font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);
  }
  .line-through {
    text-decoration-line: line-through;
  }
  .no-underline {
    text-decoration-line: none;
  }
  .underline {
    text-decoration-line: underline;
  }
  .decoration-gray-500 {
    text-decoration-color: var(--color-gray-500);
  }
  .decoration-1 {
    text-decoration-thickness: 1px;
  }
  .underline-offset-2 {
    text-underline-offset: 2px;
  }
  .underline-offset-4 {
    text-underline-offset: 4px;
  }
  .placeholder-gray-500 {
    &::placeholder {
      color: var(--color-gray-500);
    }
  }
  .accent-slate-300 {
    accent-color: var(--color-slate-300);
  }
  .accent-white {
    accent-color: var(--color-white);
  }
  .opacity-50 {
    opacity: 50%;
  }
  .opacity-60 {
    opacity: 60%;
  }
  .shadow {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-lg {
    --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .outline {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }
  .blur {
    --tw-blur: blur(8px);
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .filter {
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-\[width\] {
    transition-property: width;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-all {
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-colors {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-transform {
    transition-property: transform, translate, scale, rotate;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .duration-100 {
    --tw-duration: 100ms;
    transition-duration: 100ms;
  }
  .duration-150 {
    --tw-duration: 150ms;
    transition-duration: 150ms;
  }
  .duration-200 {
    --tw-duration: 200ms;
    transition-duration: 200ms;
  }
  .duration-300 {
    --tw-duration: 300ms;
    transition-duration: 300ms;
  }
  .ease-in-out {
    --tw-ease: var(--ease-in-out);
    transition-timing-function: var(--ease-in-out);
  }
  .ease-out {
    --tw-ease: var(--ease-out);
    transition-timing-function: var(--ease-out);
  }
  .outline-none {
    --tw-outline-style: none;
    outline-style: none;
  }
  .select-all {
    -webkit-user-select: all;
    user-select: all;
  }
  .select-none {
    -webkit-user-select: none;
    user-select: none;
  }
  .select-text {
    -webkit-user-select: text;
    user-select: text;
  }
  .\[writing-mode\:vertical-lr\] {
    writing-mode: vertical-lr;
  }
  .group-hover\:bg-white {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        background-color: var(--color-white);
      }
    }
  }
  .hover\:block {
    &:hover {
      @media (hover: hover) {
        display: block;
      }
    }
  }
  .hover\:hidden {
    &:hover {
      @media (hover: hover) {
        display: none;
      }
    }
  }
  .hover\:scale-105 {
    &:hover {
      @media (hover: hover) {
        --tw-scale-x: 105%;
        --tw-scale-y: 105%;
        --tw-scale-z: 105%;
        scale: var(--tw-scale-x) var(--tw-scale-y);
      }
    }
  }
  .hover\:border-gray-200 {
    &:hover {
      @media (hover: hover) {
        border-color: var(--color-gray-200);
      }
    }
  }
  .hover\:border-gray-400 {
    &:hover {
      @media (hover: hover) {
        border-color: var(--color-gray-400);
      }
    }
  }
  .hover\:border-white {
    &:hover {
      @media (hover: hover) {
        border-color: var(--color-white);
      }
    }
  }
  .hover\:bg-\[\#3b7de0\] {
    &:hover {
      @media (hover: hover) {
        background-color: #3b7de0;
      }
    }
  }
  .hover\:bg-\[\#3da1fe\] {
    &:hover {
      @media (hover: hover) {
        background-color: #3da1fe;
      }
    }
  }
  .hover\:bg-\[\#222\] {
    &:hover {
      @media (hover: hover) {
        background-color: #222;
      }
    }
  }
  .hover\:bg-\[\#343034\] {
    &:hover {
      @media (hover: hover) {
        background-color: #343034;
      }
    }
  }
  .hover\:bg-\[\#373737\] {
    &:hover {
      @media (hover: hover) {
        background-color: #373737;
      }
    }
  }
  .hover\:bg-amber-500 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-amber-500);
      }
    }
  }
  .hover\:bg-blue-500 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-blue-500);
      }
    }
  }
  .hover\:bg-blue-600 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-blue-600);
      }
    }
  }
  .hover\:bg-gray-500 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-gray-500);
      }
    }
  }
  .hover\:bg-gray-600 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-gray-600);
      }
    }
  }
  .hover\:bg-gray-700\/50 {
    &:hover {
      @media (hover: hover) {
        background-color: color-mix(in srgb, oklch(37.3% 0.034 259.733) 50%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-gray-700) 50%, transparent);
        }
      }
    }
  }
  .hover\:bg-gray-800 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-gray-800);
      }
    }
  }
  .hover\:bg-gray-800\/70 {
    &:hover {
      @media (hover: hover) {
        background-color: color-mix(in srgb, oklch(27.8% 0.033 256.848) 70%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-gray-800) 70%, transparent);
        }
      }
    }
  }
  .hover\:bg-green-500 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-green-500);
      }
    }
  }
  .hover\:bg-green-600 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-green-600);
      }
    }
  }
  .hover\:bg-purple-600 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-purple-600);
      }
    }
  }
  .hover\:bg-red-400 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-red-400);
      }
    }
  }
  .hover\:bg-red-500 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-red-500);
      }
    }
  }
  .hover\:bg-red-600 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-red-600);
      }
    }
  }
  .hover\:bg-red-700 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-red-700);
      }
    }
  }
  .hover\:bg-slate-100 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-slate-100);
      }
    }
  }
  .hover\:bg-slate-200 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-slate-200);
      }
    }
  }
  .hover\:bg-yellow-600 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-yellow-600);
      }
    }
  }
  .hover\:fill-red-600 {
    &:hover {
      @media (hover: hover) {
        fill: var(--color-red-600);
      }
    }
  }
  .hover\:fill-white {
    &:hover {
      @media (hover: hover) {
        fill: var(--color-white);
      }
    }
  }
  .hover\:text-blue-200 {
    &:hover {
      @media (hover: hover) {
        color: var(--color-blue-200);
      }
    }
  }
  .hover\:text-blue-300 {
    &:hover {
      @media (hover: hover) {
        color: var(--color-blue-300);
      }
    }
  }
  .hover\:text-emerald-300 {
    &:hover {
      @media (hover: hover) {
        color: var(--color-emerald-300);
      }
    }
  }
  .hover\:text-gray-200 {
    &:hover {
      @media (hover: hover) {
        color: var(--color-gray-200);
      }
    }
  }
  .hover\:text-gray-300 {
    &:hover {
      @media (hover: hover) {
        color: var(--color-gray-300);
      }
    }
  }
  .hover\:text-red-300 {
    &:hover {
      @media (hover: hover) {
        color: var(--color-red-300);
      }
    }
  }
  .hover\:text-red-400 {
    &:hover {
      @media (hover: hover) {
        color: var(--color-red-400);
      }
    }
  }
  .hover\:text-slate-50 {
    &:hover {
      @media (hover: hover) {
        color: var(--color-slate-50);
      }
    }
  }
  .hover\:text-white {
    &:hover {
      @media (hover: hover) {
        color: var(--color-white);
      }
    }
  }
  .hover\:underline {
    &:hover {
      @media (hover: hover) {
        text-decoration-line: underline;
      }
    }
  }
  .hover\:decoration-gray-300 {
    &:hover {
      @media (hover: hover) {
        text-decoration-color: var(--color-gray-300);
      }
    }
  }
  .hover\:opacity-90 {
    &:hover {
      @media (hover: hover) {
        opacity: 90%;
      }
    }
  }
  .hover\:brightness-125 {
    &:hover {
      @media (hover: hover) {
        --tw-brightness: brightness(125%);
        filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
      }
    }
  }
  .focus\:border-\[\#1a1a1a\] {
    &:focus {
      border-color: #1a1a1a;
    }
  }
  .focus\:border-blue-500 {
    &:focus {
      border-color: var(--color-blue-500);
    }
  }
  .focus\:outline-2 {
    &:focus {
      outline-style: var(--tw-outline-style);
      outline-width: 2px;
    }
  }
  .focus\:outline-white {
    &:focus {
      outline-color: var(--color-white);
    }
  }
  .focus\:outline-none {
    &:focus {
      --tw-outline-style: none;
      outline-style: none;
    }
  }
  .disabled\:cursor-not-allowed {
    &:disabled {
      cursor: not-allowed;
    }
  }
  .disabled\:opacity-50 {
    &:disabled {
      opacity: 50%;
    }
  }
  .sm\:relative {
    @media (width >= 40rem) {
      position: relative;
    }
  }
  .sm\:mr-2 {
    @media (width >= 40rem) {
      margin-right: calc(var(--spacing) * 2);
    }
  }
  .sm\:ml-2 {
    @media (width >= 40rem) {
      margin-left: calc(var(--spacing) * 2);
    }
  }
  .sm\:ml-4 {
    @media (width >= 40rem) {
      margin-left: calc(var(--spacing) * 4);
    }
  }
  .sm\:ml-8 {
    @media (width >= 40rem) {
      margin-left: calc(var(--spacing) * 8);
    }
  }
  .sm\:ml-36 {
    @media (width >= 40rem) {
      margin-left: calc(var(--spacing) * 36);
    }
  }
  .sm\:block {
    @media (width >= 40rem) {
      display: block;
    }
  }
  .sm\:flex {
    @media (width >= 40rem) {
      display: flex;
    }
  }
  .sm\:hidden {
    @media (width >= 40rem) {
      display: none;
    }
  }
  .sm\:h-16 {
    @media (width >= 40rem) {
      height: calc(var(--spacing) * 16);
    }
  }
  .sm\:h-40 {
    @media (width >= 40rem) {
      height: calc(var(--spacing) * 40);
    }
  }
  .sm\:min-h-40 {
    @media (width >= 40rem) {
      min-height: calc(var(--spacing) * 40);
    }
  }
  .sm\:min-h-screen {
    @media (width >= 40rem) {
      min-height: 100vh;
    }
  }
  .sm\:w-40 {
    @media (width >= 40rem) {
      width: calc(var(--spacing) * 40);
    }
  }
  .sm\:w-48 {
    @media (width >= 40rem) {
      width: calc(var(--spacing) * 48);
    }
  }
  .sm\:w-64 {
    @media (width >= 40rem) {
      width: calc(var(--spacing) * 64);
    }
  }
  .sm\:w-80 {
    @media (width >= 40rem) {
      width: calc(var(--spacing) * 80);
    }
  }
  .sm\:w-120 {
    @media (width >= 40rem) {
      width: calc(var(--spacing) * 120);
    }
  }
  .sm\:w-128 {
    @media (width >= 40rem) {
      width: calc(var(--spacing) * 128);
    }
  }
  .sm\:w-160 {
    @media (width >= 40rem) {
      width: calc(var(--spacing) * 160);
    }
  }
  .sm\:w-\[40em\] {
    @media (width >= 40rem) {
      width: 40em;
    }
  }
  .sm\:min-w-40 {
    @media (width >= 40rem) {
      min-width: calc(var(--spacing) * 40);
    }
  }
  .sm\:flex-row {
    @media (width >= 40rem) {
      flex-direction: row;
    }
  }
  .sm\:items-center {
    @media (width >= 40rem) {
      align-items: center;
    }
  }
  .sm\:items-start {
    @media (width >= 40rem) {
      align-items: flex-start;
    }
  }
  .sm\:justify-between {
    @media (width >= 40rem) {
      justify-content: space-between;
    }
  }
  .sm\:gap-32 {
    @media (width >= 40rem) {
      gap: calc(var(--spacing) * 32);
    }
  }
  .sm\:overflow-x-hidden {
    @media (width >= 40rem) {
      overflow-x: hidden;
    }
  }
  .sm\:rounded {
    @media (width >= 40rem) {
      border-radius: 0.25rem;
    }
  }
  .sm\:p-1 {
    @media (width >= 40rem) {
      padding: calc(var(--spacing) * 1);
    }
  }
  .sm\:p-8 {
    @media (width >= 40rem) {
      padding: calc(var(--spacing) * 8);
    }
  }
  .sm\:px-6 {
    @media (width >= 40rem) {
      padding-inline: calc(var(--spacing) * 6);
    }
  }
  .sm\:pr-3 {
    @media (width >= 40rem) {
      padding-right: calc(var(--spacing) * 3);
    }
  }
  .sm\:pl-3 {
    @media (width >= 40rem) {
      padding-left: calc(var(--spacing) * 3);
    }
  }
  .sm\:pl-8 {
    @media (width >= 40rem) {
      padding-left: calc(var(--spacing) * 8);
    }
  }
  .md\:block {
    @media (width >= 48rem) {
      display: block;
    }
  }
  .md\:hidden {
    @media (width >= 48rem) {
      display: none;
    }
  }
  .md\:grid-cols-\[0\.4fr_1fr\] {
    @media (width >= 48rem) {
      grid-template-columns: 0.4fr 1fr;
    }
  }
  .lg\:block {
    @media (width >= 64rem) {
      display: block;
    }
  }
  .lg\:flex {
    @media (width >= 64rem) {
      display: flex;
    }
  }
  .lg\:hidden {
    @media (width >= 64rem) {
      display: none;
    }
  }
  .lg\:grid-cols-\[0\.4fr_1fr_0\.4fr\] {
    @media (width >= 64rem) {
      grid-template-columns: 0.4fr 1fr 0.4fr;
    }
  }
}
body {
  -webkit-user-select: none;
  user-select: none;
}
@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-z {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-scale-x {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-scale-y {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-scale-z {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-rotate-x {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-y {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-z {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-x {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-y {
  syntax: "*";
  inherits: false;
}
@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-space-x-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-gradient-position {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-from {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-via {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-to {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-stops {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-via-stops {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-from-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0%;
}
@property --tw-gradient-via-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 50%;
}
@property --tw-gradient-to-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-leading {
  syntax: "*";
  inherits: false;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-tracking {
  syntax: "*";
  inherits: false;
}
@property --tw-ordinal {
  syntax: "*";
  inherits: false;
}
@property --tw-slashed-zero {
  syntax: "*";
  inherits: false;
}
@property --tw-numeric-figure {
  syntax: "*";
  inherits: false;
}
@property --tw-numeric-spacing {
  syntax: "*";
  inherits: false;
}
@property --tw-numeric-fraction {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-ring-inset {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0px;
}
@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}
@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false;
}
@property --tw-duration {
  syntax: "*";
  inherits: false;
}
@property --tw-ease {
  syntax: "*";
  inherits: false;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *, ::before, ::after, ::backdrop {
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      --tw-scale-z: 1;
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-space-y-reverse: 0;
      --tw-space-x-reverse: 0;
      --tw-border-style: solid;
      --tw-gradient-position: initial;
      --tw-gradient-from: #0000;
      --tw-gradient-via: #0000;
      --tw-gradient-to: #0000;
      --tw-gradient-stops: initial;
      --tw-gradient-via-stops: initial;
      --tw-gradient-from-position: 0%;
      --tw-gradient-via-position: 50%;
      --tw-gradient-to-position: 100%;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-ordinal: initial;
      --tw-slashed-zero: initial;
      --tw-numeric-figure: initial;
      --tw-numeric-spacing: initial;
      --tw-numeric-fraction: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-outline-style: solid;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-duration: initial;
      --tw-ease: initial;
    }
  }
}

/* ============================================================================
   App shell layout (hand-authored — NOT generated by any build step).
   On desktop (>=640px) the sidebar + page header stay fixed and only the inner
   content region scrolls. On mobile the rules are off, so the page keeps its
   normal document scroll. These are intentionally unlayered so they win over
   the @layer utilities above without needing !important.
   ============================================================================ */
@media (min-width: 640px) {
  body { overflow: hidden; }
  /* the flex row: sidebar | content column | right rail. Keep the row's mt-2
     (8px) for a top gap; shrink height to compensate so the shell still totals
     100vh (no overflow). Side gaps come from the row's sm:mr-2/sm:ml-2. */
  /* Reserve the bottom row for the fixed player (+ an 8px gap) so the page panel
     ends above it with a visible gap; the row's mt-2 gives the 8px top gap. */
  .nd-shell { height: calc(100vh - 104px); overflow: hidden; }
  /* the content column = the "page" panel: a neutral light rounded card brought
     forward from the black canvas (like the sidebar). The poem color lives only
     in the cards (the hero), not on the page itself. */
  .nd-content {
    height: 100%; min-height: 0; flex: 1 1 0; min-width: 0;
    display: flex; flex-direction: column; overflow: hidden;
    background: var(--panel);
    border: 1px solid var(--line); border-radius: var(--r-lg);
  }
  /* the ONLY scroll region (wraps the route Outlet + footer). Vertical only —
     horizontal is clipped so just the rails (their own overflow-x:auto) scroll
     sideways, never the content column. */
  .nd-scroll { flex: 1 1 auto; min-height: 0; overflow-y: auto; overflow-x: hidden; }
}

/* ============================================================================
   REDESIGN — Spotify-style theme (hand-authored, unlayered so it wins over the
   @layer utilities above). Tokens + chrome + homepage classes ported from the
   reference prototype. Real images go inside .cover/.avatar (no gradient art).
   ============================================================================ */
:root {
  /* surfaces — warm near-black */
  --bg:         oklch(0.135 0.005 55);
  --panel:      oklch(0.185 0.006 55);
  --panel-2:    oklch(0.205 0.007 55);
  --card:       oklch(0.215 0.008 55);
  --card-hover: oklch(0.255 0.010 55);
  --inset:      oklch(0.165 0.006 55);
  /* lines */
  --line:        oklch(1 0 0 / 0.07);
  --line-strong: oklch(1 0 0 / 0.12);
  /* text */
  --tx:   oklch(0.975 0.004 70);
  --tx-2: oklch(0.745 0.012 65);
  --tx-3: oklch(0.575 0.012 60);
  /* warm orange accent */
  --accent:      oklch(0.715 0.165 47);
  --accent-soft: oklch(0.715 0.165 47 / 0.16);
  --accent-line: oklch(0.715 0.165 47 / 0.32);
  --accent-hi:   oklch(0.775 0.155 50);
  --accent-lo:   oklch(0.655 0.16 45);
  --on-accent:   oklch(0.18 0.03 50);
  /* radii */
  --r-sm: 10px;
  --r: 14px;
  --r-lg: 18px;
  --r-xl: 26px;
  --r-pill: 999px;
  /* type */
  --f-display: 'Schibsted Grotesk', 'hankengrotesk', system-ui, sans-serif;
  --f-ui: 'hankengrotesk', system-ui, sans-serif;
  /* shadows */
  --shadow-card: 0 1px 0 oklch(1 0 0 / 0.04) inset, 0 8px 24px oklch(0 0 0 / 0.35);
  --shadow-pop:  0 18px 50px oklch(0 0 0 / 0.55);
}

body {
  background: var(--bg);
  color: var(--tx);
  font-family: var(--f-ui);
  -webkit-font-smoothing: antialiased;
  /* The window never scrolls sideways at any size; rails are their own
     overflow-x:auto scroll containers, so only they scroll horizontally. */
  overflow-x: hidden;
}
::selection { background: var(--accent-soft); color: var(--tx); }

/* Currently-playing poem's cover color, set on <body> from Rust (plain custom
   property, no animation — defaults to --panel so the gradient stays valid pre-JS). */
:root { --poem-color: oklch(0.185 0.006 55); }

/* thin scrollbar on the inner scroll region */
.nd-scroll { scrollbar-width: thin; scrollbar-color: oklch(1 0 0 / 0.16) transparent; }
.nd-scroll::-webkit-scrollbar { width: 11px; }
.nd-scroll::-webkit-scrollbar-thumb { background: oklch(1 0 0 / 0.14); border-radius: 99px; border: 3px solid transparent; background-clip: content-box; }
.nd-scroll::-webkit-scrollbar-thumb:hover { background: oklch(1 0 0 / 0.26); background-clip: content-box; }

/* ---- buttons ---- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  height: 38px; padding: 0 17px; border-radius: var(--r-pill);
  font-size: 13.5px; font-weight: 700; letter-spacing: 0.01em; white-space: nowrap;
  transition: transform .12s, background .15s, color .15s, border-color .15s;
}
.btn:active { transform: scale(0.96); }
.btn-accent { background: var(--accent); color: var(--on-accent); }
.btn-accent:hover { background: var(--accent-hi); }
.btn-soft { background: oklch(1 0 0 / 0.07); color: var(--tx); }
.btn-soft:hover { background: oklch(1 0 0 / 0.12); }
.btn-ghost { background: transparent; color: var(--tx-2); border: 1px solid var(--line-strong); }
.btn-ghost:hover { color: var(--tx); border-color: oklch(1 0 0 / 0.28); }
.btn-sm { height: 32px; padding: 0 13px; font-size: 12.5px; }
.btn-block { width: 100%; }

.iconbtn {
  display: inline-grid; place-items: center; width: 38px; height: 38px;
  border-radius: 50%; color: var(--tx-2); cursor: pointer;
  transition: color .15s, background .15s, transform .12s;
}
.iconbtn:hover { color: var(--tx); background: oklch(1 0 0 / 0.07); }
.iconbtn:active { transform: scale(0.92); }
.iconbtn svg { width: 20px; height: 20px; }

/* big orange circular play */
.play-fab {
  display: inline-grid; place-items: center; width: 50px; height: 50px;
  border-radius: 50%; background: var(--accent); color: var(--on-accent); cursor: pointer;
  box-shadow: 0 10px 26px oklch(0.715 0.165 47 / 0.42);
  transition: transform .14s, background .15s;
}
.play-fab:hover { transform: scale(1.06); background: var(--accent-hi); }
.play-fab:active { transform: scale(0.97); }
.play-fab svg { width: 22px; height: 22px; }

/* ---- image primitives (real <img> inside) ---- */
.cover, .avatar {
  position: relative; flex: 0 0 auto; overflow: hidden;
  background: var(--card); display: grid; place-items: center;
}
.cover { border-radius: var(--r-sm); box-shadow: var(--shadow-card); }
.avatar { border-radius: 50%; }
.cover img, .avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ---- sidebar (visual only; positioning handled by nd-shell) ---- */
/* Neutral light panel — the poem color lives on the page panel + hero, not here. */
.sidebar {
  background: var(--panel);
  border: 1px solid var(--line); border-radius: var(--r-lg);
}
/* Inner-page header — transparent, with a clear divider line under it. */
.app-header { background: transparent; border-bottom: 1px solid var(--line); }
/* White flame glyph + a glow that follows the flame silhouette (drop-shadow,
   not box-shadow, so it emanates from the logo shape — not a square). */
.brand-glow { color: #fff; filter: drop-shadow(0 0 4px oklch(1 0 0 / 0.55)) drop-shadow(0 0 12px oklch(1 0 0 / 0.35)); }
.brand-glow svg { display: block; width: 32px; height: 32px; }
/* Bottom player bar (both desktop + mobile floater) — neutral light panel. */
.nd-player { background: var(--panel); }
.brand { display: flex; align-items: center; gap: 11px; padding: 16px 18px 14px; cursor: pointer; }
.brand-mark {
  width: 32px; height: 32px; flex: 0 0 auto; border-radius: 9px;
  background: linear-gradient(150deg, var(--accent-hi), var(--accent-lo));
  display: grid; place-items: center; box-shadow: 0 4px 14px oklch(0.715 0.165 47 / 0.4);
}
.brand-mark svg { width: 20px; height: 20px; }
.brand-name { font-family: var(--f-display); font-weight: 800; font-size: 20px; letter-spacing: -0.02em; color: var(--tx); }
.nav { display: flex; flex-direction: column; gap: 2px; padding: 4px 10px; }
.nav-item {
  display: flex; align-items: center; gap: 14px; height: 44px; padding: 0 14px;
  border-radius: var(--r-sm); color: var(--tx-2); font-size: 15px; font-weight: 600;
  position: relative; cursor: pointer; transition: background .15s, color .15s;
}
.nav-item:hover { color: var(--tx); background: oklch(1 0 0 / 0.04); }
.nav-item.active { color: var(--tx); background: var(--card); }
.nav-item.active::before {
  content: ""; position: absolute; left: -10px; top: 50%; transform: translateY(-50%);
  width: 4px; height: 22px; border-radius: 0 4px 4px 0; background: var(--accent);
}
.nav-item svg { width: 21px; height: 21px; flex: 0 0 auto; }
.side-divider { height: 1px; background: var(--line); margin: 8px 18px; }
.side-scroll { padding: 4px 10px 14px; }
.promo { background: transparent; border: 1px solid var(--line); border-radius: var(--r); padding: 16px; margin-top: 10px; }
.promo-row { display: flex; align-items: center; gap: 9px; color: var(--tx); }
.promo-row svg { width: 18px; height: 18px; flex: 0 0 auto; }
.promo-title { font-size: 14px; font-weight: 700; letter-spacing: -0.01em; white-space: nowrap; }
.promo-text { font-size: 12.5px; color: var(--tx-3); margin: 8px 0 13px; line-height: 1.45; }

/* ---- header (visual only) ---- */
.header { display: flex; align-items: center; gap: 16px; padding: 12px 22px; }
.search {
  flex: 1; max-width: 520px; display: flex; align-items: center; gap: 11px;
  height: 44px; padding: 0 16px; background: var(--inset); border: 1px solid var(--line);
  border-radius: var(--r-pill); color: var(--tx-3); transition: border-color .15s, background .15s;
}
.search:focus-within { border-color: var(--accent-line); }
.search svg { width: 20px; height: 20px; flex: 0 0 auto; fill: var(--tx-3); }
.search input { flex: 1; background: none; border: none; outline: none; color: var(--tx); font-family: inherit; font-size: 14.5px; }
.search input::placeholder { color: var(--tx-3); }
.avatar-btn {
  width: 38px; height: 38px; border-radius: 50%; overflow: hidden; cursor: pointer;
  border: 2px solid oklch(1 0 0 / 0.12); transition: transform .12s, border-color .15s;
  display: grid; place-items: center; color: var(--tx);
}
.avatar-btn:hover { border-color: oklch(1 0 0 / 0.3); transform: scale(1.04); }
.avatar-btn img { width: 100%; height: 100%; object-fit: cover; }

/* ---- bottom player ---- */
.player {
  display: grid; grid-template-columns: minmax(200px, 1fr) minmax(340px, 2fr) minmax(200px, 1fr);
  align-items: center; gap: 16px; padding: 10px 18px;
  background: var(--panel); color: var(--tx);
}
.np { display: flex; align-items: center; gap: 14px; min-width: 0; }
.np .cover { width: 52px; height: 52px; }
.np-meta { min-width: 0; }
.np-title { font-weight: 600; font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.np-title:hover { text-decoration: underline; cursor: pointer; }
.np-poet { font-size: 12.5px; color: var(--tx-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.np-poet:hover { color: var(--tx-2); cursor: pointer; }
.transport { display: flex; flex-direction: column; align-items: center; gap: 9px; }
.transport-btns { display: flex; align-items: center; gap: 8px; }
.progress { display: flex; align-items: center; gap: 12px; width: 100%; }
.progress-time { font-size: 11.5px; color: var(--tx-3); font-variant-numeric: tabular-nums; min-width: 34px; text-align: center; }
.bar { flex: 1; height: 5px; border-radius: 99px; background: oklch(1 0 0 / 0.13); position: relative; cursor: pointer; }
.bar-fill { position: absolute; inset: 0 auto 0 0; border-radius: 99px; background: var(--tx); }
.player-right { display: flex; align-items: center; justify-content: flex-end; gap: 4px; }

/* ---- homepage ---- */
.content-pad { padding: 12px 30px 48px; max-width: 1180px; margin: 0; }
.eyebrow { font-size: 12px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--tx-2); }
.section { margin-top: 38px; min-width: 0; }
.section-head { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 18px; }
.section-title { font-family: var(--f-display); font-weight: 700; font-size: 22px; letter-spacing: -0.02em; color: var(--tx); }
.section-link { font-size: 13px; font-weight: 700; color: var(--tx-3); letter-spacing: 0.03em; text-transform: uppercase; cursor: pointer; }
.section-link:hover { color: var(--tx); }
/* Single horizontal-scroll row. overflow-x:auto makes the rail its own scroll
   container, so its (wide) content can't push the page width out. */
.rail { display: flex; gap: 16px; overflow-x: auto; overflow-y: hidden; padding-bottom: 8px; min-width: 0; scrollbar-width: thin; scrollbar-color: oklch(1 0 0 / 0.16) transparent; }
.rail::-webkit-scrollbar { height: 10px; }
.rail::-webkit-scrollbar-thumb { background: oklch(1 0 0 / 0.14); border-radius: 99px; border: 3px solid transparent; background-clip: content-box; }
.rail::-webkit-scrollbar-thumb:hover { background: oklch(1 0 0 / 0.26); background-clip: content-box; }

/* Card accent gradient from the top-left corner (like the hero, scaled down for
   the smaller card). Tight spread so the tint glows at the top-left and fades to
   normal by the bottom-left corner — a gradual, prominent fade. No border. */
.poet-card, .coll-card { text-align: left; padding: 16px; border-radius: var(--r); background: radial-gradient(120% 100% at 0% 0%, var(--card-color, transparent), transparent); transition: background .18s; cursor: pointer; flex: 0 0 auto; width: 168px; }
.poet-card:hover, .coll-card:hover { background: radial-gradient(120% 100% at 0% 0%, var(--card-color, transparent), transparent), var(--card); }
.poet-card .avatar { width: 130px; height: 130px; margin: 0 auto 14px; }
.pc-name { font-weight: 700; font-size: 15px; text-align: center; letter-spacing: -0.01em; color: var(--tx); max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pc-role { font-size: 13px; color: var(--tx-3); text-align: center; margin-top: 3px; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.coll-card { position: relative; }
.coll-art { width: 100%; aspect-ratio: 1; border-radius: var(--r-sm); margin-bottom: 14px; }
.coll-name { font-weight: 700; font-size: 15px; letter-spacing: -0.01em; color: var(--tx); max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.coll-sub { font-size: 13px; color: var(--tx-3); margin-top: 4px; line-height: 1.4; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.coll-play { position: absolute; right: 24px; top: 120px; opacity: 0; transform: translateY(8px); transition: opacity .2s, transform .2s; }
.coll-card:hover .coll-play { opacity: 1; transform: translateY(0); }

.hero {
  position: relative; overflow: hidden; border-radius: var(--r-xl);
  padding: 30px; display: flex; align-items: center; gap: 30px; margin-top: 18px;
  /* Soft, diffuse glow of the cover's dominant color from the top-left corner.
     One continuous fade to transparent at the ellipse edge — no border, no ring. */
  background: radial-gradient(100% 120% at 0% 0%, var(--poem-color), transparent), var(--panel-2);
}
.hero-art { width: 188px; height: 188px; border-radius: var(--r); flex: 0 0 auto; box-shadow: var(--shadow-pop); }
.hero-body { flex: 1; min-width: 0; }
.hero-meta { display: flex; align-items: center; gap: 11px; color: var(--tx-2); font-size: 14px; }
.hero-meta .avatar { width: 24px; height: 24px; }
.hero-title { font-family: var(--f-display); font-weight: 800; font-size: clamp(32px, 4.4vw, 52px); line-height: 1.0; letter-spacing: -0.03em; margin: 10px 0 14px; color: var(--tx); }
.hero-actions { display: flex; align-items: center; gap: 14px; margin-top: 26px; }

/* "Made for You"-style numbered track-list (home "Recent Poems") */
.track-list { display: flex; flex-direction: column; gap: 1px; }
.track {
  display: grid;
  grid-template-columns: 28px 40px 1fr auto auto;
  align-items: center;
  gap: 14px;
  padding: 8px 12px;
  border-radius: var(--r-sm);
  cursor: pointer;
  transition: background .15s;
  /* Subtle per-row wash anchored at the LEFT edge (the cover/spine), fading inward
     to the right — the color sits just off the left edge (-64%) and fully fades to
     the neutral row background by 80% across, before the right edge (the duration). */
  background: linear-gradient(to right, var(--card-color, transparent) -64%, transparent 80%);
}
.track:hover { background: linear-gradient(to right, var(--card-color, transparent) -64%, transparent 80%), var(--card); }
.track-num {
  display: flex; align-items: center; justify-content: center;
  width: 28px; color: var(--tx-3); font-size: 14px; font-variant-numeric: tabular-nums;
}
.track-num-ic { display: none; align-items: center; justify-content: center; }
.track:hover .track-num-n, .track.is-current .track-num-n { display: none; }
.track:hover .track-num-ic, .track.is-current .track-num-ic { display: flex; }
.track-art { width: 40px; height: 40px; border-radius: var(--r-sm); object-fit: cover; flex: 0 0 auto; }
.track-meta { min-width: 0; }
.track-title { color: var(--tx); font-weight: 600; font-size: 15px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.track.is-current .track-title { color: var(--accent); }
.track-sub { color: var(--tx-3); font-size: 13px; margin-top: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.track-ellipsis { opacity: 0; transition: opacity .15s; }
.track:hover .track-ellipsis { opacity: 1; }
.track-time { color: var(--tx-3); font-size: 13px; font-variant-numeric: tabular-nums; text-align: right; min-width: 40px; }

/* Mobile (<640px): the page document-scrolls (fixed shell is desktop-only).
   Stack the hero, tighten padding, and let poem rows use the full width. */
@media (max-width: 639px) {
  .content-pad { padding: 12px 14px 140px; }
  .hero { flex-direction: column; align-items: flex-start; gap: 18px; padding: 20px; }
  .hero-art { width: 140px; height: 140px; }
  .hero-title { font-size: clamp(26px, 8vw, 38px); }
  .track { grid-template-columns: 26px 40px 1fr auto; gap: 10px; padding: 8px 4px; }
  .track-ellipsis { display: none; }
}

/* ============================ poem page ============================ */
.btn-lg { height: 48px; padding: 0 26px; font-size: 15px; }

/* hero header — cover + title + byline + actions, tinted by --card-color */
.poem-hero {
  position: relative; border-radius: var(--r-xl);
  padding: 32px; min-width: 0;
  display: flex; gap: 28px; align-items: flex-end;
  background: radial-gradient(90% 130% at 0% 0%, var(--card-color, transparent), transparent 70%), var(--panel-2);
}
.poem-hero-art {
  width: 188px; height: 188px; flex: 0 0 auto;
  border-radius: var(--r); object-fit: cover;
  background: var(--inset); box-shadow: var(--shadow-pop);
}
.poem-hero-body { flex: 1; min-width: 0; padding-bottom: 4px; }
.poem-kicker {
  font-size: 12px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--tx-2); cursor: pointer; width: fit-content;
}
.poem-kicker:hover { color: var(--tx); }
.poem-hero-title {
  font-family: var(--f-display); font-weight: 800; letter-spacing: -0.03em;
  font-size: clamp(34px, 5vw, 58px); line-height: 1.0; margin: 12px 0 16px; color: var(--tx);
  min-width: 0; overflow-wrap: anywhere; word-break: break-word;
}
.poem-byline { display: flex; align-items: center; gap: 10px; color: var(--tx-2); font-size: 14px; flex-wrap: wrap; }
.byline-poet {
  display: inline-flex; align-items: center; gap: 8px;
  font-weight: 700; color: var(--tx); cursor: pointer; background: none; border: none;
}
.byline-poet:hover { color: var(--accent); }
.poem-byline .avatar { width: 26px; height: 26px; flex: 0 0 auto; }
.dot { width: 3px; height: 3px; border-radius: 50%; background: var(--tx-3); display: inline-block; }
.poem-hero-actions { display: flex; align-items: center; gap: 12px; margin-top: 24px; flex-wrap: wrap; }

/* share card */
.share-card {
  padding: 22px 24px 24px; border-radius: var(--r-xl);
  border: 1px solid var(--line); background: var(--panel-2);
  animation: shareIn .22s cubic-bezier(.2,.7,.3,1);
}
@keyframes shareIn { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
.share-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.share-title { font-family: var(--f-display); font-weight: 700; font-size: 19px; letter-spacing: -0.02em; color: var(--tx); }
.share-sub { font-size: 13.5px; color: var(--tx-3); margin-top: 3px; }
.share-close {
  width: 34px; height: 34px; flex: 0 0 auto; border-radius: 50%;
  display: grid; place-items: center; color: var(--tx-2); background: oklch(1 0 0 / 0.05); cursor: pointer;
}
.share-close:hover { color: var(--tx); background: oklch(1 0 0 / 0.1); }
.share-close svg { transform: rotate(45deg); }
.copy-field {
  display: flex; align-items: center; gap: 12px; height: 52px; padding: 0 8px 0 16px; margin-bottom: 18px;
  border-radius: var(--r-pill); background: var(--inset); border: 1px solid var(--line);
}
.copy-url { flex: 1; min-width: 0; font-size: 14.5px; color: var(--tx-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.copy-btn { height: 38px; padding: 0 18px; flex: 0 0 auto; }
.share-links-wrap { display: flex; flex-direction: column; gap: 14px; }
.share-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); gap: 10px; }
.share-tile {
  display: flex; flex-direction: column; align-items: center; gap: 11px; padding: 18px 10px 14px;
  border-radius: var(--r); background: oklch(1 0 0 / 0.03); border: 1px solid var(--line); cursor: pointer;
  transition: background .15s, border-color .15s, transform .12s;
}
.share-tile:hover { background: oklch(1 0 0 / 0.07); border-color: var(--line-strong); transform: translateY(-2px); }
.share-ico { width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; background: oklch(1 0 0 / 0.06); color: var(--tx); }
.share-tile:hover .share-ico { background: var(--accent-soft); color: var(--accent); }
.share-label { font-size: 12.5px; font-weight: 600; color: var(--tx-2); }
.share-tile:hover .share-label { color: var(--tx); }
/* inline QR panel (shown in the share card when the QR tile is clicked) */
.qr-panel { display: flex; justify-content: center; padding: 16px; border-radius: var(--r); border: 1px solid var(--line); background: oklch(1 0 0 / 0.03); }
.qr-svg { width: 240px; max-width: 100%; background: #fff; padding: 12px; border-radius: var(--r-sm); }
.qr-svg svg { width: 100%; height: auto; display: block; }

/* reader toolbar + reader card */
.poem-toolbar { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.chip {
  display: inline-flex; align-items: center; gap: 8px; height: 36px; padding: 0 15px;
  border-radius: var(--r-pill); font-size: 13px; font-weight: 600;
  background: oklch(1 0 0 / 0.05); color: var(--tx-2); border: 1px solid var(--line); cursor: pointer; transition: all .15s;
}
.chip:hover { color: var(--tx); background: oklch(1 0 0 / 0.09); }
.chip.on { background: var(--accent-soft); color: var(--accent); border-color: var(--accent-line); }
/* Dark mode: text sits right on the page (no border, no mat). */
.poem-reader {
  border: none; border-radius: var(--r-xl); background: transparent;
  padding: 12px 0; transition: background .3s, color .3s;
  min-width: 0; max-width: 100%; overflow-wrap: anywhere;
}
/* Light mode keeps the paper card. */
.poem-reader.light { background: oklch(0.94 0.012 80); padding: 32px 36px; }
.poem-line { font-size: clamp(18px, 1.75vw, 22px); line-height: 1.3; margin: 0; color: var(--tx); }

@media (max-width: 639px) {
  .poem-hero { flex-direction: column; align-items: flex-start; gap: 18px; padding: 20px; }
  .poem-hero-art { width: 150px; height: 150px; }
  .poem-reader { padding: 24px 20px; }
}

/* ============================ collection page ============================ */
.coll-hero {
  position: relative; overflow: hidden; border-radius: var(--r-xl);
  border: 1px solid var(--line); padding: 34px; background: var(--panel-2);
}
.coll-hero-bg {
  position: absolute; inset: -25%;
  background: var(--card-color, var(--panel-2));
  filter: blur(72px) saturate(1.3); opacity: 0.55; pointer-events: none;
}
.coll-hero::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(175deg, oklch(0.17 0.01 60 / 0.18) 0%, oklch(0.165 0.008 55 / 0.88) 86%);
}
.coll-hero-inner { position: relative; z-index: 2; display: flex; gap: 30px; align-items: flex-end; min-width: 0; }
.coll-hero-art {
  width: 214px; height: 214px; flex: 0 0 auto; border-radius: var(--r);
  object-fit: cover; background: var(--inset); box-shadow: var(--shadow-pop);
}
.coll-hero-body { flex: 1; min-width: 0; padding-bottom: 6px; }
.coll-hero-title {
  font-family: var(--f-display); font-weight: 800; letter-spacing: -0.03em;
  font-size: clamp(34px, 5vw, 60px); line-height: 0.98; margin: 12px 0 12px; color: var(--tx);
  min-width: 0; overflow-wrap: anywhere; word-break: break-word;
}
.coll-hero-tagline { font-size: 17px; font-style: italic; color: var(--tx); margin: 0 0 16px; max-width: 52ch; line-height: 1.45; }
.coll-hero-actions { display: flex; align-items: center; gap: 12px; margin-top: 22px; flex-wrap: wrap; }

/* about / affiliate / author note */
.section-link.accent { color: var(--accent); }
.about-copy { max-width: 70ch; color: var(--tx-2); font-size: 16px; line-height: 1.65; margin: 0; }
.affiliate {
  display: flex; align-items: center; justify-content: space-between; gap: 18px;
  margin-top: 18px; padding: 18px 22px; border-radius: var(--r);
  background: var(--accent-soft); border: 1px solid var(--accent-line); flex-wrap: wrap;
}
.aff-text { font-size: 14.5px; color: var(--tx); line-height: 1.45; }
.aff-text strong { font-weight: 700; }
.author-note {
  display: flex; align-items: center; justify-content: space-between; gap: 18px;
  margin-top: 14px; padding: 16px 22px; border-radius: var(--r);
  background: var(--card); border: 1px solid var(--line); font-size: 14px; color: var(--tx-2); flex-wrap: wrap;
}

/* locked (premium) track rows */
.track.locked { cursor: default; }
.track.locked .track-title { color: var(--tx-2); }
.track.locked:hover { background: linear-gradient(to right, var(--card-color, transparent) -64%, transparent 80%); }

@media (max-width: 639px) {
  .coll-hero { padding: 20px; }
  .coll-hero-inner { flex-direction: column; align-items: flex-start; gap: 18px; }
  .coll-hero-art { width: 150px; height: 150px; }
}

/* ============================ poet page ============================ */
/* The poet hero reuses the collection hero (`.coll-hero*`); only the art is a
   circular avatar instead of the square cover. */
.coll-hero-art.round { border-radius: 50%; }
.about { padding: 30px; border-radius: var(--r-lg); background: var(--card); border: 1px solid var(--line); }

/* ===================== doodlization (Labs) page =====================
   Hand-authored rules for utility classes used by the Doodlization studio that
   are not present in the frozen utility layer (see CLAUDE.md "Styling"). */
.grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.items-end { align-items: flex-end; }
.overflow-auto { overflow: auto; }
.w-fit { width: fit-content; }
.h-7 { height: 1.75rem; }
.h-9 { height: 2.25rem; }
.px-5 { padding-left: 1.25rem; padding-right: 1.25rem; }
@media (min-width: 640px) {
  .sm\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sm\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* ============================ poem queue (right rail) ============================
   Redesign of the right-rail Poem Queue. Hand-authored (frozen-stylesheet rules,
   see CLAUDE.md "Styling"), reusing the redesign tokens so it matches the rest of
   the chrome. Scoped under .queue so the shared poem-card components used in
   Library/Search/moderation/collection views are unaffected. */
.queue { background: var(--panel); border-radius: var(--r); color: var(--tx); }

/* header — segmented pill toggle (Poem Queue / Recent) + ghost close */
.queue-header { display: flex; align-items: center; gap: 8px; padding: 12px 12px 6px; }
.queue-toggle { display: flex; align-items: center; gap: 2px; background: var(--inset); border-radius: var(--r-pill); padding: 3px; }
.queue-toggle-btn {
  padding: 6px 14px; border-radius: var(--r-pill); font-size: 13px; font-weight: 700;
  color: var(--tx-3); cursor: pointer; white-space: nowrap; transition: color .15s, background .15s;
}
.queue-toggle-btn:hover { color: var(--tx-2); }
.queue-toggle-btn.is-active { background: var(--card-hover); color: var(--tx); }
.queue-close {
  margin-left: auto; flex: 0 0 auto; display: flex; align-items: center; justify-content: center;
  width: 32px; height: 32px; border-radius: var(--r-pill); color: var(--tx-3); cursor: pointer;
  transition: background .15s, color .15s;
}
.queue-close:hover { background: var(--card); color: var(--tx); }
.queue-close svg { width: 16px; height: 16px; }

/* section labels — uppercase muted eyebrows */
.queue-heading { font-size: 11px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--tx-3); padding: 14px 16px 6px; }
.queue-section { display: flex; flex-direction: column; padding-bottom: 8px; }

/* rows */
.queue-item {
  display: flex; align-items: center; gap: 12px; padding: 7px 14px; margin: 0 6px;
  border-radius: var(--r-sm); cursor: pointer; transition: background .15s;
}
.queue-item:hover { background: var(--card-hover); }
.queue-item.is-current { background: var(--accent-soft); }
.queue-index { width: 18px; flex: 0 0 auto; text-align: center; color: var(--tx-3); font-size: 13px; font-variant-numeric: tabular-nums; }
.queue-index .queue-icon { display: none; }
.queue-item:hover .queue-index .queue-icon { display: block; }
.queue-item:hover .queue-index .queue-num { display: none; }
.queue-cover { width: 48px; height: 48px; flex: 0 0 auto; border-radius: var(--r-sm); object-fit: cover; background: var(--inset); }
.queue-meta { min-width: 0; flex: 1; }
.queue-title { font-size: 14.5px; font-weight: 600; color: var(--tx); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.queue-item.is-current .queue-title { color: var(--accent); }
.queue-sub { font-size: 12.5px; color: var(--tx-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.queue-time { flex: 0 0 auto; color: var(--tx-3); font-size: 12.5px; font-variant-numeric: tabular-nums; text-align: right; min-width: 34px; }
