/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */
@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-black: #000;
    --spacing: 0.25rem;
    --container-2xl: 42rem;
    --container-5xl: 64rem;
    --container-6xl: 72rem;
    --text-sm: 0.875rem;
    --text-sm--line-height: calc(1.25 / 0.875);
    --text-4xl: 2.25rem;
    --text-4xl--line-height: calc(2.5 / 2.25);
    --text-5xl: 3rem;
    --text-5xl--line-height: 1;
    --text-6xl: 3.75rem;
    --text-6xl--line-height: 1;
    --font-weight-bold: 700;
    --tracking-tight: -0.025em;
    --leading-tight: 1.25;
    --radius-2xl: 1rem;
    --ease-out: cubic-bezier(0, 0, 0.2, 1);
    --blur-md: 12px;
    --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 {
  .diff {
    @layer daisyui.l1.l2.l3 {
      position: relative;
      display: grid;
      width: 100%;
      overflow: hidden;
      webkit-user-select: none;
      user-select: none;
      grid-template-rows: 1fr 1.8rem 1fr;
      direction: ltr;
      container-type: inline-size;
      grid-template-columns: auto 1fr;
      &:focus-visible, &:has(.diff-item-1:focus-visible) {
        outline-style: var(--tw-outline-style);
        outline-width: 2px;
        outline-offset: 1px;
        outline-color: var(--color-base-content);
      }
      &:focus-visible {
        outline-style: var(--tw-outline-style);
        outline-width: 2px;
        outline-offset: 1px;
        outline-color: var(--color-base-content);
        .diff-resizer {
          min-width: 95cqi;
          max-width: 95cqi;
        }
      }
      &:has(.diff-item-1:focus-visible) {
        outline-style: var(--tw-outline-style);
        outline-width: 2px;
        outline-offset: 1px;
        .diff-resizer {
          min-width: 5cqi;
          max-width: 5cqi;
        }
      }
      @supports (-webkit-overflow-scrolling: touch) and (overflow: -webkit-paged-x) {
        &:focus {
          .diff-resizer {
            min-width: 5cqi;
            max-width: 5cqi;
          }
        }
        &:has(.diff-item-1:focus) {
          .diff-resizer {
            min-width: 95cqi;
            max-width: 95cqi;
          }
        }
      }
    }
  }
  .modal {
    @layer daisyui.l1.l2.l3 {
      pointer-events: none;
      visibility: hidden;
      position: fixed;
      inset: calc(0.25rem * 0);
      margin: calc(0.25rem * 0);
      display: grid;
      height: 100%;
      max-height: none;
      width: 100%;
      max-width: none;
      align-items: center;
      justify-items: center;
      background-color: transparent;
      padding: calc(0.25rem * 0);
      color: inherit;
      transition: visibility 0.3s allow-discrete, background-color 0.3s ease-out, opacity 0.1s ease-out;
      overflow: clip;
      overscroll-behavior: contain;
      z-index: 999;
      scrollbar-gutter: auto;
      &::backdrop {
        display: none;
      }
    }
    @layer daisyui.l1.l2 {
      &.modal-open, &[open], &:target, .modal-toggle:checked + & {
        pointer-events: auto;
        visibility: visible;
        opacity: 100%;
        transition: visibility 0s allow-discrete, background-color 0.3s ease-out, opacity 0.1s ease-out;
        background-color: oklch(0% 0 0/ 0.4);
        .modal-box {
          translate: 0 0;
          scale: 1;
          opacity: 1;
        }
        :root:has(&) {
          --page-has-backdrop: 1;
          --page-overflow: hidden;
          --page-scroll-bg: var(--page-scroll-bg-on);
          --page-scroll-gutter: stable;
          --page-scroll-transition: var(--page-scroll-transition-on);
          animation: set-page-has-scroll forwards;
          animation-timeline: scroll();
        }
      }
      @starting-style {
        &.modal-open, &[open], &:target, .modal-toggle:checked + & {
          opacity: 0%;
        }
      }
    }
  }
  .tab {
    @layer daisyui.l1.l2.l3 {
      position: relative;
      display: inline-flex;
      cursor: pointer;
      appearance: none;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      text-align: center;
      webkit-user-select: none;
      user-select: none;
      &:hover {
        @media (hover: hover) {
          color: var(--color-base-content);
        }
      }
      --tab-p: 0.75rem;
      --tab-bg: var(--color-base-100);
      --tab-border-color: var(--color-base-300);
      --tab-radius-ss: 0;
      --tab-radius-se: 0;
      --tab-radius-es: 0;
      --tab-radius-ee: 0;
      --tab-order: 0;
      --tab-radius-min: calc(0.75rem - var(--border));
      --tab-radius-limit: min(var(--radius-field), var(--tab-radius-min));
      --tab-radius-grad: #0000 calc(69% - var(--border)),
      var(--tab-border-color) calc(69% - var(--border) + 0.25px),
      var(--tab-border-color) 69%,
      var(--tab-bg) calc(69% + 0.25px);
      border-color: #0000;
      order: var(--tab-order);
      height: var(--tab-height);
      font-size: 0.875rem;
      padding-inline: var(--tab-p);
      &:is(input[type="radio"]) {
        min-width: fit-content;
        &:after {
          --tw-content: attr(aria-label);
          content: var(--tw-content);
        }
      }
      &:is(label) {
        position: relative;
        input {
          position: absolute;
          inset: calc(0.25rem * 0);
          cursor: pointer;
          appearance: none;
          opacity: 0%;
        }
      }
      &:checked, &:is(label:has(:checked)), &:is(.tab-active, [aria-selected="true"], [aria-current="true"], [aria-current="page"]) {
        & + .tab-content {
          display: block;
        }
      }
      &:not( :checked, label:has(:checked), :hover, .tab-active, [aria-selected="true"], [aria-current="true"], [aria-current="page"] ) {
        color: var(--color-base-content);
        @supports (color: color-mix(in lab, red, red)) {
          color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
        }
      }
      &:not(input):empty {
        flex-grow: 1;
        cursor: default;
      }
      &:focus {
        --tw-outline-style: none;
        outline-style: none;
        @media (forced-colors: active) {
          outline: 2px solid transparent;
          outline-offset: 2px;
        }
      }
      &:focus-visible, &:is(label:has(:checked:focus-visible)) {
        outline: 2px solid currentColor;
        outline-offset: -5px;
      }
      &[disabled] {
        pointer-events: none;
        opacity: 40%;
      }
    }
  }
  .menu {
    @layer daisyui.l1.l2.l3 {
      display: flex;
      width: fit-content;
      flex-direction: column;
      flex-wrap: wrap;
      padding: calc(0.25rem * 2);
      --menu-active-fg: var(--color-neutral-content);
      --menu-active-bg: var(--color-neutral);
      font-size: 0.875rem;
      :where(li ul) {
        position: relative;
        margin-inline-start: calc(0.25rem * 4);
        padding-inline-start: calc(0.25rem * 2);
        white-space: nowrap;
        &:before {
          position: absolute;
          inset-inline-start: calc(0.25rem * 0);
          top: calc(0.25rem * 3);
          bottom: calc(0.25rem * 3);
          background-color: var(--color-base-content);
          opacity: 10%;
          width: var(--border);
          content: "";
        }
      }
      :where(li > .menu-dropdown:not(.menu-dropdown-show)) {
        display: none;
      }
      :where(li:not(.menu-title) > *:not(ul, details, .menu-title, .btn)), :where(li:not(.menu-title) > details > summary:not(.menu-title)) {
        display: grid;
        grid-auto-flow: column;
        align-content: flex-start;
        align-items: center;
        gap: calc(0.25rem * 2);
        border-radius: var(--radius-field);
        padding-inline: calc(0.25rem * 3);
        padding-block: calc(0.25rem * 1.5);
        text-align: start;
        transition-property: color, background-color, box-shadow;
        transition-duration: 0.2s;
        transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
        grid-auto-columns: minmax(auto, max-content) auto max-content;
        text-wrap: balance;
        user-select: none;
      }
      :where(li > details > summary) {
        --tw-outline-style: none;
        outline-style: none;
        @media (forced-colors: active) {
          outline: 2px solid transparent;
          outline-offset: 2px;
        }
        &::-webkit-details-marker {
          display: none;
        }
      }
      :where(li > details > summary), :where(li > .menu-dropdown-toggle) {
        &:after {
          justify-self: flex-end;
          display: block;
          height: 0.375rem;
          width: 0.375rem;
          rotate: -135deg;
          translate: 0 -1px;
          transition-property: rotate, translate;
          transition-duration: 0.2s;
          content: "";
          transform-origin: 50% 50%;
          box-shadow: 2px 2px inset;
          pointer-events: none;
        }
      }
      details {
        overflow: hidden;
        interpolate-size: allow-keywords;
      }
      details::details-content {
        block-size: 0;
        @media (prefers-reduced-motion: no-preference) {
          transition-behavior: allow-discrete;
          transition-property: block-size, content-visibility;
          transition-duration: 0.2s;
          transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
        }
      }
      details[open]::details-content {
        block-size: auto;
      }
      :where(li > details[open] > summary):after, :where(li > .menu-dropdown-toggle.menu-dropdown-show):after {
        rotate: 45deg;
        translate: 0 1px;
      }
      :where( li:not(.menu-title, .disabled) > *:not(ul, details, .menu-title), li:not(.menu-title, .disabled) > details > summary:not(.menu-title) ):not(.menu-active, :active, .btn) {
        &.menu-focus, &:focus-visible {
          cursor: pointer;
          background-color: var(--color-base-content);
          @supports (color: color-mix(in lab, red, red)) {
            background-color: color-mix(in oklab, var(--color-base-content) 10%, transparent);
          }
          color: var(--color-base-content);
          --tw-outline-style: none;
          outline-style: none;
          @media (forced-colors: active) {
            outline: 2px solid transparent;
            outline-offset: 2px;
          }
        }
      }
      :where( li:not(.menu-title, .disabled) > *:not(ul, details, .menu-title):not(.menu-active, :active, .btn):hover, li:not(.menu-title, .disabled) > details > summary:not(.menu-title):not(.menu-active, :active, .btn):hover ) {
        cursor: pointer;
        background-color: var(--color-base-content);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-base-content) 10%, transparent);
        }
        --tw-outline-style: none;
        outline-style: none;
        @media (forced-colors: active) {
          outline: 2px solid transparent;
          outline-offset: 2px;
        }
        box-shadow: 0 1px oklch(0% 0 0 / 0.01) inset, 0 -1px oklch(100% 0 0 / 0.01) inset;
      }
      :where(li:empty) {
        background-color: var(--color-base-content);
        opacity: 10%;
        margin: 0.5rem 1rem;
        height: 1px;
      }
      :where(li) {
        position: relative;
        display: flex;
        flex-shrink: 0;
        flex-direction: column;
        flex-wrap: wrap;
        align-items: stretch;
        .badge {
          justify-self: flex-end;
        }
        & > *:not(ul, .menu-title, details, .btn):active, & > *:not(ul, .menu-title, details, .btn).menu-active, & > details > summary:active {
          --tw-outline-style: none;
          outline-style: none;
          @media (forced-colors: active) {
            outline: 2px solid transparent;
            outline-offset: 2px;
          }
          color: var(--menu-active-fg);
          background-color: var(--menu-active-bg);
          background-size: auto, calc(var(--noise) * 100%);
          background-image: none, var(--fx-noise);
          &:not(&:active) {
            box-shadow: 0 2px calc(var(--depth) * 3px) -2px var(--menu-active-bg);
          }
        }
        &.menu-disabled {
          pointer-events: none;
          color: var(--color-base-content);
          @supports (color: color-mix(in lab, red, red)) {
            color: color-mix(in oklab, var(--color-base-content) 20%, transparent);
          }
        }
      }
      .dropdown:focus-within {
        .menu-dropdown-toggle:after {
          rotate: 45deg;
          translate: 0 1px;
        }
      }
      .dropdown-content {
        margin-top: calc(0.25rem * 2);
        padding: calc(0.25rem * 2);
        &:before {
          display: none;
        }
      }
    }
  }
  .dropdown {
    @layer daisyui.l1.l2.l3 {
      position: relative;
      display: inline-block;
      position-area: var(--anchor-v, bottom) var(--anchor-h, span-right);
      & > *:not(:has(~ [class*="dropdown-content"])):focus {
        --tw-outline-style: none;
        outline-style: none;
        @media (forced-colors: active) {
          outline: 2px solid transparent;
          outline-offset: 2px;
        }
      }
      .dropdown-content {
        position: absolute;
      }
      &.dropdown-close .dropdown-content, &:not(details, .dropdown-open, .dropdown-hover:hover, :focus-within) .dropdown-content, &.dropdown-hover:not(:hover) [tabindex]:first-child:focus:not(:focus-visible) ~ .dropdown-content {
        display: none;
        transform-origin: top;
        opacity: 0%;
        scale: 95%;
      }
      &[popover], .dropdown-content {
        z-index: 999;
        @media (prefers-reduced-motion: no-preference) {
          animation: dropdown 0.2s;
          transition-property: opacity, scale, display, overlay;
          transition-behavior: allow-discrete;
          transition-duration: 0.2s;
          transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
        }
      }
      @starting-style {
        &[popover], .dropdown-content {
          scale: 95%;
          opacity: 0;
        }
      }
      &:not(.dropdown-close) {
        &.dropdown-open, &:not(.dropdown-hover):focus, &:focus-within {
          > [tabindex]:first-child {
            pointer-events: none;
          }
          .dropdown-content {
            opacity: 100%;
            scale: 100%;
          }
        }
        &.dropdown-hover:hover {
          .dropdown-content {
            opacity: 100%;
            scale: 100%;
          }
        }
      }
      &:is(details) {
        summary {
          &::-webkit-details-marker {
            display: none;
          }
        }
      }
      &:where([popover]) {
        background: #0000;
      }
      &[popover] {
        position: fixed;
        color: inherit;
        @supports not (position-area: bottom) {
          margin: auto;
          &.dropdown-close, &.dropdown-open:not(:popover-open) {
            display: none;
            transform-origin: top;
            opacity: 0%;
            scale: 95%;
          }
          &::backdrop {
            background-color: color-mix(in oklab, #000 30%, #0000);
          }
        }
        &.dropdown-close, &:not(.dropdown-open, :popover-open) {
          display: none;
          transform-origin: top;
          opacity: 0%;
          scale: 95%;
        }
      }
    }
  }
  .btn {
    :where(&) {
      @layer daisyui.l1.l2.l3 {
        width: unset;
      }
    }
    .prose :where(a&:not(.btn-link)):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
      text-decoration-line: none;
    }
    @layer daisyui.l1.l2.l3 {
      display: inline-flex;
      flex-shrink: 0;
      cursor: pointer;
      flex-wrap: nowrap;
      align-items: center;
      justify-content: center;
      gap: calc(0.25rem * 1.5);
      text-align: center;
      vertical-align: middle;
      outline-offset: 2px;
      webkit-user-select: none;
      user-select: none;
      padding-inline: var(--btn-p);
      color: var(--btn-fg);
      --tw-prose-links: var(--btn-fg);
      height: var(--size);
      font-size: var(--fontsize, 0.875rem);
      font-weight: 600;
      outline-color: var(--btn-color, var(--color-base-content));
      transition-property: color, background-color, border-color, box-shadow;
      transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
      transition-duration: 0.2s;
      border-start-start-radius: var(--join-ss, var(--radius-field));
      border-start-end-radius: var(--join-se, var(--radius-field));
      border-end-start-radius: var(--join-es, var(--radius-field));
      border-end-end-radius: var(--join-ee, var(--radius-field));
      background-color: var(--btn-bg);
      background-size: auto, calc(var(--noise) * 100%);
      background-image: none, var(--btn-noise);
      border-width: var(--border);
      border-style: solid;
      border-color: var(--btn-border);
      text-shadow: 0 0.5px oklch(100% 0 0 / calc(var(--depth) * 0.15));
      touch-action: manipulation;
      box-shadow: 0 0.5px 0 0.5px oklch(100% 0 0 / calc(var(--depth) * 6%)) inset, var(--btn-shadow);
      --size: calc(var(--size-field, 0.25rem) * 10);
      --btn-bg: var(--btn-color, var(--color-base-200));
      --btn-fg: var(--color-base-content);
      --btn-p: 1rem;
      --btn-border: var(--btn-bg);
      @supports (color: color-mix(in lab, red, red)) {
        --btn-border: color-mix(in oklab, var(--btn-bg), #000 calc(var(--depth) * 5%));
      }
      --btn-shadow: 0 3px 2px -2px var(--btn-bg),
      0 4px 3px -2px var(--btn-bg);
      @supports (color: color-mix(in lab, red, red)) {
        --btn-shadow: 0 3px 2px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000),
      0 4px 3px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000);
      }
      --btn-noise: var(--fx-noise);
      @media (hover: hover) {
        &:hover {
          --btn-bg: var(--btn-color, var(--color-base-200));
          @supports (color: color-mix(in lab, red, red)) {
            --btn-bg: color-mix(in oklab, var(--btn-color, var(--color-base-200)), #000 7%);
          }
        }
      }
      &:focus-visible, &:has(:focus-visible) {
        outline-width: 2px;
        outline-style: solid;
        isolation: isolate;
      }
      &:active:not(.btn-active) {
        translate: 0 0.5px;
        --btn-bg: var(--btn-color, var(--color-base-200));
        @supports (color: color-mix(in lab, red, red)) {
          --btn-bg: color-mix(in oklab, var(--btn-color, var(--color-base-200)), #000 5%);
        }
        --btn-border: var(--btn-color, var(--color-base-200));
        @supports (color: color-mix(in lab, red, red)) {
          --btn-border: color-mix(in oklab, var(--btn-color, var(--color-base-200)), #000 7%);
        }
        --btn-shadow: 0 0 0 0 oklch(0% 0 0/0), 0 0 0 0 oklch(0% 0 0/0);
      }
      &:is(input[type="checkbox"], input[type="radio"]) {
        appearance: none;
        &[aria-label]::after {
          --tw-content: attr(aria-label);
          content: var(--tw-content);
        }
      }
      &:where(input:checked:not(.filter .btn)) {
        --btn-color: var(--color-primary);
        --btn-fg: var(--color-primary-content);
        isolation: isolate;
      }
    }
    &:disabled {
      @layer daisyui.l1.l2 {
        &:not(.btn-link, .btn-ghost) {
          background-color: var(--color-base-content);
          @supports (color: color-mix(in lab, red, red)) {
            background-color: color-mix(in oklab, var(--color-base-content) 10%, transparent);
          }
          box-shadow: none;
        }
        pointer-events: none;
        --btn-border: #0000;
        --btn-noise: none;
        --btn-fg: var(--color-base-content);
        @supports (color: color-mix(in lab, red, red)) {
          --btn-fg: color-mix(in oklch, var(--color-base-content) 20%, #0000);
        }
      }
    }
    &[disabled] {
      @layer daisyui.l1.l2 {
        &:not(.btn-link, .btn-ghost) {
          background-color: var(--color-base-content);
          @supports (color: color-mix(in lab, red, red)) {
            background-color: color-mix(in oklab, var(--color-base-content) 10%, transparent);
          }
          box-shadow: none;
        }
        pointer-events: none;
        --btn-border: #0000;
        --btn-noise: none;
        --btn-fg: var(--color-base-content);
        @supports (color: color-mix(in lab, red, red)) {
          --btn-fg: color-mix(in oklch, var(--color-base-content) 20%, #0000);
        }
      }
    }
  }
  .loading {
    @layer daisyui.l1.l2.l3 {
      pointer-events: none;
      display: inline-block;
      aspect-ratio: 1 / 1;
      background-color: currentcolor;
      vertical-align: middle;
      width: calc(var(--size-selector, 0.25rem) * 6);
      mask-size: 100%;
      mask-repeat: no-repeat;
      mask-position: center;
      mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");
    }
  }
  .visible {
    visibility: visible;
  }
  .list {
    @layer daisyui.l1.l2.l3 {
      display: flex;
      flex-direction: column;
      font-size: 0.875rem;
      .list-row {
        --list-grid-cols: minmax(0, auto) 1fr;
        position: relative;
        display: grid;
        grid-auto-flow: column;
        gap: calc(0.25rem * 4);
        border-radius: var(--radius-box);
        padding: calc(0.25rem * 4);
        word-break: break-word;
        grid-template-columns: var(--list-grid-cols);
      }
      & > :not(:last-child) {
        &.list-row, .list-row {
          &:after {
            content: "";
            border-bottom: var(--border) solid;
            inset-inline: var(--radius-box);
            position: absolute;
            bottom: calc(0.25rem * 0);
            border-color: var(--color-base-content);
            @supports (color: color-mix(in lab, red, red)) {
              border-color: color-mix(in oklab, var(--color-base-content) 5%, transparent);
            }
          }
        }
      }
    }
    @layer daisyui.l1.l2 {
      .list-row {
        &:has(.list-col-grow:nth-child(1)) {
          --list-grid-cols: 1fr;
        }
        &:has(.list-col-grow:nth-child(2)) {
          --list-grid-cols: minmax(0, auto) 1fr;
        }
        &:has(.list-col-grow:nth-child(3)) {
          --list-grid-cols: minmax(0, auto) minmax(0, auto) 1fr;
        }
        &:has(.list-col-grow:nth-child(4)) {
          --list-grid-cols: minmax(0, auto) minmax(0, auto) minmax(0, auto) 1fr;
        }
        &:has(.list-col-grow:nth-child(5)) {
          --list-grid-cols: minmax(0, auto) minmax(0, auto) minmax(0, auto) minmax(0, auto) 1fr;
        }
        &:has(.list-col-grow:nth-child(6)) {
          --list-grid-cols: minmax(0, auto) minmax(0, auto) minmax(0, auto) minmax(0, auto)
          minmax(0, auto) 1fr;
        }
        > * {
          grid-row-start: 1;
        }
      }
    }
  }
  .toggle {
    @layer daisyui.l1.l2.l3 {
      border: var(--border) solid currentColor;
      color: var(--input-color);
      position: relative;
      display: inline-grid;
      flex-shrink: 0;
      cursor: pointer;
      appearance: none;
      place-content: center;
      vertical-align: middle;
      webkit-user-select: none;
      user-select: none;
      grid-template-columns: 0fr 1fr 1fr;
      --radius-selector-max: calc(
      var(--radius-selector) + var(--radius-selector) + var(--radius-selector)
    );
      border-radius: calc( var(--radius-selector) + min(var(--toggle-p), var(--radius-selector-max)) + min(var(--border), var(--radius-selector-max)) );
      padding: var(--toggle-p);
      box-shadow: 0 1px currentColor inset;
      @supports (color: color-mix(in lab, red, red)) {
        box-shadow: 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000) inset;
      }
      transition: color 0.3s, grid-template-columns 0.2s;
      --input-color: var(--color-base-content);
      @supports (color: color-mix(in lab, red, red)) {
        --input-color: color-mix(in oklab, var(--color-base-content) 50%, #0000);
      }
      --toggle-p: calc(var(--size) * 0.125);
      --size: calc(var(--size-selector, 0.25rem) * 6);
      width: calc((var(--size) * 2) - (var(--border) + var(--toggle-p)) * 2);
      height: var(--size);
      > * {
        z-index: 1;
        grid-column: span 1 / span 1;
        grid-column-start: 2;
        grid-row-start: 1;
        height: 100%;
        cursor: pointer;
        appearance: none;
        background-color: transparent;
        padding: calc(0.25rem * 0.5);
        transition: opacity 0.2s, rotate 0.4s;
        border: none;
        &:focus {
          --tw-outline-style: none;
          outline-style: none;
          @media (forced-colors: active) {
            outline: 2px solid transparent;
            outline-offset: 2px;
          }
        }
        &:nth-child(2) {
          color: var(--color-base-100);
          rotate: 0deg;
        }
        &:nth-child(3) {
          color: var(--color-base-100);
          opacity: 0%;
          rotate: -15deg;
        }
      }
      &:has(:checked) {
        > :nth-child(2) {
          opacity: 0%;
          rotate: 15deg;
        }
        > :nth-child(3) {
          opacity: 100%;
          rotate: 0deg;
        }
      }
      &:before {
        position: relative;
        inset-inline-start: calc(0.25rem * 0);
        grid-column-start: 2;
        grid-row-start: 1;
        aspect-ratio: 1 / 1;
        height: 100%;
        width: 100%;
        border-radius: var(--radius-selector);
        background-color: currentcolor;
        translate: 0;
        --tw-content: "";
        content: var(--tw-content);
        transition: background-color 0.1s, translate 0.2s, inset-inline-start 0.2s;
        box-shadow: 0 -1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset, 0 1px currentColor;
        @supports (color: color-mix(in lab, red, red)) {
          box-shadow: 0 -1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset, 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000);
        }
        background-size: auto, calc(var(--noise) * 100%);
        background-image: none, var(--fx-noise);
      }
      @media (forced-colors: active) {
        &:before {
          outline-style: var(--tw-outline-style);
          outline-width: 1px;
          outline-offset: calc(1px * -1);
        }
      }
      @media print {
        &:before {
          outline: 0.25rem solid;
          outline-offset: -1rem;
        }
      }
      &:focus-visible, &:has(:focus-visible) {
        outline: 2px solid currentColor;
        outline-offset: 2px;
      }
      &:checked, &[aria-checked="true"], &:has(> input:checked) {
        grid-template-columns: 1fr 1fr 0fr;
        background-color: var(--color-base-100);
        --input-color: var(--color-base-content);
        &:before {
          background-color: currentcolor;
        }
        @starting-style {
          &:before {
            opacity: 0;
          }
        }
      }
      &:indeterminate {
        grid-template-columns: 0.5fr 1fr 0.5fr;
      }
      &:disabled {
        cursor: not-allowed;
        opacity: 30%;
        &:before {
          background-color: transparent;
          border: var(--border) solid currentColor;
        }
      }
    }
  }
  .input {
    @layer daisyui.l1.l2.l3 {
      cursor: text;
      border: var(--border) solid #0000;
      position: relative;
      display: inline-flex;
      flex-shrink: 1;
      appearance: none;
      align-items: center;
      gap: calc(0.25rem * 2);
      background-color: var(--color-base-100);
      padding-inline: calc(0.25rem * 3);
      vertical-align: middle;
      white-space: nowrap;
      width: clamp(3rem, 20rem, 100%);
      height: var(--size);
      font-size: max(var(--font-size, 0.875rem), 0.875rem);
      touch-action: manipulation;
      border-start-start-radius: var(--join-ss, var(--radius-field));
      border-start-end-radius: var(--join-se, var(--radius-field));
      border-end-start-radius: var(--join-es, var(--radius-field));
      border-end-end-radius: var(--join-ee, var(--radius-field));
      border-color: var(--input-color);
      box-shadow: 0 1px var(--input-color) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset;
      @supports (color: color-mix(in lab, red, red)) {
        box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset;
      }
      --size: calc(var(--size-field, 0.25rem) * 10);
      --input-color: var(--color-base-content);
      @supports (color: color-mix(in lab, red, red)) {
        --input-color: color-mix(in oklab, var(--color-base-content) 20%, #0000);
      }
      &:where(input) {
        display: inline-flex;
      }
      :where(input) {
        display: inline-flex;
        height: 100%;
        width: 100%;
        appearance: none;
        background-color: transparent;
        border: none;
        &:focus, &:focus-within {
          --tw-outline-style: none;
          outline-style: none;
          @media (forced-colors: active) {
            outline: 2px solid transparent;
            outline-offset: 2px;
          }
        }
      }
      :where(input[type="url"]), :where(input[type="email"]) {
        direction: ltr;
      }
      :where(input[type="date"]) {
        display: inline-flex;
      }
      &:focus, &:focus-within {
        --input-color: var(--color-base-content);
        box-shadow: 0 1px var(--input-color);
        @supports (color: color-mix(in lab, red, red)) {
          box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000);
        }
        outline: 2px solid var(--input-color);
        outline-offset: 2px;
        isolation: isolate;
      }
      @media (pointer: coarse) {
        @supports (-webkit-touch-callout: none) {
          &:focus, &:focus-within {
            --font-size: 1rem;
          }
        }
      }
      &:has(> input[disabled]), &:is(:disabled, [disabled]), fieldset:disabled & {
        cursor: not-allowed;
        border-color: var(--color-base-200);
        background-color: var(--color-base-200);
        color: var(--color-base-content);
        @supports (color: color-mix(in lab, red, red)) {
          color: color-mix(in oklab, var(--color-base-content) 40%, transparent);
        }
        &::placeholder {
          color: var(--color-base-content);
          @supports (color: color-mix(in lab, red, red)) {
            color: color-mix(in oklab, var(--color-base-content) 20%, transparent);
          }
        }
        box-shadow: none;
      }
      &:has(> input[disabled]) > input[disabled] {
        cursor: not-allowed;
      }
      &::-webkit-date-and-time-value {
        text-align: inherit;
      }
      &[type="number"] {
        &::-webkit-inner-spin-button {
          margin-block: calc(0.25rem * -3);
          margin-inline-end: calc(0.25rem * -3);
        }
      }
      &::-webkit-calendar-picker-indicator {
        position: absolute;
        inset-inline-end: 0.75em;
      }
      &:has(> input[type="date"]) {
        :where(input[type="date"]) {
          display: inline-flex;
          webkit-appearance: none;
          appearance: none;
        }
        input[type="date"]::-webkit-calendar-picker-indicator {
          position: absolute;
          inset-inline-end: 0.75em;
          width: 1em;
          height: 1em;
          cursor: pointer;
        }
      }
    }
  }
  .indicator {
    @layer daisyui.l1.l2.l3 {
      position: relative;
      display: inline-flex;
      width: max-content;
      :where(.indicator-item) {
        z-index: 1;
        position: absolute;
        white-space: nowrap;
        top: var(--indicator-t, 0);
        bottom: var(--indicator-b, auto);
        left: var(--indicator-s, auto);
        right: var(--indicator-e, 0);
        translate: var(--indicator-x, 50%) var(--indicator-y, -50%);
      }
    }
  }
  .table {
    @layer daisyui.l1.l2.l3 {
      font-size: 0.875rem;
      position: relative;
      width: 100%;
      border-collapse: separate;
      --tw-border-spacing-x: calc(0.25rem * 0);
      --tw-border-spacing-y: calc(0.25rem * 0);
      border-spacing: var(--tw-border-spacing-x) var(--tw-border-spacing-y);
      border-radius: var(--radius-box);
      text-align: left;
      &:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
        text-align: right;
      }
      tr.row-hover {
        &, &:nth-child(even) {
          &:hover {
            @media (hover: hover) {
              background-color: var(--color-base-200);
            }
          }
        }
      }
      :where(th, td) {
        padding-inline: calc(0.25rem * 4);
        padding-block: calc(0.25rem * 3);
        vertical-align: middle;
      }
      :where(thead, tfoot) {
        white-space: nowrap;
        color: var(--color-base-content);
        @supports (color: color-mix(in lab, red, red)) {
          color: color-mix(in oklab, var(--color-base-content) 60%, transparent);
        }
        font-size: 0.875rem;
        font-weight: 600;
      }
      :where(tfoot tr:first-child :is(td, th)) {
        border-top: var(--border) solid var(--color-base-content);
        @supports (color: color-mix(in lab, red, red)) {
          border-top: var(--border) solid color-mix(in oklch, var(--color-base-content) 5%, #0000);
        }
      }
      :where(.table-pin-rows thead tr) {
        position: sticky;
        top: calc(0.25rem * 0);
        z-index: 1;
        background-color: var(--color-base-100);
      }
      :where(.table-pin-rows tfoot tr) {
        position: sticky;
        bottom: calc(0.25rem * 0);
        z-index: 1;
        background-color: var(--color-base-100);
      }
      :where(.table-pin-cols tr th) {
        position: sticky;
        right: calc(0.25rem * 0);
        left: calc(0.25rem * 0);
        background-color: var(--color-base-100);
      }
      :where(thead tr :is(td, th), tbody tr:not(:last-child) :is(td, th)) {
        border-bottom: var(--border) solid var(--color-base-content);
        @supports (color: color-mix(in lab, red, red)) {
          border-bottom: var(--border) solid color-mix(in oklch, var(--color-base-content) 5%, #0000);
        }
      }
    }
  }
  .steps {
    @layer daisyui.l1.l2.l3 {
      display: inline-grid;
      grid-auto-flow: column;
      overflow: hidden;
      overflow-x: auto;
      counter-reset: step;
      grid-auto-columns: 1fr;
      .step {
        display: grid;
        grid-template-columns: repeat(1, minmax(0, 1fr));
        grid-template-columns: auto;
        grid-template-rows: repeat(2, minmax(0, 1fr));
        grid-template-rows: 40px 1fr;
        place-items: center;
        text-align: center;
        min-width: 4rem;
        --step-bg: var(--color-base-300);
        --step-fg: var(--color-base-content);
        &:before {
          top: calc(0.25rem * 0);
          grid-column-start: 1;
          grid-row-start: 1;
          height: calc(0.25rem * 2);
          width: 100%;
          border: 1px solid;
          color: var(--step-bg);
          background-color: var(--step-bg);
          content: "";
          margin-inline-start: -100%;
        }
        > .step-icon, &:not(:has(.step-icon)):after {
          --tw-content: counter(step);
          content: var(--tw-content);
          counter-increment: step;
          z-index: 1;
          color: var(--step-fg);
          background-color: var(--step-bg);
          border: 1px solid var(--step-bg);
          position: relative;
          grid-column-start: 1;
          grid-row-start: 1;
          display: grid;
          height: calc(0.25rem * 8);
          width: calc(0.25rem * 8);
          place-items: center;
          place-self: center;
          border-radius: calc(infinity * 1px);
        }
        &:first-child:before {
          --tw-content: none;
          content: var(--tw-content);
        }
        &[data-content]:after {
          --tw-content: attr(data-content);
          content: var(--tw-content);
        }
      }
    }
    @layer daisyui.l1.l2 {
      .step-neutral {
        + .step-neutral:before, &:after, > .step-icon {
          --step-bg: var(--color-neutral);
          --step-fg: var(--color-neutral-content);
        }
      }
      .step-primary {
        + .step-primary:before, &:after, > .step-icon {
          --step-bg: var(--color-primary);
          --step-fg: var(--color-primary-content);
        }
      }
      .step-secondary {
        + .step-secondary:before, &:after, > .step-icon {
          --step-bg: var(--color-secondary);
          --step-fg: var(--color-secondary-content);
        }
      }
      .step-accent {
        + .step-accent:before, &:after, > .step-icon {
          --step-bg: var(--color-accent);
          --step-fg: var(--color-accent-content);
        }
      }
      .step-info {
        + .step-info:before, &:after, > .step-icon {
          --step-bg: var(--color-info);
          --step-fg: var(--color-info-content);
        }
      }
      .step-success {
        + .step-success:before, &:after, > .step-icon {
          --step-bg: var(--color-success);
          --step-fg: var(--color-success-content);
        }
      }
      .step-warning {
        + .step-warning:before, &:after, > .step-icon {
          --step-bg: var(--color-warning);
          --step-fg: var(--color-warning-content);
        }
      }
      .step-error {
        + .step-error:before, &:after, > .step-icon {
          --step-bg: var(--color-error);
          --step-fg: var(--color-error-content);
        }
      }
    }
  }
  .range {
    @layer daisyui.l1.l2.l3 {
      appearance: none;
      webkit-appearance: none;
      --range-thumb: var(--color-base-100);
      --range-thumb-size: calc(var(--size-selector, 0.25rem) * 6);
      --range-progress: currentColor;
      --range-fill: 1;
      --range-p: 0.25rem;
      --range-bg: currentColor;
      @supports (color: color-mix(in lab, red, red)) {
        --range-bg: color-mix(in oklab, currentColor 10%, #0000);
      }
      cursor: pointer;
      overflow: hidden;
      background-color: transparent;
      vertical-align: middle;
      width: clamp(3rem, 20rem, 100%);
      --radius-selector-max: calc(
      var(--radius-selector) + var(--radius-selector) + var(--radius-selector)
    );
      border-radius: calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)));
      border: none;
      height: var(--range-thumb-size);
      [dir="rtl"] & {
        --range-dir: -1;
      }
      &:focus {
        outline: none;
      }
      &:focus-visible {
        outline: 2px solid;
        outline-offset: 2px;
      }
      &::-webkit-slider-runnable-track {
        width: 100%;
        background-color: var(--range-bg);
        border-radius: var(--radius-selector);
        height: calc(var(--range-thumb-size) * 0.5);
      }
      @media (forced-colors: active) {
        &::-webkit-slider-runnable-track {
          border: 1px solid;
        }
      }
      @media (forced-colors: active) {
        &::-moz-range-track {
          border: 1px solid;
        }
      }
      &::-webkit-slider-thumb {
        position: relative;
        box-sizing: border-box;
        border-radius: calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)));
        background-color: var(--range-thumb);
        height: var(--range-thumb-size);
        width: var(--range-thumb-size);
        border: var(--range-p) solid;
        appearance: none;
        webkit-appearance: none;
        top: 50%;
        color: var(--range-progress);
        transform: translateY(-50%);
        box-shadow: 0 -1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset, 0 1px currentColor, 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir, 1) * -100cqw) - (var(--range-dir, 1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill));
        @supports (color: color-mix(in lab, red, red)) {
          box-shadow: 0 -1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset, 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000), 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir, 1) * -100cqw) - (var(--range-dir, 1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill));
        }
      }
      &::-moz-range-track {
        width: 100%;
        background-color: var(--range-bg);
        border-radius: var(--radius-selector);
        height: calc(var(--range-thumb-size) * 0.5);
      }
      &::-moz-range-thumb {
        position: relative;
        box-sizing: border-box;
        border-radius: calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)));
        background-color: currentColor;
        height: var(--range-thumb-size);
        width: var(--range-thumb-size);
        border: var(--range-p) solid;
        top: 50%;
        color: var(--range-progress);
        box-shadow: 0 -1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset, 0 1px currentColor, 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir, 1) * -100cqw) - (var(--range-dir, 1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill));
        @supports (color: color-mix(in lab, red, red)) {
          box-shadow: 0 -1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset, 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000), 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir, 1) * -100cqw) - (var(--range-dir, 1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill));
        }
      }
      &:disabled {
        cursor: not-allowed;
        opacity: 30%;
      }
    }
  }
  .swap {
    @layer daisyui.l1.l2.l3 {
      position: relative;
      display: inline-grid;
      cursor: pointer;
      place-content: center;
      vertical-align: middle;
      webkit-user-select: none;
      user-select: none;
      input {
        appearance: none;
        border: none;
      }
      > * {
        grid-column-start: 1;
        grid-row-start: 1;
        @media (prefers-reduced-motion: no-preference) {
          transition-property: transform, rotate, opacity;
          transition-duration: 0.2s;
          transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
        }
      }
      .swap-on, .swap-indeterminate, input:indeterminate ~ .swap-on {
        opacity: 0%;
      }
      input:is(:checked, :indeterminate) {
        & ~ .swap-off {
          opacity: 0%;
        }
      }
      input:checked ~ .swap-on, input:indeterminate ~ .swap-indeterminate {
        opacity: 100%;
        backface-visibility: visible;
      }
    }
  }
  .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border-width: 0;
  }
  .navbar {
    @layer daisyui.l1.l2.l3 {
      display: flex;
      width: 100%;
      align-items: center;
      padding: 0.5rem;
      min-height: 4rem;
    }
    :where(&) {
      @layer daisyui.l1.l2 {
        position: relative;
      }
    }
  }
  .card {
    @layer daisyui.l1.l2.l3 {
      position: relative;
      display: flex;
      flex-direction: column;
      border-radius: var(--radius-box);
      outline-width: 2px;
      transition: outline 0.2s ease-in-out;
      outline: 0 solid #0000;
      outline-offset: 2px;
      &:focus {
        --tw-outline-style: none;
        outline-style: none;
        @media (forced-colors: active) {
          outline: 2px solid transparent;
          outline-offset: 2px;
        }
      }
      &:focus-visible {
        outline-color: currentColor;
      }
      :where(figure:first-child) {
        overflow: hidden;
        border-start-start-radius: inherit;
        border-start-end-radius: inherit;
        border-end-start-radius: unset;
        border-end-end-radius: unset;
      }
      :where(figure:last-child) {
        overflow: hidden;
        border-start-start-radius: unset;
        border-start-end-radius: unset;
        border-end-start-radius: inherit;
        border-end-end-radius: inherit;
      }
      figure {
        display: flex;
        align-items: center;
        justify-content: center;
      }
      &:has(> input:is(input[type="checkbox"], input[type="radio"])) {
        cursor: pointer;
        user-select: none;
      }
      &:has(> :checked) {
        outline: 2px solid currentColor;
      }
    }
  }
  .progress {
    @layer daisyui.l1.l2.l3 {
      position: relative;
      height: calc(0.25rem * 2);
      width: 100%;
      appearance: none;
      overflow: hidden;
      border-radius: var(--radius-box);
      background-color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, currentcolor 20%, transparent);
      }
      color: var(--color-base-content);
      &:indeterminate {
        background-image: repeating-linear-gradient( 90deg, currentColor -1%, currentColor 10%, #0000 10%, #0000 90% );
        background-size: 200%;
        background-position-x: 15%;
        @media (prefers-reduced-motion: no-preference) {
          animation: progress 5s ease-in-out infinite;
        }
        @supports (-moz-appearance: none) {
          &::-moz-progress-bar {
            background-color: transparent;
            @media (prefers-reduced-motion: no-preference) {
              animation: progress 5s ease-in-out infinite;
              background-image: repeating-linear-gradient( 90deg, currentColor -1%, currentColor 10%, #0000 10%, #0000 90% );
              background-size: 200%;
              background-position-x: 15%;
            }
          }
        }
      }
      @supports (-moz-appearance: none) {
        &::-moz-progress-bar {
          border-radius: var(--radius-box);
          background-color: currentcolor;
        }
      }
      @supports (-webkit-appearance: none) {
        &::-webkit-progress-bar {
          border-radius: var(--radius-box);
          background-color: transparent;
        }
        &::-webkit-progress-value {
          border-radius: var(--radius-box);
          background-color: currentColor;
        }
      }
    }
  }
  .absolute {
    position: absolute;
  }
  .fixed {
    position: fixed;
  }
  .relative {
    position: relative;
  }
  .static {
    position: static;
  }
  .sticky {
    position: sticky;
  }
  .top-0 {
    top: calc(var(--spacing) * 0);
  }
  .top-24 {
    top: calc(var(--spacing) * 24);
  }
  .textarea {
    @layer daisyui.l1.l2.l3 {
      border: var(--border) solid #0000;
      min-height: calc(0.25rem * 20);
      flex-shrink: 1;
      appearance: none;
      border-radius: var(--radius-field);
      background-color: var(--color-base-100);
      padding-block: calc(0.25rem * 2);
      vertical-align: middle;
      width: clamp(3rem, 20rem, 100%);
      padding-inline-start: 0.75rem;
      padding-inline-end: 0.75rem;
      font-size: max(var(--font-size, 0.875rem), 0.875rem);
      touch-action: manipulation;
      border-color: var(--input-color);
      box-shadow: 0 1px var(--input-color) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset;
      @supports (color: color-mix(in lab, red, red)) {
        box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset;
      }
      --input-color: var(--color-base-content);
      @supports (color: color-mix(in lab, red, red)) {
        --input-color: color-mix(in oklab, var(--color-base-content) 20%, #0000);
      }
      textarea {
        appearance: none;
        background-color: transparent;
        border: none;
        &:focus, &:focus-within {
          --tw-outline-style: none;
          outline-style: none;
          @media (forced-colors: active) {
            outline: 2px solid transparent;
            outline-offset: 2px;
          }
        }
      }
      &:focus, &:focus-within {
        --input-color: var(--color-base-content);
        box-shadow: 0 1px var(--input-color);
        @supports (color: color-mix(in lab, red, red)) {
          box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000);
        }
        outline: 2px solid var(--input-color);
        outline-offset: 2px;
        isolation: isolate;
      }
      @media (pointer: coarse) {
        @supports (-webkit-touch-callout: none) {
          &:focus, &:focus-within {
            --font-size: 1rem;
          }
        }
      }
      &:has(> textarea[disabled]), &:is(:disabled, [disabled]) {
        cursor: not-allowed;
        border-color: var(--color-base-200);
        background-color: var(--color-base-200);
        color: var(--color-base-content);
        @supports (color: color-mix(in lab, red, red)) {
          color: color-mix(in oklab, var(--color-base-content) 40%, transparent);
        }
        &::placeholder {
          color: var(--color-base-content);
          @supports (color: color-mix(in lab, red, red)) {
            color: color-mix(in oklab, var(--color-base-content) 20%, transparent);
          }
        }
        box-shadow: none;
      }
      &:has(> textarea[disabled]) > textarea[disabled] {
        cursor: not-allowed;
      }
    }
  }
  .stack {
    @layer daisyui.l1.l2.l3 {
      display: inline-grid;
      grid-template-columns: 3px 4px 1fr 4px 3px;
      grid-template-rows: 3px 4px 1fr 4px 3px;
      & > * {
        height: 100%;
        width: 100%;
        &:nth-child(n + 2) {
          width: 100%;
          opacity: 70%;
        }
        &:nth-child(2) {
          z-index: 2;
          opacity: 90%;
        }
        &:nth-child(1) {
          z-index: 3;
          width: 100%;
        }
      }
    }
    @layer daisyui.l1.l2 {
      &, &.stack-bottom {
        > * {
          grid-column: 3 / 4;
          grid-row: 3 / 6;
          &:nth-child(2) {
            grid-column: 2 / 5;
            grid-row: 2 / 5;
          }
          &:nth-child(1) {
            grid-column: 1 / 6;
            grid-row: 1 / 4;
          }
        }
      }
      &.stack-top {
        > * {
          grid-column: 3 / 4;
          grid-row: 1 / 4;
          &:nth-child(2) {
            grid-column: 2 / 5;
            grid-row: 2 / 5;
          }
          &:nth-child(1) {
            grid-column: 1 / 6;
            grid-row: 3 / 6;
          }
        }
      }
      &.stack-start {
        > * {
          grid-column: 1 / 4;
          grid-row: 3 / 4;
          &:nth-child(2) {
            grid-column: 2 / 5;
            grid-row: 2 / 5;
          }
          &:nth-child(1) {
            grid-column: 3 / 6;
            grid-row: 1 / 6;
          }
        }
      }
      &.stack-end {
        > * {
          grid-column: 3 / 6;
          grid-row: 3 / 4;
          &:nth-child(2) {
            grid-column: 2 / 5;
            grid-row: 2 / 5;
          }
          &:nth-child(1) {
            grid-column: 1 / 4;
            grid-row: 1 / 6;
          }
        }
      }
    }
  }
  .z-40 {
    z-index: 40;
  }
  .order-2 {
    order: 2;
  }
  .hero {
    @layer daisyui.l1.l2.l3 {
      display: grid;
      width: 100%;
      place-items: center;
      background-size: cover;
      background-position: center;
      & > * {
        grid-column-start: 1;
        grid-row-start: 1;
      }
    }
  }
  .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;
    }
  }
  .filter {
    @layer daisyui.l1.l2.l3 {
      display: flex;
      flex-wrap: wrap;
      input[type="radio"] {
        width: auto;
      }
      input {
        overflow: hidden;
        opacity: 100%;
        scale: 1;
        transition: margin 0.1s, opacity 0.3s, padding 0.3s, border-width 0.1s;
        &:not(:last-child) {
          margin-inline-end: calc(0.25rem * 1);
        }
        &.filter-reset {
          aspect-ratio: 1 / 1;
          &::after {
            --tw-content: "×";
            content: var(--tw-content);
          }
        }
      }
      &:not(:has(input:checked:not(.filter-reset))) {
        .filter-reset, input[type="reset"] {
          scale: 0;
          border-width: 0;
          margin-inline: calc(0.25rem * 0);
          width: calc(0.25rem * 0);
          padding-inline: calc(0.25rem * 0);
          opacity: 0%;
        }
      }
      &:has(input:checked:not(.filter-reset)) {
        input:not(:checked, .filter-reset, input[type="reset"]) {
          scale: 0;
          border-width: 0;
          margin-inline: calc(0.25rem * 0);
          width: calc(0.25rem * 0);
          padding-inline: calc(0.25rem * 0);
          opacity: 0%;
        }
      }
    }
  }
  .mx-auto {
    margin-inline: auto;
  }
  .label {
    @layer daisyui.l1.l2.l3 {
      display: inline-flex;
      align-items: center;
      gap: calc(0.25rem * 1.5);
      white-space: nowrap;
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 60%, transparent);
      }
      &:has(input) {
        cursor: pointer;
      }
      &:is(.input > *, .select > *) {
        display: flex;
        height: calc(100% - 0.5rem);
        align-items: center;
        padding-inline: calc(0.25rem * 3);
        white-space: nowrap;
        font-size: inherit;
        &:first-child {
          margin-inline-start: calc(0.25rem * -3);
          margin-inline-end: calc(0.25rem * 3);
          border-inline-end: var(--border) solid currentColor;
          @supports (color: color-mix(in lab, red, red)) {
            border-inline-end: var(--border) solid color-mix(in oklab, currentColor 10%, #0000);
          }
        }
        &:last-child {
          margin-inline-start: calc(0.25rem * 3);
          margin-inline-end: calc(0.25rem * -3);
          border-inline-start: var(--border) solid currentColor;
          @supports (color: color-mix(in lab, red, red)) {
            border-inline-start: var(--border) solid color-mix(in oklab, currentColor 10%, #0000);
          }
        }
      }
    }
  }
  .mt-4 {
    margin-top: calc(var(--spacing) * 4);
  }
  .mt-8 {
    margin-top: calc(var(--spacing) * 8);
  }
  .mt-12 {
    margin-top: calc(var(--spacing) * 12);
  }
  .status {
    @layer daisyui.l1.l2.l3 {
      display: inline-block;
      aspect-ratio: 1 / 1;
      width: calc(0.25rem * 2);
      height: calc(0.25rem * 2);
      border-radius: var(--radius-selector);
      background-color: var(--color-base-content);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-base-content) 20%, transparent);
      }
      background-position: center;
      background-repeat: no-repeat;
      vertical-align: middle;
      color: color-mix(in srgb, #000 30%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, var(--color-black) 30%, transparent);
      }
      background-image: radial-gradient( circle at 35% 30%, oklch(1 0 0 / calc(var(--depth) * 0.5)), #0000 );
      box-shadow: 0 2px 3px -1px currentColor;
      @supports (color: color-mix(in lab, red, red)) {
        box-shadow: 0 2px 3px -1px color-mix(in oklab, currentColor calc(var(--depth) * 100%), #0000);
      }
    }
  }
  .footer {
    @layer daisyui.l1.l2.l3 {
      display: grid;
      width: 100%;
      grid-auto-flow: row;
      place-items: start;
      column-gap: calc(0.25rem * 4);
      row-gap: calc(0.25rem * 10);
      font-size: 0.875rem;
      line-height: 1.25rem;
      & > * {
        display: grid;
        place-items: start;
        gap: calc(0.25rem * 2);
      }
      &.footer-center {
        grid-auto-flow: column dense;
        place-items: center;
        text-align: center;
        & > * {
          place-items: center;
        }
      }
    }
  }
  .card-body {
    @layer daisyui.l1.l2.l3 {
      display: flex;
      flex: auto;
      flex-direction: column;
      gap: calc(0.25rem * 2);
      padding: var(--card-p, 1.5rem);
      font-size: var(--card-fs, 0.875rem);
      :where(p) {
        flex-grow: 1;
      }
    }
  }
  .carousel {
    @layer daisyui.l1.l2.l3 {
      display: inline-flex;
      overflow-x: scroll;
      scroll-snap-type: x mandatory;
      scrollbar-width: none;
      @media (prefers-reduced-motion: no-preference) {
        scroll-behavior: smooth;
      }
      &::-webkit-scrollbar {
        display: none;
      }
    }
  }
  .block {
    display: block;
  }
  .contents {
    display: contents;
  }
  .contents\! {
    display: contents !important;
  }
  .flex {
    display: flex;
  }
  .grid {
    display: grid;
  }
  .hidden {
    display: none;
  }
  .inline {
    display: inline;
  }
  .inline-block {
    display: inline-block;
  }
  .table {
    display: table;
  }
  .aspect-\[3\/4\] {
    aspect-ratio: 3/4;
  }
  .h-auto {
    height: auto;
  }
  .min-h-\[85vh\] {
    min-height: 85vh;
  }
  .w-36 {
    width: calc(var(--spacing) * 36);
  }
  .w-full {
    width: 100%;
  }
  .max-w-2xl {
    max-width: var(--container-2xl);
  }
  .max-w-5xl {
    max-width: var(--container-5xl);
  }
  .max-w-6xl {
    max-width: var(--container-6xl);
  }
  .transform {
    transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
  }
  .link {
    @layer daisyui.l1.l2.l3 {
      cursor: pointer;
      text-decoration-line: underline;
      &:focus {
        --tw-outline-style: none;
        outline-style: none;
        @media (forced-colors: active) {
          outline: 2px solid transparent;
          outline-offset: 2px;
        }
      }
      &:focus-visible {
        outline: 2px solid currentColor;
        outline-offset: 2px;
      }
    }
  }
  .resize {
    resize: both;
  }
  .grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .flex-col {
    flex-direction: column;
  }
  .flex-wrap {
    flex-wrap: wrap;
  }
  .items-center {
    align-items: center;
  }
  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }
  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }
  .gap-6 {
    gap: calc(var(--spacing) * 6);
  }
  .gap-10 {
    gap: calc(var(--spacing) * 10);
  }
  .rounded-2xl {
    border-radius: var(--radius-2xl);
  }
  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .border-b {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }
  .border-base-200\/60 {
    border-color: var(--color-base-200);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-base-200) 60%, transparent);
    }
  }
  .bg-base-100 {
    background-color: var(--color-base-100);
  }
  .bg-base-100\/80 {
    background-color: var(--color-base-100);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-base-100) 80%, transparent);
    }
  }
  .bg-base-200 {
    background-color: var(--color-base-200);
  }
  .bg-base-200\/40 {
    background-color: var(--color-base-200);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-base-200) 40%, transparent);
    }
  }
  .bg-neutral {
    background-color: var(--color-neutral);
  }
  .object-cover {
    object-fit: cover;
  }
  .p-8 {
    padding: calc(var(--spacing) * 8);
  }
  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }
  .pt-24 {
    padding-top: calc(var(--spacing) * 24);
  }
  .pb-20 {
    padding-bottom: calc(var(--spacing) * 20);
  }
  .text-center {
    text-align: center;
  }
  .font-sans {
    font-family: var(--font-sans);
  }
  .text-4xl {
    font-size: var(--text-4xl);
    line-height: var(--tw-leading, var(--text-4xl--line-height));
  }
  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }
  .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);
  }
  .tracking-tight {
    --tw-tracking: var(--tracking-tight);
    letter-spacing: var(--tracking-tight);
  }
  .link-primary {
    @layer daisyui.l1.l2 {
      color: var(--color-primary);
      @media (hover: hover) {
        &:hover {
          color: var(--color-primary);
          @supports (color: color-mix(in lab, red, red)) {
            color: color-mix(in oklab, var(--color-primary) 80%, #000);
          }
        }
      }
    }
  }
  .text-base-content {
    color: var(--color-base-content);
  }
  .text-base-content\/70 {
    color: var(--color-base-content);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-base-content) 70%, transparent);
    }
  }
  .text-neutral-content {
    color: var(--color-neutral-content);
  }
  .underline {
    text-decoration-line: underline;
  }
  .antialiased {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  .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-2xl {
    --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / 0.25));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .ring {
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .ring-neutral-content\/10 {
    --tw-ring-color: var(--color-neutral-content);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-ring-color: color-mix(in oklab, var(--color-neutral-content) 10%, transparent);
    }
  }
  .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,);
  }
  .grayscale {
    --tw-grayscale: grayscale(100%);
    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,);
  }
  .backdrop-blur-md {
    --tw-backdrop-blur: blur(var(--blur-md));
    -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
    backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  }
  .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));
  }
  .ease-out {
    --tw-ease: var(--ease-out);
    transition-timing-function: var(--ease-out);
  }
  .btn-lg {
    @layer daisyui.l1.l2 {
      --fontsize: 1.125rem;
      --btn-p: 1.25rem;
      --size: calc(var(--size-field, 0.25rem) * 12);
    }
  }
  .btn-sm {
    @layer daisyui.l1.l2 {
      --fontsize: 0.75rem;
      --btn-p: 0.75rem;
      --size: calc(var(--size-field, 0.25rem) * 8);
    }
  }
  .btn-primary {
    @layer daisyui.l1.l2.l3 {
      --btn-color: var(--color-primary);
      --btn-fg: var(--color-primary-content);
    }
  }
  .card-border {
    @layer daisyui.l1.l2 {
      border: var(--border) solid var(--color-base-200);
    }
  }
  .focus\:not-sr-only {
    &:focus {
      position: static;
      width: auto;
      height: auto;
      padding: 0;
      margin: 0;
      overflow: visible;
      clip-path: none;
      white-space: normal;
    }
  }
  .focus\:absolute {
    &:focus {
      position: absolute;
    }
  }
  .focus\:top-4 {
    &:focus {
      top: calc(var(--spacing) * 4);
    }
  }
  .focus\:left-4 {
    &:focus {
      left: calc(var(--spacing) * 4);
    }
  }
  .focus\:z-50 {
    &:focus {
      z-index: 50;
    }
  }
  .sm\:w-44 {
    @media (width >= 40rem) {
      width: calc(var(--spacing) * 44);
    }
  }
  .sm\:grid-cols-3 {
    @media (width >= 40rem) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
  .md\:order-1 {
    @media (width >= 48rem) {
      order: 1;
    }
  }
  .md\:grid-cols-3 {
    @media (width >= 48rem) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
  .md\:grid-cols-4 {
    @media (width >= 48rem) {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
  }
  .md\:flex-row {
    @media (width >= 48rem) {
      flex-direction: row;
    }
  }
  .md\:gap-12 {
    @media (width >= 48rem) {
      gap: calc(var(--spacing) * 12);
    }
  }
  .md\:gap-16 {
    @media (width >= 48rem) {
      gap: calc(var(--spacing) * 16);
    }
  }
  .md\:text-left {
    @media (width >= 48rem) {
      text-align: left;
    }
  }
  .md\:text-5xl {
    @media (width >= 48rem) {
      font-size: var(--text-5xl);
      line-height: var(--tw-leading, var(--text-5xl--line-height));
    }
  }
  .lg\:block {
    @media (width >= 64rem) {
      display: block;
    }
  }
  .lg\:grid-cols-6 {
    @media (width >= 64rem) {
      grid-template-columns: repeat(6, minmax(0, 1fr));
    }
  }
  .lg\:gap-16 {
    @media (width >= 64rem) {
      gap: calc(var(--spacing) * 16);
    }
  }
  .lg\:text-6xl {
    @media (width >= 64rem) {
      font-size: var(--text-6xl);
      line-height: var(--tw-leading, var(--text-6xl--line-height));
    }
  }
}
:root {
  --paper: #F5EEDF;
  --ink: #241A12;
  --flame: #FF5A2B;
  --gold: #F0A63D;
  --muted: #8C7B62;
  --rule: rgba(36,26,18,0.12);
  --rule-strong: rgba(36,26,18,0.28);
  --panel: rgba(36,26,18,0.045);
  --content-max: 1440px;
}
@media (prefers-color-scheme: dark) {
  :root {
    --paper: #1C140D;
    --ink: #F5EEDF;
    --flame: #FF7A45;
    --gold: #FFC168;
    --muted: #B6A588;
    --rule: rgba(245,238,223,0.12);
    --rule-strong: rgba(245,238,223,0.28);
    --panel: rgba(245,238,223,0.05);
  }
}
body {
  font-family: ui-sans-serif, "Helvetica Neue", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
header.top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 22px clamp(20px,4vw,48px);
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 50;
  color: #F7F0E2;
  backdrop-filter: blur(6px);
  transition: color .3s ease, background-color .3s ease;
}
header.top.scrolled {
  color: var(--ink);
  background: rgba(245,238,223,0.75);
}
@media (prefers-color-scheme: dark) {
  header.top.scrolled {
    background: rgba(28,20,13,0.75);
  }
}
.top .mark {
  display: flex;
  align-items: center;
  line-height: 0;
}
.top .mark img {
  display: block;
  width: 28px;
  height: 28px;
  border-radius: 6px;
}
.top nav {
  display: flex;
  gap: clamp(16px,2vw,32px);
  font-size: 12px;
}
.top nav a {
  color: inherit;
  text-decoration: none;
  opacity: 0.7;
  transition: opacity .2s ease;
}
.top nav a:hover {
  opacity: 1;
}
.sky-hero {
  position: relative;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: stretch;
  padding: clamp(24px,4vw,48px);
  overflow: hidden;
}
.sky {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}
.sky-layer {
  position: absolute;
  inset: 0;
  opacity: 0;
  animation-duration: 60s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}
.sky-layer.sunrise {
  background: linear-gradient(180deg, #2b1f3d 0%, #a63b5c 38%, #ff8a4c 74%, #ffd27a 100%);
  animation-name: phase-sunrise;
}
.sky-layer.day {
  background: linear-gradient(180deg, #BEE9F5 0%, #6FC6E0 40%, #2E93B8 75%, #145C86 100%);
  opacity: 1;
  animation-name: phase-day;
}
.sky-layer.sunset {
  background: linear-gradient(180deg, #3a1c46 0%, #b23a52 32%, var(--flame) 68%, var(--gold) 100%);
  animation-name: phase-sunset;
}
.sky-layer.night {
  background: linear-gradient(180deg, #0b0720 0%, #1b1140 48%, #34205f 100%);
  animation-name: phase-night;
}
@keyframes phase-sunrise {
  0% {
    opacity: 1;
  }
  10% {
    opacity: 1;
  }
  20% {
    opacity: 0;
  }
  90% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes phase-day {
  0% {
    opacity: 0;
  }
  10% {
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  35% {
    opacity: 1;
  }
  45% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@keyframes phase-sunset {
  0% {
    opacity: 0;
  }
  35% {
    opacity: 0;
  }
  45% {
    opacity: 1;
  }
  52% {
    opacity: 1;
  }
  57% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@keyframes phase-night {
  0% {
    opacity: 0;
  }
  52% {
    opacity: 0;
  }
  57% {
    opacity: 1;
  }
  90% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.cirrus-haze {
  position: absolute;
  top: -8%;
  right: -20%;
  width: 76%;
  height: 52%;
  z-index: 0;
  background: radial-gradient(ellipse 70% 60% at 50% 50%, rgba(255,255,255,0.16), transparent 75%);
  filter: blur(18px);
  mix-blend-mode: screen;
  opacity: .6;
  pointer-events: none;
}
.cirrus-sm {
  position: absolute;
  z-index: 0;
  filter: blur(4px);
  mix-blend-mode: screen;
  opacity: .48;
  pointer-events: none;
}
.cirrus-sm.br {
  right: 4%;
  bottom: 58%;
  width: 22%;
  height: 12%;
  background: radial-gradient(ellipse 60% 45% at 35% 45%, rgba(255,255,255,0.42), transparent 74%), radial-gradient(ellipse 42% 32% at 70% 55%, rgba(255,255,255,0.3), transparent 74%);
  transform: rotate(-4deg);
}
.cirrus-sm.ml {
  left: 44%;
  top: 20%;
  width: 20%;
  height: 11%;
  background: radial-gradient(ellipse 55% 42% at 40% 50%, rgba(255,255,255,0.36), transparent 74%), radial-gradient(ellipse 38% 30% at 72% 40%, rgba(255,255,255,0.26), transparent 74%);
  transform: rotate(3deg);
}
.cirrus-sm.p1 {
  left: 52%;
  top: 0%;
  width: 13%;
  height: 7%;
  background: radial-gradient(ellipse 58% 44% at 38% 48%, rgba(255,255,255,0.3), transparent 74%), radial-gradient(ellipse 40% 30% at 72% 52%, rgba(255,255,255,0.22), transparent 74%);
  transform: rotate(-2deg);
}
.cirrus-sm.p2 {
  left: 68%;
  top: 26%;
  width: 12%;
  height: 7%;
  background: radial-gradient(ellipse 56% 42% at 42% 46%, rgba(255,255,255,0.3), transparent 74%), radial-gradient(ellipse 36% 28% at 74% 56%, rgba(255,255,255,0.2), transparent 74%);
  transform: rotate(5deg);
}
.cirrus-sm.p3 {
  right: -3%;
  top: 12%;
  width: 10%;
  height: 6%;
  background: radial-gradient(ellipse 60% 45% at 40% 50%, rgba(255,255,255,0.26), transparent 74%), radial-gradient(ellipse 38% 28% at 72% 46%, rgba(255,255,255,0.18), transparent 74%);
  transform: rotate(-6deg);
}
.cirrus-sm.p4 {
  left: 61%;
  top: 8%;
  width: 11%;
  height: 6%;
  background: radial-gradient(ellipse 58% 44% at 40% 50%, rgba(255,255,255,0.28), transparent 74%), radial-gradient(ellipse 36% 28% at 74% 44%, rgba(255,255,255,0.18), transparent 74%);
  transform: rotate(4deg);
}
.cirrus-sm.p5 {
  right: 10%;
  bottom: 63%;
  width: 9%;
  height: 5%;
  background: radial-gradient(ellipse 58% 44% at 42% 50%, rgba(255,255,255,0.26), transparent 74%), radial-gradient(ellipse 34% 26% at 72% 48%, rgba(255,255,255,0.16), transparent 74%);
  transform: rotate(-3deg);
}
.stars {
  position: absolute;
  inset: 0;
  opacity: 0;
  animation: phase-night 60s linear infinite;
}
.stars::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 1px;
  border-radius: 50%;
  box-shadow: 63.94vw 1.9vh 0 rgba(255,255,255,0.52), 22.32vw 55.97vh 0 rgba(255,255,255,0.76), 89.22vw 6.61vh 0 rgba(255,255,255,0.6), 2.98vw 16.62vh 0 rgba(255,255,255,0.65), 2.65vw 15.11vh 0 rgba(255,255,255,0.74), 54.49vw 16.75vh 0 rgba(255,255,255,0.7), 80.94vw 0.49vh 0 rgba(255,255,255,0.83), 69.81vw 25.86vh 0 rgba(255,255,255,0.44), 95.72vw 25.58vh 0 rgba(255,255,255,0.41), 9.67vw 64.41vh 0 rgba(255,255,255,0.71), 80.71vw 55.46vh 0 rgba(255,255,255,0.67), 97.31vw 28.77vh 0 rgba(255,255,255,0.68), 82.94vw 47.01vh 0 rgba(255,255,255,0.87), 57.74vw 53.55vh 0 rgba(255,255,255,0.38), 22.79vw 21.99vh 0 rgba(255,255,255,0.4), 23.28vw 7.68vh 0 rgba(255,255,255,0.52), 63.57vw 27.73vh 0 rgba(255,255,255,0.57), 20.95vw 20.29vh 0 rgba(255,255,255,0.91), 64.8vw 46.29vh 0 rgba(255,255,255,0.45), 72.91vw 12.42vh 0 rgba(255,255,255,0.58), 98.95vw 48.64vh 0 rgba(255,255,255,0.68), 68.46vw 64.06vh 0 rgba(255,255,255,0.82), 22.9vw 2.44vh 0 rgba(255,255,255,0.54), 26.77vw 16.03vh 0 rgba(255,255,255,0.92), 87.64vw 23.92vh 0 rgba(255,255,255,0.74), 39.56vw 69.51vh 0 rgba(255,255,255,0.63), 26.49vw 18.74vh 0 rgba(255,255,255,0.69), 26.27vw 44.43vh 0 rgba(255,255,255,0.89), 39.94vw 16.67vh 0 rgba(255,255,255,0.95), 50.95vw 6.91vh 0 rgba(255,255,255,0.38), 10.96vw 47.69vh 0 rgba(255,255,255,0.83), 42.22vw 4.83vh 0 rgba(255,255,255,0.58), 99.61vw 40.21vh 0 rgba(255,255,255,0.93), 86.08vw 0.87vh 0 rgba(255,255,255,0.78), 68.17vw 40.81vh 0 rgba(255,255,255,0.51), 64.1vw 8.48vh 0 rgba(255,255,255,0.61), 45.37vw 72.49vh 0 rgba(255,255,255,0.88), 26.34vw 38.04vh 0 rgba(255,255,255,0.46), 91.26vw 66.16vh 0 rgba(255,255,255,0.53), 63.89vw 46.28vh 0 rgba(255,255,255,0.44), 76.25vw 40.99vh 0 rgba(255,255,255,0.82), 53.04vw 0.04vh 0 rgba(255,255,255,0.54), 1.95vw 70.61vh 0 rgba(255,255,255,0.88), 83.17vw 23.37vh 0 rgba(255,255,255,0.38), 87.8vw 71.97vh 0 rgba(255,255,255,0.4), 48.6vw 5.26vh 0 rgba(255,255,255,0.81), 76.58vw 9.76vh 0 rgba(255,255,255,0.64), 54.98vw 20.14vh 0 rgba(255,255,255,0.87), 42.31vw 16.1vh 0 rgba(255,255,255,0.67), 72.99vw 15.29vh 0 rgba(255,255,255,0.54), 99.51vw 49.39vh 0 rgba(255,255,255,0.61), 51.76vw 9.2vh 0 rgba(255,255,255,0.48), 33.81vw 44.71vh 0 rgba(255,255,255,0.49), 22.02vw 5.4vh 0 rgba(255,255,255,0.73), 22.89vw 68.81vh 0 rgba(255,255,255,0.87), 7.09vw 18.09vh 0 rgba(255,255,255,0.75), 21.42vw 10.06vh 0 rgba(255,255,255,0.91), 57.1vw 35.92vh 0 rgba(255,255,255,0.82), 80.75vw 14.47vh 0 rgba(255,255,255,0.41), 43.11vw 32.19vh 0 rgba(255,255,255,0.63), 72.91vw 51.18vh 0 rgba(255,255,255,0.94), 9.84vw 30.6vh 0 rgba(255,255,255,0.55), 86.17vw 18.9vh 0 rgba(255,255,255,0.46), 44.86vw 32.06vh 0 rgba(255,255,255,0.52), 24.98vw 70.17vh 0 rgba(255,255,255,0.62), 86.13vw 41.82vh 0 rgba(255,255,255,0.38), 99.93vw 63.54vh 0 rgba(255,255,255,0.93), 92.64vw 64.5vh 0 rgba(255,255,255,0.45), 48.56vw 16.24vh 0 rgba(255,255,255,0.59), 5.86vw 28.8vh 0 rgba(255,255,255,0.94), 26.52vw 59.59vh 0 rgba(255,255,255,0.62), 42.3vw 72.76vh 0 rgba(255,255,255,0.95), 55.58vw 54.6vh 0 rgba(255,255,255,0.44), 29.67vw 73.62vh 0 rgba(255,255,255,0.7), 54.22vw 56.85vh 0 rgba(255,255,255,0.38), 58.42vw 38.22vh 0 rgba(255,255,255,0.86), 15.74vw 73.02vh 0 rgba(255,255,255,0.4), 18.58vw 45.22vh 0 rgba(255,255,255,0.76), 23.52vw 9.11vh 0 rgba(255,255,255,0.88), 24.62vw 45.18vh 0 rgba(255,255,255,0.72), 41.92vw 44.36vh 0 rgba(255,255,255,0.66), 93.47vw 15.52vh 0 rgba(255,255,255,0.78), 23.87vw 30.08vh 0 rgba(255,255,255,0.75), 30.0vw 24.03vh 0 rgba(255,255,255,0.8), 7.25vw 34.83vh 0 rgba(255,255,255,0.95), 99.61vw 5.57vh 0 rgba(255,255,255,0.48), 26.52vw 70.93vh 0 rgba(255,255,255,0.88), 87.93vw 28.08vh 0 rgba(255,255,255,0.44), 83.37vw 53.47vh 0 rgba(255,255,255,0.72), 98.72vw 49.7vh 0 rgba(255,255,255,0.35), 81.71vw 22.75vh 0 rgba(255,255,255,0.75), 93.89vw 10.21vh 0 rgba(255,255,255,0.42), 10.7vw 42.04vh 0 rgba(255,255,255,0.51), 60.48vw 54.54vh 0 rgba(255,255,255,0.47), 63.42vw 20.06vh 0 rgba(255,255,255,0.64), 90.53vw 64.3vh 0 rgba(255,255,255,0.41), 42.36vw 21.03vh 0 rgba(255,255,255,0.35), 77.11vw 48.42vh 0 rgba(255,255,255,0.51), 74.12vw 41.93vh 0 rgba(255,255,255,0.61), 0.97vw 5.72vh 0 rgba(255,255,255,0.88), 90.39vw 41.46vh 0 rgba(255,255,255,0.85), 58.25vw 11.26vh 0 rgba(255,255,255,0.43), 30.83vw 68.32vh 0 rgba(255,255,255,0.83), 86.07vw 68.32vh 0 rgba(255,255,255,0.48), 24.95vw 7.81vh 0 rgba(255,255,255,0.82), 88.41vw 30.88vh 0 rgba(255,255,255,0.72), 15.46vw 70.67vh 0 rgba(255,255,255,0.87), 97.62vw 61.62vh 0 rgba(255,255,255,0.88), 2.48vw 55.98vh 0 rgba(255,255,255,0.55), 93.08vw 60.97vh 0 rgba(255,255,255,0.87), 81.07vw 20.28vh 0 rgba(255,255,255,0.82), 10.81vw 66.28vh 0 rgba(255,255,255,0.87), 22.24vw 62.06vh 0 rgba(255,255,255,0.63), 30.52vw 60.45vh 0 rgba(255,255,255,0.49), 2.37vw 14.68vh 0 rgba(255,255,255,0.55), 86.44vw 73.48vh 0 rgba(255,255,255,0.52), 64.15vw 30.38vh 0 rgba(255,255,255,0.94), 53.62vw 71.38vh 0 rgba(255,255,255,0.42), 97.04vw 13.57vh 0 rgba(255,255,255,0.93), 26.55vw 8.24vh 0 rgba(255,255,255,0.61), 72.85vw 23.84vh 0 rgba(255,255,255,0.71), 51.14vw 29.27vh 0 rgba(255,255,255,0.7), 25.47vw 53.87vh 0 rgba(255,255,255,0.35), 92.56vw 40.92vh 0 rgba(255,255,255,0.78), 74.2vw 50.97vh 0 rgba(255,255,255,0.57), 7.0vw 50.48vh 0 rgba(255,255,255,0.55), 31.39vw 64.45vh 0 rgba(255,255,255,0.78), 30.03vw 23.51vh 0 rgba(255,255,255,0.6), 40.24vw 22.47vh 0 rgba(255,255,255,0.43), 42.04vw 71.47vh 0 rgba(255,255,255,0.76), 90.28vw 46.78vh 0 rgba(255,255,255,0.53), 54.79vw 0.03vh 0 rgba(255,255,255,0.52), 42.99vw 44.08vh 0 rgba(255,255,255,0.74), 46.5vw 33.6vh 0 rgba(255,255,255,0.48), 47.32vw 68.49vh 0 rgba(255,255,255,0.83), 16.97vw 6.44vh 0 rgba(255,255,255,0.66), 63.29vw 25.47vh 0 rgba(255,255,255,0.84), 75.11vw 51.13vh 0 rgba(255,255,255,0.48), 19.91vw 1.86vh 0 rgba(255,255,255,0.5), 47.51vw 64.58vh 0 rgba(255,255,255,0.39);
  animation: twinkle 4.5s ease-in-out infinite;
}
@keyframes twinkle {
  0%,100% {
    filter: brightness(1);
  }
  50% {
    filter: brightness(1.5);
  }
}
.milkyway {
  position: absolute;
  left: -20%;
  top: -10%;
  width: 140%;
  height: 70%;
  z-index: 0;
  background: linear-gradient(115deg, transparent 15%, rgba(160,150,255,0.10) 35%, rgba(230,220,255,0.16) 50%, rgba(160,150,255,0.10) 65%, transparent 85%);
  filter: blur(18px);
  transform: rotate(-18deg);
  opacity: 0;
  animation: phase-night 60s linear infinite;
}
.sun {
  position: absolute;
  aspect-ratio: 1/1;
  left: 56%;
  bottom: 46%;
  opacity: 1;
  z-index: 1;
  will-change: left, bottom, width, opacity;
  animation: sun-cycle 60s linear infinite;
}
.sun-back {
  position: absolute;
  inset: -12%;
  z-index: 1;
  clip-path: polygon(89.9% 50.8%, 83.8% 85.5%, 58.3% 95.0%, 32.3% 86.2%, 7.5% 68.0%, 2.3% 36.3%, 26.6% 17.7%, 53.6% 3.0%, 82.3% 21.1%);
  background: linear-gradient(140deg, #c74a2e, #7a2a3d);
  opacity: .55;
  transform: rotate(9deg);
}
.sun-front {
  position: absolute;
  inset: 0;
  z-index: 2;
  clip-path: polygon(90.6% 48.3%, 82.7% 72.7%, 67.5% 89.3%, 48.4% 94.6%, 25.2% 86.1%, 13.0% 65.2%, 3.6% 37.3%, 20.1% 21.2%, 44.5% 0.9%, 68.7% 10.9%, 85.5% 32.6%);
  background: linear-gradient(145deg, #ffc88c, #ff5a2b);
  box-shadow: 0 0 46px 6px rgba(255,90,43,0.4);
  animation: sun-color 60s linear infinite;
}
@keyframes sun-cycle {
  0% {
    left: 8.00%;
    bottom: 2.00%;
    width: 28.8px;
    opacity: 0.00;
  }
  1% {
    left: 9.09%;
    bottom: 4.87%;
    width: 30.3px;
    opacity: 0.11;
  }
  2% {
    left: 10.20%;
    bottom: 7.71%;
    width: 31.9px;
    opacity: 0.22;
  }
  3% {
    left: 11.35%;
    bottom: 10.51%;
    width: 33.5px;
    opacity: 0.33;
  }
  4% {
    left: 12.53%;
    bottom: 13.27%;
    width: 35.1px;
    opacity: 0.44;
  }
  5% {
    left: 13.74%;
    bottom: 16.00%;
    width: 36.7px;
    opacity: 0.56;
  }
  6% {
    left: 14.98%;
    bottom: 18.69%;
    width: 38.4px;
    opacity: 0.67;
  }
  7% {
    left: 16.26%;
    bottom: 21.34%;
    width: 40.1px;
    opacity: 0.78;
  }
  8% {
    left: 17.56%;
    bottom: 23.97%;
    width: 41.8px;
    opacity: 0.89;
  }
  9% {
    left: 18.90%;
    bottom: 26.55%;
    width: 43.5px;
    opacity: 1.00;
  }
  10% {
    left: 20.27%;
    bottom: 29.11%;
    width: 43.9px;
    opacity: 1.00;
  }
  11% {
    left: 21.67%;
    bottom: 31.63%;
    width: 44.3px;
    opacity: 1.00;
  }
  12% {
    left: 23.10%;
    bottom: 34.12%;
    width: 44.7px;
    opacity: 1.00;
  }
  13% {
    left: 24.57%;
    bottom: 36.57%;
    width: 45.1px;
    opacity: 1.00;
  }
  14% {
    left: 26.06%;
    bottom: 39.00%;
    width: 45.5px;
    opacity: 1.00;
  }
  15% {
    left: 27.59%;
    bottom: 41.40%;
    width: 45.9px;
    opacity: 1.00;
  }
  16% {
    left: 29.15%;
    bottom: 43.76%;
    width: 46.3px;
    opacity: 1.00;
  }
  17% {
    left: 30.75%;
    bottom: 46.10%;
    width: 46.7px;
    opacity: 1.00;
  }
  18% {
    left: 32.38%;
    bottom: 48.40%;
    width: 47.1px;
    opacity: 1.00;
  }
  19% {
    left: 34.04%;
    bottom: 50.68%;
    width: 47.5px;
    opacity: 1.00;
  }
  20% {
    left: 35.73%;
    bottom: 52.93%;
    width: 47.9px;
    opacity: 1.00;
  }
  21% {
    left: 37.46%;
    bottom: 55.16%;
    width: 48.2px;
    opacity: 1.00;
  }
  22% {
    left: 39.22%;
    bottom: 57.35%;
    width: 48.6px;
    opacity: 1.00;
  }
  23% {
    left: 41.02%;
    bottom: 59.52%;
    width: 49.0px;
    opacity: 1.00;
  }
  24% {
    left: 42.85%;
    bottom: 61.67%;
    width: 49.4px;
    opacity: 1.00;
  }
  25% {
    left: 44.71%;
    bottom: 63.79%;
    width: 49.8px;
    opacity: 1.00;
  }
  26% {
    left: 46.60%;
    bottom: 65.88%;
    width: 50.2px;
    opacity: 1.00;
  }
  27% {
    left: 48.54%;
    bottom: 67.95%;
    width: 50.6px;
    opacity: 1.00;
  }
  28% {
    left: 50.50%;
    bottom: 70.00%;
    width: 51.0px;
    opacity: 1.00;
  }
  29% {
    left: 52.50%;
    bottom: 72.02%;
    width: 51.4px;
    opacity: 1.00;
  }
  30% {
    left: 54.53%;
    bottom: 74.03%;
    width: 51.8px;
    opacity: 1.00;
  }
  31% {
    left: 56.60%;
    bottom: 76.01%;
    width: 52.2px;
    opacity: 1.00;
  }
  32% {
    left: 58.71%;
    bottom: 77.97%;
    width: 52.6px;
    opacity: 1.00;
  }
  33% {
    left: 60.84%;
    bottom: 79.90%;
    width: 53.0px;
    opacity: 1.00;
  }
  34% {
    left: 63.02%;
    bottom: 81.82%;
    width: 53.4px;
    opacity: 1.00;
  }
  35% {
    left: 65.23%;
    bottom: 83.72%;
    width: 53.8px;
    opacity: 1.00;
  }
  36% {
    left: 67.47%;
    bottom: 85.60%;
    width: 54.1px;
    opacity: 1.00;
  }
  37% {
    left: 69.75%;
    bottom: 87.46%;
    width: 54.5px;
    opacity: 1.00;
  }
  38% {
    left: 72.07%;
    bottom: 89.30%;
    width: 54.9px;
    opacity: 1.00;
  }
  39% {
    left: 74.42%;
    bottom: 91.13%;
    width: 55.3px;
    opacity: 1.00;
  }
  40% {
    left: 76.80%;
    bottom: 92.93%;
    width: 55.7px;
    opacity: 1.00;
  }
  41% {
    left: 79.23%;
    bottom: 94.72%;
    width: 56.1px;
    opacity: 1.00;
  }
  42% {
    left: 81.69%;
    bottom: 96.50%;
    width: 56.5px;
    opacity: 1.00;
  }
  43% {
    left: 84.18%;
    bottom: 98.26%;
    width: 56.9px;
    opacity: 1.00;
  }
  44% {
    left: 86.72%;
    bottom: 100.01%;
    width: 57.3px;
    opacity: 1.00;
  }
  45% {
    left: 89.28%;
    bottom: 101.74%;
    width: 57.7px;
    opacity: 1.00;
  }
  46% {
    left: 91.89%;
    bottom: 103.45%;
    width: 58.1px;
    opacity: 1.00;
  }
  47% {
    left: 94.53%;
    bottom: 105.16%;
    width: 58.5px;
    opacity: 0.90;
  }
  48% {
    left: 97.21%;
    bottom: 106.85%;
    width: 58.9px;
    opacity: 0.80;
  }
  49% {
    left: 99.93%;
    bottom: 108.53%;
    width: 59.2px;
    opacity: 0.70;
  }
  50% {
    left: 102.68%;
    bottom: 110.20%;
    width: 59.6px;
    opacity: 0.60;
  }
  51% {
    left: 105.48%;
    bottom: 111.86%;
    width: 60.0px;
    opacity: 0.50;
  }
  52% {
    left: 108.30%;
    bottom: 113.50%;
    width: 60.4px;
    opacity: 0.40;
  }
  53% {
    left: 111.17%;
    bottom: 115.14%;
    width: 60.8px;
    opacity: 0.30;
  }
  54% {
    left: 114.08%;
    bottom: 116.77%;
    width: 61.2px;
    opacity: 0.20;
  }
  55% {
    left: 117.02%;
    bottom: 118.39%;
    width: 61.6px;
    opacity: 0.10;
  }
  56% {
    left: 120.00%;
    bottom: 120.00%;
    width: 62.0px;
    opacity: 0.00;
  }
  57% {
    left: 120.00%;
    bottom: 120.00%;
    width: 62.0px;
    opacity: 0.00;
  }
  58% {
    left: 8%;
    bottom: 2%;
    width: 40.0px;
    opacity: 0;
  }
  64% {
    left: 8%;
    bottom: 2%;
    width: 40.0px;
    opacity: 0;
  }
  72% {
    left: 8%;
    bottom: 2%;
    width: 40.0px;
    opacity: 0;
  }
  80% {
    left: 8%;
    bottom: 2%;
    width: 40.0px;
    opacity: 0;
  }
  88% {
    left: 8%;
    bottom: 2%;
    width: 40.0px;
    opacity: 0;
  }
  96% {
    left: 8%;
    bottom: 2%;
    width: 40.0px;
    opacity: 0;
  }
  100% {
    left: 8%;
    bottom: 2%;
    width: 40.0px;
    opacity: 0;
  }
}
@keyframes sun-color {
  0% {
    background: linear-gradient(145deg, #ffc88c, #ff5a2b);
    box-shadow: 0 0 40px 6px rgba(255,90,43,0.00);
  }
  1% {
    background: linear-gradient(145deg, #ffc98c, #ff5a2b);
    box-shadow: 0 0 40px 6px rgba(255,90,43,0.04);
  }
  2% {
    background: linear-gradient(145deg, #ffca8d, #ff5a2b);
    box-shadow: 0 0 40px 6px rgba(255,90,43,0.09);
  }
  3% {
    background: linear-gradient(145deg, #ffcb8d, #ff5a2b);
    box-shadow: 0 0 41px 6px rgba(255,90,43,0.13);
  }
  4% {
    background: linear-gradient(145deg, #ffcb8d, #ff5a2b);
    box-shadow: 0 0 41px 6px rgba(255,90,43,0.18);
  }
  5% {
    background: linear-gradient(145deg, #ffcc8e, #ff5a2b);
    box-shadow: 0 0 41px 6px rgba(255,90,43,0.22);
  }
  6% {
    background: linear-gradient(145deg, #ffcd8e, #ff5a2b);
    box-shadow: 0 0 42px 6px rgba(255,90,43,0.27);
  }
  7% {
    background: linear-gradient(145deg, #ffce8e, #ff5a2b);
    box-shadow: 0 0 42px 6px rgba(255,90,43,0.31);
  }
  8% {
    background: linear-gradient(145deg, #ffcf8f, #ff5a2b);
    box-shadow: 0 0 42px 6px rgba(255,90,43,0.36);
  }
  9% {
    background: linear-gradient(145deg, #ffd08f, #ff5a2b);
    box-shadow: 0 0 42px 6px rgba(255,90,43,0.40);
  }
  10% {
    background: linear-gradient(145deg, #ffd190, #ff5a2b);
    box-shadow: 0 0 42px 7px rgba(255,90,43,0.40);
  }
  11% {
    background: linear-gradient(145deg, #ffd190, #ff5a2b);
    box-shadow: 0 0 43px 7px rgba(255,90,43,0.40);
  }
  12% {
    background: linear-gradient(145deg, #ffd290, #ff5a2b);
    box-shadow: 0 0 43px 7px rgba(255,90,43,0.40);
  }
  13% {
    background: linear-gradient(145deg, #ffd391, #ff5a2b);
    box-shadow: 0 0 43px 7px rgba(255,90,43,0.40);
  }
  14% {
    background: linear-gradient(145deg, #ffd491, #ff5a2b);
    box-shadow: 0 0 44px 7px rgba(255,90,43,0.40);
  }
  15% {
    background: linear-gradient(145deg, #ffd591, #ff5a2b);
    box-shadow: 0 0 44px 7px rgba(255,90,43,0.40);
  }
  16% {
    background: linear-gradient(145deg, #ffd692, #ff5a2b);
    box-shadow: 0 0 44px 7px rgba(255,90,43,0.40);
  }
  17% {
    background: linear-gradient(145deg, #ffd792, #ff5a2b);
    box-shadow: 0 0 44px 7px rgba(255,90,43,0.40);
  }
  18% {
    background: linear-gradient(145deg, #ffd792, #ff5a2b);
    box-shadow: 0 0 44px 7px rgba(255,90,43,0.40);
  }
  19% {
    background: linear-gradient(145deg, #ffd893, #ff5a2b);
    box-shadow: 0 0 45px 7px rgba(255,90,43,0.40);
  }
  20% {
    background: linear-gradient(145deg, #ffd993, #ff5a2b);
    box-shadow: 0 0 45px 7px rgba(255,90,43,0.40);
  }
  21% {
    background: linear-gradient(145deg, #ffda94, #ff5a2b);
    box-shadow: 0 0 45px 7px rgba(255,90,43,0.40);
  }
  22% {
    background: linear-gradient(145deg, #ffdb94, #ff5a2b);
    box-shadow: 0 0 46px 7px rgba(255,90,43,0.40);
  }
  23% {
    background: linear-gradient(145deg, #ffdc94, #ff5a2b);
    box-shadow: 0 0 46px 7px rgba(255,90,43,0.40);
  }
  24% {
    background: linear-gradient(145deg, #ffdd95, #ff5a2b);
    box-shadow: 0 0 46px 7px rgba(255,90,43,0.40);
  }
  25% {
    background: linear-gradient(145deg, #ffdd95, #ff5a2b);
    box-shadow: 0 0 46px 7px rgba(255,90,43,0.40);
  }
  26% {
    background: linear-gradient(145deg, #ffde95, #ff5a2b);
    box-shadow: 0 0 46px 7px rgba(255,90,43,0.40);
  }
  27% {
    background: linear-gradient(145deg, #ffdf96, #ff5a2b);
    box-shadow: 0 0 47px 7px rgba(255,90,43,0.40);
  }
  28% {
    background: linear-gradient(145deg, #ffe096, #ff5a2b);
    box-shadow: 0 0 47px 8px rgba(255,90,43,0.40);
  }
  29% {
    background: linear-gradient(145deg, #ffde95, #fc592c);
    box-shadow: 0 0 47px 8px rgba(252,89,44,0.40);
  }
  30% {
    background: linear-gradient(145deg, #ffdc95, #fa582e);
    box-shadow: 0 0 48px 8px rgba(250,88,46,0.40);
  }
  31% {
    background: linear-gradient(145deg, #ffda94, #f7572f);
    box-shadow: 0 0 48px 8px rgba(247,87,47,0.40);
  }
  32% {
    background: linear-gradient(145deg, #ffd893, #f45531);
    box-shadow: 0 0 48px 8px rgba(244,85,49,0.40);
  }
  33% {
    background: linear-gradient(145deg, #ffd692, #f15432);
    box-shadow: 0 0 48px 8px rgba(241,84,50,0.40);
  }
  34% {
    background: linear-gradient(145deg, #ffd492, #ee5333);
    box-shadow: 0 0 48px 8px rgba(238,83,51,0.40);
  }
  35% {
    background: linear-gradient(145deg, #ffd291, #ec5235);
    box-shadow: 0 0 49px 8px rgba(236,82,53,0.40);
  }
  36% {
    background: linear-gradient(145deg, #ffd190, #e95136);
    box-shadow: 0 0 49px 8px rgba(233,81,54,0.40);
  }
  37% {
    background: linear-gradient(145deg, #ffcf90, #e65038);
    box-shadow: 0 0 49px 8px rgba(230,80,56,0.40);
  }
  38% {
    background: linear-gradient(145deg, #ffcd8f, #e44f39);
    box-shadow: 0 0 50px 8px rgba(228,79,57,0.40);
  }
  39% {
    background: linear-gradient(145deg, #ffcb8e, #e14d3a);
    box-shadow: 0 0 50px 8px rgba(225,77,58,0.40);
  }
  40% {
    background: linear-gradient(145deg, #ffc98d, #de4c3c);
    box-shadow: 0 0 50px 8px rgba(222,76,60,0.40);
  }
  41% {
    background: linear-gradient(145deg, #ffc78d, #db4b3d);
    box-shadow: 0 0 50px 8px rgba(219,75,61,0.40);
  }
  42% {
    background: linear-gradient(145deg, #ffc58c, #d84a3e);
    box-shadow: 0 0 50px 8px rgba(216,74,62,0.40);
  }
  43% {
    background: linear-gradient(145deg, #ffc38b, #d64940);
    box-shadow: 0 0 51px 8px rgba(214,73,64,0.40);
  }
  44% {
    background: linear-gradient(145deg, #ffc18b, #d34841);
    box-shadow: 0 0 51px 8px rgba(211,72,65,0.40);
  }
  45% {
    background: linear-gradient(145deg, #ffbf8a, #d04743);
    box-shadow: 0 0 51px 8px rgba(208,71,67,0.40);
  }
  46% {
    background: linear-gradient(145deg, #ffbd89, #ce4544);
    box-shadow: 0 0 52px 8px rgba(206,69,68,0.40);
  }
  47% {
    background: linear-gradient(145deg, #ffbb88, #cb4445);
    box-shadow: 0 0 52px 9px rgba(203,68,69,0.36);
  }
  48% {
    background: linear-gradient(145deg, #ffb988, #c84347);
    box-shadow: 0 0 52px 9px rgba(200,67,71,0.32);
  }
  49% {
    background: linear-gradient(145deg, #ffb887, #c54248);
    box-shadow: 0 0 52px 9px rgba(197,66,72,0.28);
  }
  50% {
    background: linear-gradient(145deg, #ffb686, #c2414a);
    box-shadow: 0 0 52px 9px rgba(194,65,74,0.24);
  }
  51% {
    background: linear-gradient(145deg, #ffb486, #c0404b);
    box-shadow: 0 0 53px 9px rgba(192,64,75,0.20);
  }
  52% {
    background: linear-gradient(145deg, #ffb285, #bd3f4c);
    box-shadow: 0 0 53px 9px rgba(189,63,76,0.16);
  }
  53% {
    background: linear-gradient(145deg, #ffb084, #ba3d4e);
    box-shadow: 0 0 53px 9px rgba(186,61,78,0.12);
  }
  54% {
    background: linear-gradient(145deg, #ffae83, #b83c4f);
    box-shadow: 0 0 54px 9px rgba(184,60,79,0.08);
  }
  55% {
    background: linear-gradient(145deg, #ffac83, #b53b51);
    box-shadow: 0 0 54px 9px rgba(181,59,81,0.04);
  }
  56% {
    background: linear-gradient(145deg, #ffaa82, #b23a52);
    box-shadow: 0 0 54px 9px rgba(178,58,82,0.00);
  }
  57% {
    background: linear-gradient(145deg, #ffaa82, #b23a52);
    box-shadow: 0 0 54px 9px rgba(178,58,82,0.00);
  }
  58% {
    background: linear-gradient(145deg, #ffc88c, #ff5a2b);
    box-shadow: 0 0 40px 6px rgba(255,90,43,0);
  }
  64% {
    background: linear-gradient(145deg, #ffc88c, #ff5a2b);
    box-shadow: 0 0 40px 6px rgba(255,90,43,0);
  }
  72% {
    background: linear-gradient(145deg, #ffc88c, #ff5a2b);
    box-shadow: 0 0 40px 6px rgba(255,90,43,0);
  }
  80% {
    background: linear-gradient(145deg, #ffc88c, #ff5a2b);
    box-shadow: 0 0 40px 6px rgba(255,90,43,0);
  }
  88% {
    background: linear-gradient(145deg, #ffc88c, #ff5a2b);
    box-shadow: 0 0 40px 6px rgba(255,90,43,0);
  }
  96% {
    background: linear-gradient(145deg, #ffc88c, #ff5a2b);
    box-shadow: 0 0 40px 6px rgba(255,90,43,0);
  }
  100% {
    background: linear-gradient(145deg, #ffc88c, #ff5a2b);
    box-shadow: 0 0 40px 6px rgba(255,90,43,0);
  }
}
.moon {
  position: absolute;
  aspect-ratio: 1/1;
  left: 35%;
  bottom: 58%;
  opacity: 0;
  z-index: 1;
  will-change: left, bottom, width, opacity;
  animation: moon-cycle 60s linear infinite;
}
.moon-back {
  position: absolute;
  inset: -12%;
  z-index: 1;
  clip-path: polygon(94.9% 52.8%, 78.0% 76.8%, 47.9% 99.5%, 16.7% 84.5%, 6.9% 54.8%, 17.6% 21.9%, 51.3% 2.0%, 84.2% 16.1%);
  background: linear-gradient(150deg, #5a6a95, #2f3a5c);
  opacity: .5;
  transform: rotate(-8deg);
}
.moon-front {
  position: absolute;
  inset: 0;
  z-index: 2;
  clip-path: polygon(89.0% 54.3%, 91.7% 77.6%, 59.7% 87.8%, 27.8% 85.4%, 10.9% 60.2%, 12.8% 31.6%, 26.5% 6.8%, 60.7% 2.1%, 80.4% 27.0%);
  background: linear-gradient(150deg, #fbfcff, #aab8dd);
  box-shadow: 0 0 20px 3px rgba(170,184,221,0.4);
}
.moon-shadow {
  position: absolute;
  inset: -2%;
  border-radius: 50%;
  background: #0b0720;
}
@keyframes moon-cycle {
  0% {
    left: 0%;
    bottom: 58%;
    width: 19px;
    opacity: 0;
  }
  58% {
    left: 0.00%;
    bottom: 58.00%;
    width: 17.0px;
    opacity: 0.00;
  }
  60% {
    left: 4.57%;
    bottom: 59.63%;
    width: 17.6px;
    opacity: 0.11;
  }
  62% {
    left: 9.15%;
    bottom: 61.10%;
    width: 18.2px;
    opacity: 0.22;
  }
  64% {
    left: 13.73%;
    bottom: 62.41%;
    width: 18.7px;
    opacity: 0.33;
  }
  66% {
    left: 18.32%;
    bottom: 63.55%;
    width: 19.3px;
    opacity: 0.44;
  }
  68% {
    left: 22.91%;
    bottom: 64.53%;
    width: 19.7px;
    opacity: 0.56;
  }
  70% {
    left: 27.51%;
    bottom: 65.35%;
    width: 20.1px;
    opacity: 0.67;
  }
  72% {
    left: 32.11%;
    bottom: 66.00%;
    width: 20.5px;
    opacity: 0.78;
  }
  74% {
    left: 36.72%;
    bottom: 66.49%;
    width: 20.7px;
    opacity: 0.89;
  }
  76% {
    left: 41.33%;
    bottom: 66.82%;
    width: 20.9px;
    opacity: 1.00;
  }
  78% {
    left: 45.94%;
    bottom: 66.98%;
    width: 21.0px;
    opacity: 1.00;
  }
  80% {
    left: 50.56%;
    bottom: 66.98%;
    width: 21.0px;
    opacity: 1.00;
  }
  82% {
    left: 55.18%;
    bottom: 66.82%;
    width: 20.9px;
    opacity: 1.00;
  }
  84% {
    left: 59.81%;
    bottom: 66.49%;
    width: 20.7px;
    opacity: 1.00;
  }
  86% {
    left: 64.44%;
    bottom: 66.00%;
    width: 20.5px;
    opacity: 1.00;
  }
  88% {
    left: 69.08%;
    bottom: 65.35%;
    width: 20.1px;
    opacity: 1.00;
  }
  90% {
    left: 73.72%;
    bottom: 64.53%;
    width: 19.7px;
    opacity: 1.00;
  }
  92% {
    left: 78.37%;
    bottom: 63.55%;
    width: 19.3px;
    opacity: 1.00;
  }
  94% {
    left: 83.02%;
    bottom: 62.41%;
    width: 18.7px;
    opacity: 0.75;
  }
  96% {
    left: 87.68%;
    bottom: 61.10%;
    width: 18.2px;
    opacity: 0.50;
  }
  98% {
    left: 92.34%;
    bottom: 59.63%;
    width: 17.6px;
    opacity: 0.25;
  }
  100% {
    left: 97.00%;
    bottom: 58.00%;
    width: 17.0px;
    opacity: 0.00;
  }
}
.horizon {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 38%;
  z-index: 1;
  background: #241A12;
  opacity: .94;
  clip-path: polygon(0.0% 18.4%, 4.0% 16.3%, 8.0% 14.6%, 11.5% 14.0%, 15.0% 15.5%, 18.5% 18.4%, 22.0% 22.2%, 25.5% 26.2%, 29.0% 30.9%, 32.5% 35.0%, 35.0% 38.8%, 38.0% 42.6%, 41.0% 46.6%, 44.0% 50.4%, 47.0% 53.3%, 50.0% 55.4%, 55.0% 56.8%, 60.0% 57.7%, 65.0% 58.0%, 70.0% 58.0%, 75.0% 57.7%, 80.0% 57.4%, 85.0% 57.1%, 90.0% 56.8%, 95.0% 56.5%, 100.0% 56.5%, 100% 100%, 0% 100%);
}
.surf {
  position: absolute;
  left: 32%;
  right: 0;
  bottom: 0;
  height: 38%;
  z-index: 1;
  pointer-events: none;
  overflow: hidden;
}
.surf svg {
  position: absolute;
  bottom: 8%;
  left: 0;
  width: 106%;
  height: auto;
  opacity: .4;
  animation: surf-drift 14s ease-in-out infinite;
}
@keyframes surf-drift {
  0%,100% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(-2%);
  }
}
.surf path {
  fill: none;
  stroke: #F7F0E2;
  stroke-width: 1.4;
  stroke-linecap: round;
}
.surf path.w2 {
  opacity: .6;
}
.surf path.w3 {
  opacity: .35;
}
.sky-scrim {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(0deg, rgba(8,5,3,.72) 0%, rgba(8,5,3,.4) 30%, rgba(8,5,3,.08) 58%, rgba(8,5,3,0) 75%);
}
h1.headline {
  position: relative;
  z-index: 2;
  color: #F7F0E2;
  width: 100%;
  max-width: var(--content-max);
  margin-inline: auto;
  font-size: clamp(54px, 11.5vw, 184px);
  line-height: 0.86;
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 700;
  letter-spacing: normal;
  text-wrap: balance;
}
h1.headline .role {
  display: block;
  background: linear-gradient(100deg, var(--flame), var(--gold));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.hero-foot {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: var(--content-max);
  margin-inline: auto;
  margin-top: clamp(28px,4vw,44px);
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 24px;
  flex-wrap: wrap;
  border-top: 1px solid rgba(247,240,226,0.25);
  padding-top: 20px;
}
.hero-sub {
  max-width: 600px;
  font-size: clamp(16px,1.6vw,20px);
  line-height: 1.55;
  color: rgba(247,240,226,0.92);
}
.hero-sub strong {
  color: var(--gold);
  font-weight: 600;
}
.scroll-cue {
  font-size: 12px;
  color: rgba(247,240,226,0.7);
  display: flex;
  align-items: center;
  gap: 10px;
}
.scroll-cue .bar {
  width: 1px;
  height: 28px;
  background: rgba(247,240,226,0.3);
  position: relative;
  overflow: hidden;
}
.scroll-cue .bar::after {
  content: "";
  position: absolute;
  top: -100%;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(var(--flame), var(--gold));
  animation: run 1.8s ease-in-out infinite;
}
@keyframes run {
  to {
    top: 100%;
  }
}
.reveal {
  opacity: 0;
  transform: translateY(26px);
  transition: opacity 0.8s cubic-bezier(.2,.7,.3,1), transform 0.8s cubic-bezier(.2,.7,.3,1);
}
.reveal.in {
  opacity: 1;
  transform: translateY(0);
}
.reveal.d1 {
  transition-delay: .06s;
}
.reveal.d2 {
  transition-delay: .14s;
}
.reveal.d3 {
  transition-delay: .22s;
}
[data-depth] {
  will-change: transform;
}
.cut {
  position: relative;
}
.cut-top {
  clip-path: polygon(0 28px, 100% 0, 100% 100%, 0 100%);
  margin-top: -1px;
}
.cut-top-r {
  clip-path: polygon(0 0, 100% 28px, 100% 100%, 0 100%);
  margin-top: -1px;
}
.cut-section {
  position: relative;
  margin-top: -1px;
}
.cut-fill {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.cut-fill.top {
  clip-path: polygon(0 28px, 100% 0, 100% 100%, 0 100%);
}
.cut-fill.top-r {
  clip-path: polygon(0 0, 100% 28px, 100% 100%, 0 100%);
}
.cut-section > *:not(.cut-fill) {
  position: relative;
  z-index: 1;
}
section {
  padding: clamp(56px,8vw,96px) clamp(20px,4vw,48px);
  position: relative;
}
.scene {
  position: relative;
  min-height: 64vh;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  padding: 0;
}
.scene-bg-wrap {
  position: absolute;
  inset: 0;
  overflow: hidden;
  transform: scale(1.15) translateY(var(--py, 0px));
  will-change: transform;
}
.scene-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.scene-wash {
  position: absolute;
  inset: 0;
  background: linear-gradient(155deg, rgba(255,90,43,.38), rgba(240,166,61,.16) 45%, rgba(28,19,11,0) 75%);
  mix-blend-mode: color;
}
.scene-scrim {
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(18,11,6,.88) 0%, rgba(18,11,6,.28) 55%, rgba(18,11,6,.05) 100%);
}
.scene-text {
  position: relative;
  z-index: 2;
  padding: clamp(32px,6vw,64px);
  max-width: 820px;
  color: #F7F0E2;
  text-align: right;
  padding-right: max(clamp(32px,6vw,64px), calc((100% - var(--content-max)) / 2));
}
.scene-text p {
  margin: 0;
  font-family: Georgia, "Iowan Old Style", serif;
  font-style: italic;
  font-weight: 500;
  font-size: clamp(22px,3.6vw,42px);
  line-height: 1.38;
  text-wrap: balance;
}
.scene-text strong {
  font-style: normal;
  font-weight: 700;
  background: linear-gradient(100deg, var(--gold), #fff2d9);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.scene-text cite {
  display: block;
  margin-top: 16px;
  font-style: normal;
  font-size: 14px;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: rgba(247,240,226,0.7);
}
#log {
  background: var(--paper);
  margin-top: -28px;
}
.section-label {
  font-size: 12px;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: clamp(28px,4vw,44px);
  display: flex;
  align-items: baseline;
  gap: 10px;
  max-width: var(--content-max);
  margin-inline: auto;
}
.section-label::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--rule-strong);
}
.log {
  display: flex;
  flex-direction: column;
  max-width: var(--content-max);
  margin-inline: auto;
}
.entry {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: clamp(16px,3vw,32px);
  align-items: center;
  padding: clamp(28px,5vw,52px) clamp(16px,3vw,28px);
  border-top: 1px solid var(--rule-strong);
  position: relative;
  overflow: hidden;
  background: var(--paper);
  color: var(--ink);
  transition: background-color .4s ease, color .4s ease;
}
.entry:last-child {
  border-bottom: 1px solid var(--rule-strong);
}
.entry > div {
  min-width: 0;
  flex-shrink: 0;
}
.entry > * {
  position: relative;
  z-index: 2;
}
.entry .eq {
  position: absolute;
  z-index: 1;
  left: clamp(-4px,-1vw,6px);
  top: 50%;
  transform: translateY(-52%);
  font-size: clamp(80px,11vw,150px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
  font-family: Georgia, "Iowan Old Style", serif;
  font-style: italic;
  color: var(--rule-strong);
  pointer-events: none;
  transition: color .4s ease;
}
.entry:hover {
  background: linear-gradient(120deg, var(--flame), var(--gold));
  color: #241505;
}
.entry:hover .eq {
  color: rgba(36,21,5,0.16);
}
.entry:hover p {
  color: #241505;
  opacity: .78;
}
.entry:hover a.link {
  color: #241505;
  text-decoration-color: #241505;
}
.entry h3 {
  margin: 0 0 8px;
  font-size: clamp(24px,3.4vw,38px);
  letter-spacing: -0.01em;
  font-weight: 700;
}
.entry p {
  margin: 0;
  color: var(--muted);
  max-width: 54ch;
  line-height: 1.5;
  font-size: 15px;
  transition: color .4s ease;
}
.entry .status {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
  width: auto;
  height: auto;
  aspect-ratio: auto;
  border-radius: 0;
  vertical-align: baseline;
  background: none;
  box-shadow: none;
  outline: none;
  color: inherit;
  font-size: 12px;
  text-align: right;
  white-space: nowrap;
}
.entry .status .flag {
  color: var(--flame);
  font-weight: 700;
  transition: color .4s ease;
}
.entry:hover .status .flag {
  color: #241505;
}
.entry a.link {
  color: var(--ink);
  text-decoration: underline;
  text-decoration-color: var(--flame);
  text-underline-offset: 3px;
  transition: color .4s ease;
}
.entry .link-btn {
  background: none;
  border: none;
  padding: 0;
  font: inherit;
  cursor: pointer;
  color: var(--ink);
  text-decoration: underline;
  text-decoration-color: var(--flame);
  text-underline-offset: 3px;
  transition: color .4s ease;
}
.entry:hover .link-btn {
  color: #241505;
  text-decoration-color: #241505;
}
.quote-stage {
  position: relative;
  max-width: 760px;
  margin: 0 auto;
  min-height: clamp(240px,32vw,300px);
}
.quote-stage .qmark {
  font-family: Georgia, serif;
  font-size: clamp(80px,12vw,140px);
  line-height: 1;
  color: transparent;
  background: linear-gradient(150deg, var(--flame), var(--gold));
  -webkit-background-clip: text;
  background-clip: text;
  opacity: .35;
  position: absolute;
  top: -0.35em;
  left: -0.05em;
  z-index: 0;
  pointer-events: none;
}
.qslide {
  position: absolute;
  inset: 0;
  z-index: 1;
  opacity: 0;
  transform: translateY(8px);
  pointer-events: none;
  transition: opacity 1.4s ease, transform 1.4s ease;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}
.qslide.active {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.qslide blockquote {
  margin: 0 0 24px;
  font-size: clamp(20px,3vw,32px);
  line-height: 1.4;
  font-weight: 500;
  font-family: Georgia, "Iowan Old Style", serif;
  font-style: italic;
  text-wrap: balance;
}
.qslide cite {
  font-style: normal;
  font-size: 14px;
  color: var(--muted);
}
.qslide cite b {
  display: block;
  color: var(--ink);
  font-weight: 700;
  margin-bottom: 2px;
  font-size: 15px;
}
.qdots {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: clamp(24px,4vw,36px);
  position: relative;
  z-index: 2;
}
.qdot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: none;
  padding: 0;
  background: var(--rule-strong);
  cursor: pointer;
  transition: background .3s ease, transform .3s ease;
}
.qdot.active {
  background: var(--flame);
  transform: scale(1.3);
}
#bio {
  background: var(--paper);
  color: var(--paper);
}
#bio .cut-fill {
  background: var(--ink);
}
#bio .section-label {
  color: var(--paper);
  @supports (color: color-mix(in lab, red, red)) {
    color: color-mix(in srgb, var(--paper) 55%, transparent);
  }
}
#bio .section-label::after {
  background: var(--paper);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--paper) 25%, transparent);
  }
}
#bio .qslide cite {
  color: var(--paper);
  @supports (color: color-mix(in lab, red, red)) {
    color: color-mix(in srgb, var(--paper) 72%, transparent);
  }
}
#bio .qslide cite b {
  color: var(--paper);
}
#bio .qdot {
  background: var(--paper);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--paper) 35%, transparent);
  }
}
#bio .qdot.active {
  background: var(--flame);
}
#contact {
  background: var(--ink);
}
#contact .cut-fill {
  background: var(--paper);
}
.contact {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 32px;
  max-width: var(--content-max);
  margin-inline: auto;
}
.contact h2 {
  font-size: clamp(44px,8vw,112px);
  margin: 0;
  font-weight: 700;
  letter-spacing: normal;
  line-height: .95;
  background: linear-gradient(110deg, var(--ink) 40%, var(--flame) 85%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.channels {
  display: flex;
  flex-direction: column;
  gap: 14px;
  align-items: flex-end;
}
.channels a, .channels button.channel-btn {
  color: var(--ink);
  text-decoration: none;
  font-size: 15px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding-bottom: 2px;
  border-bottom: 1px solid transparent;
  background: none;
  border-left: none;
  border-right: none;
  border-top: none;
  padding-left: 0;
  padding-right: 0;
  font-family: inherit;
  cursor: pointer;
}
.channels a:hover, .channels button.channel-btn:hover {
  color: var(--flame);
  border-bottom-color: var(--flame);
}
.channels a::after, .channels button.channel-btn::after {
  content: "↗";
}
footer {
  padding: 22px clamp(20px,4vw,48px);
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  color: var(--muted);
}
.modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(16px,4vw,32px);
  background: rgba(16,11,7,0.72);
  backdrop-filter: blur(4px);
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s ease;
}
.modal-overlay.open {
  opacity: 1;
  pointer-events: auto;
}
.modal-panel {
  position: relative;
  width: 100%;
  max-width: 560px;
  max-height: 88vh;
  overflow-y: auto;
  background: var(--paper);
  color: var(--ink);
  padding: clamp(28px,4vw,44px);
  clip-path: polygon(0 0, calc(100% - 26px) 0, 100% 26px, 100% 100%, 0 100%);
  transform: translateY(16px) scale(.98);
  transition: transform .3s ease;
}
.modal-overlay.open .modal-panel {
  transform: none;
}
.modal-close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 1px solid var(--rule-strong);
  background: none;
  color: var(--ink);
  font-size: 16px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all .2s ease;
}
.modal-close:hover {
  border-color: var(--flame);
  color: var(--flame);
}
.modal-panel h3 {
  font-size: clamp(24px,3vw,32px);
  font-weight: 700;
  margin: 0 0 6px;
  letter-spacing: normal;
}
.modal-panel .modal-sub {
  color: var(--muted);
  font-size: 14px;
  margin: 0 0 28px;
}
.enquiry-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.enquiry-form .field-full {
  grid-column: 1 / -1;
}
.enquiry-form label {
  display: block;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--muted);
  margin-bottom: 6px;
}
.enquiry-form input, .enquiry-form select, .enquiry-form textarea {
  width: 100%;
  font-family: inherit;
  font-size: 15px;
  color: var(--ink);
  background: transparent;
  border: 1px solid var(--rule-strong);
  border-radius: 2px;
  padding: 10px 12px;
  transition: border-color .2s ease;
}
.enquiry-form input:focus, .enquiry-form select:focus, .enquiry-form textarea:focus {
  outline: none;
  border-color: var(--flame);
}
.enquiry-form textarea {
  resize: vertical;
  min-height: 100px;
}
.enquiry-form .field {
  margin-bottom: 4px;
}
.enquiry-form .hp {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.enquiry-form .cf-turnstile {
  grid-column: 1 / -1;
  margin-top: 4px;
}
.enquiry-submit {
  grid-column: 1 / -1;
  margin-top: 8px;
  border: none;
  cursor: pointer;
  padding: 13px 20px;
  font-size: 15px;
  font-weight: 700;
  color: #241505;
  border-radius: 2px;
  background: linear-gradient(120deg, var(--flame), var(--gold));
  transition: opacity .2s ease, transform .15s ease;
}
.enquiry-submit:hover {
  opacity: .92;
}
.enquiry-submit:disabled {
  opacity: .5;
  cursor: not-allowed;
}
.form-status {
  grid-column: 1 / -1;
  font-size: 12px;
  margin-top: 4px;
  min-height: 18px;
}
.form-status.ok {
  color: #2f7a4a;
}
.form-status.err {
  color: var(--flame);
}
.field-error {
  font-size: 12px;
  color: var(--flame);
  margin-top: 4px;
  display: none;
}
.field.invalid input, .field.invalid select, .field.invalid textarea {
  border-color: var(--flame);
}
.field.invalid .field-error {
  display: block;
}
@media (max-width: 560px) {
  .enquiry-form {
    grid-template-columns: 1fr;
  }
  .enquiry-form .field-full {
    grid-column: auto;
  }
}
@media (max-width: 760px) {
  .entry {
    display: block;
  }
  .entry .status {
    display: block;
    margin-top: 24px;
    text-align: left;
  }
  .entry .status .flag {
    display: block;
    margin-bottom: 8px;
  }
  .entry .eq {
    font-size: clamp(60px,20vw,100px);
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  .reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
  .scroll-cue .bar::after {
    animation: none;
  }
  .sky-layer {
    animation: none;
  }
  .sun {
    animation: none;
  }
  .sun-front {
    animation: none;
  }
  .moon {
    animation: none;
  }
  .stars {
    animation: none;
  }
  .milkyway {
    animation: none;
  }
  .surf svg {
    animation: none;
  }
  .stars::before {
    animation: none;
  }
  .qslide {
    transition: opacity .3s ease;
    transform: none;
  }
}
@layer base {
  html {
    scroll-behavior: smooth;
  }
  @media (prefers-reduced-motion: reduce) {
    html {
      scroll-behavior: auto;
    }
    *, *::before, *::after {
      animation-duration: 0.01ms !important;
      animation-iteration-count: 1 !important;
      transition-duration: 0.01ms !important;
    }
  }
}
@layer components {
  .section-pad {
    padding-block: calc(var(--spacing) * 20);
    @media (width >= 48rem) {
      padding-block: calc(var(--spacing) * 28);
    }
    @media (width >= 64rem) {
      padding-block: calc(var(--spacing) * 32);
    }
  }
  .hover-card {
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    --tw-duration: 300ms;
    transition-duration: 300ms;
    &:hover {
      @media (hover: hover) {
        --tw-translate-y: calc(var(--spacing) * -1);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }
    &:hover {
      @media (hover: hover) {
        --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);
      }
    }
  }
  .nav-link {
    color: var(--color-base-content);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-base-content) 70%, transparent);
    }
    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));
    &:hover {
      @media (hover: hover) {
        color: var(--color-base-content);
      }
    }
  }
  .link-primary {
    color: var(--color-accent);
    text-decoration-line: none;
    text-underline-offset: 4px;
    &:hover {
      @media (hover: hover) {
        color: var(--color-primary);
      }
    }
    &:hover {
      @media (hover: hover) {
        text-decoration-line: underline;
      }
    }
  }
  .headshot {
    display: block;
    height: auto;
    max-width: 100%;
    border-radius: var(--radius-2xl);
    background-color: var(--color-base-200);
    object-fit: cover;
  }
  .headshot--hero {
    width: 11rem;
    box-shadow: 0 25px 50px -12px rgb(31 32 36 / 0.4);
  }
  .scroll-reveal {
    opacity: 0;
    transform: translateY(1.5rem);
    transition: opacity 600ms cubic-bezier(0.25, 0.1, 0.25, 1), transform 600ms cubic-bezier(0.25, 0.1, 0.25, 1);
    transition-delay: var(--reveal-delay, 0ms);
  }
  .scroll-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
  }
}
@layer base {
  :where(:root),:root:has(input.theme-controller[value=light]:checked),[data-theme=light] {
    color-scheme: light;
    --color-base-100: oklch(100% 0 0);
    --color-base-200: oklch(98% 0 0);
    --color-base-300: oklch(95% 0 0);
    --color-base-content: oklch(21% 0.006 285.885);
    --color-primary: oklch(45% 0.24 277.023);
    --color-primary-content: oklch(93% 0.034 272.788);
    --color-secondary: oklch(65% 0.241 354.308);
    --color-secondary-content: oklch(94% 0.028 342.258);
    --color-accent: oklch(77% 0.152 181.912);
    --color-accent-content: oklch(38% 0.063 188.416);
    --color-neutral: oklch(14% 0.005 285.823);
    --color-neutral-content: oklch(92% 0.004 286.32);
    --color-info: oklch(74% 0.16 232.661);
    --color-info-content: oklch(29% 0.066 243.157);
    --color-success: oklch(76% 0.177 163.223);
    --color-success-content: oklch(37% 0.077 168.94);
    --color-warning: oklch(82% 0.189 84.429);
    --color-warning-content: oklch(41% 0.112 45.904);
    --color-error: oklch(71% 0.194 13.428);
    --color-error-content: oklch(27% 0.105 12.094);
    --radius-selector: 0.5rem;
    --radius-field: 0.25rem;
    --radius-box: 0.5rem;
    --size-selector: 0.25rem;
    --size-field: 0.25rem;
    --border: 1px;
    --depth: 1;
    --noise: 0;
  }
}
@layer base {
  @media (prefers-color-scheme: dark) {
    :root:not([data-theme]) {
      color-scheme: dark;
      --color-base-100: oklch(25.33% 0.016 252.42);
      --color-base-200: oklch(23.26% 0.014 253.1);
      --color-base-300: oklch(21.15% 0.012 254.09);
      --color-base-content: oklch(97.807% 0.029 256.847);
      --color-primary: oklch(58% 0.233 277.117);
      --color-primary-content: oklch(96% 0.018 272.314);
      --color-secondary: oklch(65% 0.241 354.308);
      --color-secondary-content: oklch(94% 0.028 342.258);
      --color-accent: oklch(77% 0.152 181.912);
      --color-accent-content: oklch(38% 0.063 188.416);
      --color-neutral: oklch(14% 0.005 285.823);
      --color-neutral-content: oklch(92% 0.004 286.32);
      --color-info: oklch(74% 0.16 232.661);
      --color-info-content: oklch(29% 0.066 243.157);
      --color-success: oklch(76% 0.177 163.223);
      --color-success-content: oklch(37% 0.077 168.94);
      --color-warning: oklch(82% 0.189 84.429);
      --color-warning-content: oklch(41% 0.112 45.904);
      --color-error: oklch(71% 0.194 13.428);
      --color-error-content: oklch(27% 0.105 12.094);
      --radius-selector: 0.5rem;
      --radius-field: 0.25rem;
      --radius-box: 0.5rem;
      --size-selector: 0.25rem;
      --size-field: 0.25rem;
      --border: 1px;
      --depth: 1;
      --noise: 0;
    }
  }
}
@layer base {
  :root:has(input.theme-controller[value=light]:checked),[data-theme=light] {
    color-scheme: light;
    --color-base-100: oklch(100% 0 0);
    --color-base-200: oklch(98% 0 0);
    --color-base-300: oklch(95% 0 0);
    --color-base-content: oklch(21% 0.006 285.885);
    --color-primary: oklch(45% 0.24 277.023);
    --color-primary-content: oklch(93% 0.034 272.788);
    --color-secondary: oklch(65% 0.241 354.308);
    --color-secondary-content: oklch(94% 0.028 342.258);
    --color-accent: oklch(77% 0.152 181.912);
    --color-accent-content: oklch(38% 0.063 188.416);
    --color-neutral: oklch(14% 0.005 285.823);
    --color-neutral-content: oklch(92% 0.004 286.32);
    --color-info: oklch(74% 0.16 232.661);
    --color-info-content: oklch(29% 0.066 243.157);
    --color-success: oklch(76% 0.177 163.223);
    --color-success-content: oklch(37% 0.077 168.94);
    --color-warning: oklch(82% 0.189 84.429);
    --color-warning-content: oklch(41% 0.112 45.904);
    --color-error: oklch(71% 0.194 13.428);
    --color-error-content: oklch(27% 0.105 12.094);
    --radius-selector: 0.5rem;
    --radius-field: 0.25rem;
    --radius-box: 0.5rem;
    --size-selector: 0.25rem;
    --size-field: 0.25rem;
    --border: 1px;
    --depth: 1;
    --noise: 0;
  }
}
@layer base {
  :root:has(input.theme-controller[value=dark]:checked),[data-theme=dark] {
    color-scheme: dark;
    --color-base-100: oklch(25.33% 0.016 252.42);
    --color-base-200: oklch(23.26% 0.014 253.1);
    --color-base-300: oklch(21.15% 0.012 254.09);
    --color-base-content: oklch(97.807% 0.029 256.847);
    --color-primary: oklch(58% 0.233 277.117);
    --color-primary-content: oklch(96% 0.018 272.314);
    --color-secondary: oklch(65% 0.241 354.308);
    --color-secondary-content: oklch(94% 0.028 342.258);
    --color-accent: oklch(77% 0.152 181.912);
    --color-accent-content: oklch(38% 0.063 188.416);
    --color-neutral: oklch(14% 0.005 285.823);
    --color-neutral-content: oklch(92% 0.004 286.32);
    --color-info: oklch(74% 0.16 232.661);
    --color-info-content: oklch(29% 0.066 243.157);
    --color-success: oklch(76% 0.177 163.223);
    --color-success-content: oklch(37% 0.077 168.94);
    --color-warning: oklch(82% 0.189 84.429);
    --color-warning-content: oklch(41% 0.112 45.904);
    --color-error: oklch(71% 0.194 13.428);
    --color-error-content: oklch(27% 0.105 12.094);
    --radius-selector: 0.5rem;
    --radius-field: 0.25rem;
    --radius-box: 0.5rem;
    --size-selector: 0.25rem;
    --size-field: 0.25rem;
    --border: 1px;
    --depth: 1;
    --noise: 0;
  }
}
@layer base {
  :root:not(span) {
    overflow: var(--page-overflow);
  }
}
@layer base {
  :root, [data-theme] {
    background: var(--page-scroll-bg, var(--root-bg));
    color: var(--color-base-content);
  }
  :where(:root, [data-theme]) {
    --root-bg: var(--color-base-100);
  }
}
@layer base {
  :root {
    background: var(--page-scroll-bg, var(--root-bg));
    --page-scroll-bg-on: linear-gradient(var(--root-bg, #0000), var(--root-bg, #0000))
    var(--root-bg, #0000);
    @supports (color: color-mix(in lab, red, red)) {
      --page-scroll-bg-on: linear-gradient(var(--root-bg, #0000), var(--root-bg, #0000))
    color-mix(in srgb, var(--root-bg, #0000), oklch(0% 0 0) calc(var(--page-has-backdrop, 0) * 40%));
    }
    --page-scroll-transition-on: background-color 0.3s ease-out;
    transition: var(--page-scroll-transition);
    scrollbar-gutter: var(--page-scroll-gutter, unset);
    scrollbar-gutter: if(style(--page-has-scroll: 1): var(--page-scroll-gutter, unset) ; else: unset);
  }
  @keyframes set-page-has-scroll {
    0%, to {
      --page-has-scroll: 1;
    }
  }
}
@layer base {
  :root {
    --fx-noise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.34' numOctaves='4' stitchTiles='stitch'%3E%3C/feTurbulence%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23a)' opacity='0.2'%3E%3C/rect%3E%3C/svg%3E");
  }
}
@layer base {
  :root {
    scrollbar-color: currentColor #0000;
    @supports (color: color-mix(in lab, red, red)) {
      scrollbar-color: color-mix(in oklch, currentColor 35%, #0000) #0000;
    }
  }
}
@layer base {
  @property --radialprogress {
    syntax: "<percentage>";
    inherits: true;
    initial-value: 0%;
  }
}
@keyframes menu {
  0% {
    opacity: 0;
  }
}
@keyframes dropdown {
  0% {
    opacity: 0;
  }
}
@keyframes skeleton {
  0% {
    background-position: 150%;
  }
  100% {
    background-position: -50%;
  }
}
@keyframes rating {
  0%, 40% {
    scale: 1.1;
    filter: brightness(1.05) contrast(1.05);
  }
}
@keyframes progress {
  50% {
    background-position-x: -115%;
  }
}
@keyframes toast {
  0% {
    scale: 0.9;
    opacity: 0;
  }
  100% {
    scale: 1;
    opacity: 1;
  }
}
@keyframes rotator {
  89.9999%, 100% {
    --first-item-position: 0 0%;
  }
  90%, 99.9999% {
    --first-item-position: 0 calc(var(--items) * 100%);
  }
  100% {
    translate: 0 -100%;
  }
}
@keyframes radio {
  0% {
    padding: 5px;
  }
  50% {
    padding: 3px;
  }
}
@layer base {
  :where(:root),:root:has(input.theme-controller[value=stuart]:checked),[data-theme="stuart"] {
    color-scheme: light;
    --color-base-100: var(--paper);
    --color-base-200: var(--paper);
    @supports (color: color-mix(in lab, red, red)) {
      --color-base-200: color-mix(in oklab, var(--paper) 92%, var(--ink) 8%);
    }
    --color-base-300: var(--paper);
    @supports (color: color-mix(in lab, red, red)) {
      --color-base-300: color-mix(in oklab, var(--paper) 84%, var(--ink) 16%);
    }
    --color-base-content: var(--ink);
    --color-neutral: var(--ink);
    --color-neutral-content: var(--paper);
    --color-neutral-focus: var(--muted);
    --color-primary: var(--flame);
    --color-primary-content: #241505;
    --color-primary-focus: var(--gold);
    --color-secondary: var(--gold);
    --color-secondary-content: #241505;
    --color-accent: var(--flame);
    --color-accent-content: #241505;
    --color-info: var(--muted);
    --color-success: #2f7a4a;
    --color-warning: var(--gold);
    --color-error: var(--flame);
    --radius-box: 0.125rem;
    --radius-btn: 0.125rem;
  }
}
@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-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-leading {
  syntax: "*";
  inherits: false;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-tracking {
  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-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-backdrop-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-ease {
  syntax: "*";
  inherits: false;
}
@property --tw-duration {
  syntax: "*";
  inherits: false;
}
@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;
}
@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-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-border-style: solid;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: 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-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-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
      --tw-ease: initial;
      --tw-duration: initial;
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
    }
  }
}
