*, ::before, ::after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*//*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: #e5e7eb; /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: "Hanken Grotesk", ui-sans-serif, system-ui, sans-serif; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

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

/*
Remove the default font size and weight for headings.
*/

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

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

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

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

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

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

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

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

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

/*
Reset default styling for dialogs.
*/
dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

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

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

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

/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}

: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(97.8% 0.005 297.73);
  --color-base-300: oklch(37.01% 0.0069 297.49);
  --color-base-content: oklch(37.57% 0.022 281.8);
  --color-primary: oklch(57.59% 0.247 287.24);
  --color-primary-content: oklch(96.57% 0.017 289.61);
  --color-secondary: oklch(55.79% 0.022 301.91);
  --color-secondary-content: oklch(97.64% 0.001 286.38);
  --color-accent: oklch(62.31% 0.188 259.81);
  --color-accent-content: oklch(97.05% 0.014 254.6);
  --color-neutral: oklch(37.57% 0.0222 281.8);
  --color-neutral-content: oklch(0.98 0.0013 286.38);
  --color-info: oklch(71.48% 0.126 215.22);
  --color-info-content: oklch(98.41% 0.019 200.87);
  --color-success: oklch(73.11% 0.217 147.04);
  --color-success-content: oklch(98.1% 0.014 174.18);
  --color-warning: oklch(79.87% 0.164 73.09);
  --color-warning-content: oklch(99.34% 0.011 95.16);
  --color-error: oklch(65.39% 0.222 25.86);
  --color-error-content: oklch(98.76% 0.009 67.73);
  --radius-selector: 0.25rem;
  --radius-field: 0.375rem;
  --radius-box: 0.5rem;
  --size-selector: 0.25rem;
  --size-field: 0.25rem;
  --border: 1px;
  --depth: 0;
  --noise: 0;
}

@media (prefers-color-scheme: dark) {

  :root {
    color-scheme: dark;
    --color-base-100: oklch(31.23% 0.026 301.24);
    --color-base-200: oklch(25.39% 0.025 298.72);
    --color-base-300: oklch(23.44% 0.0194 298.63);
    --color-base-content: oklch(84.98% 0.014 295.28);
    --color-primary: oklch(53.93% 0.271 286.75);
    --color-primary-content: oklch(88.22% 0.062 290.17);
    --color-secondary: oklch(49.12% 0.021 303.05);
    --color-secondary-content: oklch(88.83% 0.007 304.23);
    --color-accent: oklch(54.61% 0.215 262.88);
    --color-accent-content: oklch(88.23% 0.057 254.13);
    --color-neutral: oklch(65.75% 0.022 294.95);
    --color-neutral-content: oklch(18.51% 0.017 301.92);
    --color-info: oklch(60.89% 0.111 221.72);
    --color-info-content: oklch(91.67% 0.077 205.04);
    --color-success: oklch(67.35% 0.201 146.84);
    --color-success-content: oklch(91.38% 0.069 168.24);
    --color-warning: oklch(72.59% 0.152 69.05);
    --color-warning-content: oklch(96.07% 0.057 93.2);
    --color-error: oklch(59.54% 0.208 26.28);
    --color-error-content: oklch(93.4% 0.039 54.86);
    --radius-selector: 0.25rem;
    --radius-field: 0.375rem;
    --radius-box: 0.5rem;
    --size-selector: 0.25rem;
    --size-field: 0.25rem;
    --border: 1px;
    --depth: 0;
    --noise: 0;
  }
}

: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(97.8% 0.005 297.73);
  --color-base-300: oklch(37.01% 0.0069 297.49);
  --color-base-content: oklch(37.57% 0.022 281.8);
  --color-primary: oklch(57.59% 0.247 287.24);
  --color-primary-content: oklch(96.57% 0.017 289.61);
  --color-secondary: oklch(55.79% 0.022 301.91);
  --color-secondary-content: oklch(97.64% 0.001 286.38);
  --color-accent: oklch(62.31% 0.188 259.81);
  --color-accent-content: oklch(97.05% 0.014 254.6);
  --color-neutral: oklch(37.57% 0.0222 281.8);
  --color-neutral-content: oklch(0.98 0.0013 286.38);
  --color-info: oklch(71.48% 0.126 215.22);
  --color-info-content: oklch(98.41% 0.019 200.87);
  --color-success: oklch(73.11% 0.217 147.04);
  --color-success-content: oklch(98.1% 0.014 174.18);
  --color-warning: oklch(79.87% 0.164 73.09);
  --color-warning-content: oklch(99.34% 0.011 95.16);
  --color-error: oklch(65.39% 0.222 25.86);
  --color-error-content: oklch(98.76% 0.009 67.73);
  --radius-selector: 0.25rem;
  --radius-field: 0.375rem;
  --radius-box: 0.5rem;
  --size-selector: 0.25rem;
  --size-field: 0.25rem;
  --border: 1px;
  --depth: 0;
  --noise: 0;
}

:root:has(input.theme-controller[value=dark]:checked),[data-theme=dark] {
  color-scheme: dark;
  --color-base-100: oklch(31.23% 0.026 301.24);
  --color-base-200: oklch(25.39% 0.025 298.72);
  --color-base-300: oklch(23.44% 0.0194 298.63);
  --color-base-content: oklch(84.98% 0.014 295.28);
  --color-primary: oklch(53.93% 0.271 286.75);
  --color-primary-content: oklch(88.22% 0.062 290.17);
  --color-secondary: oklch(49.12% 0.021 303.05);
  --color-secondary-content: oklch(88.83% 0.007 304.23);
  --color-accent: oklch(54.61% 0.215 262.88);
  --color-accent-content: oklch(88.23% 0.057 254.13);
  --color-neutral: oklch(65.75% 0.022 294.95);
  --color-neutral-content: oklch(18.51% 0.017 301.92);
  --color-info: oklch(60.89% 0.111 221.72);
  --color-info-content: oklch(91.67% 0.077 205.04);
  --color-success: oklch(67.35% 0.201 146.84);
  --color-success-content: oklch(91.38% 0.069 168.24);
  --color-warning: oklch(72.59% 0.152 69.05);
  --color-warning-content: oklch(96.07% 0.057 93.2);
  --color-error: oklch(59.54% 0.208 26.28);
  --color-error-content: oklch(93.4% 0.039 54.86);
  --radius-selector: 0.25rem;
  --radius-field: 0.375rem;
  --radius-box: 0.5rem;
  --size-selector: 0.25rem;
  --size-field: 0.25rem;
  --border: 1px;
  --depth: 0;
  --noise: 0;
}

:root {
  --fx-noise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.34' numOctaves='4' stitchTiles='stitch'%3E%3C/feTurbulence%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)' opacity='0.2'%3E%3C/rect%3E%3C/svg%3E");
}

.chat {
  --mask-chat: url("data:image/svg+xml,%3csvg width='13' height='13' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='M0 11.5004C0 13.0004 2 13.0004 2 13.0004H12H13V0.00036329L12.5 0C12.5 0 11.977 2.09572 11.8581 2.50033C11.6075 3.35237 10.9149 4.22374 9 5.50036C6 7.50036 0 10.0004 0 11.5004Z'/%3e%3c/svg%3e");
}

.tooltip {
  --mask-tooltip: url("data:image/svg+xml,%3Csvg width='10' height='4' viewBox='0 0 8 4' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.500009 1C3.5 1 3.00001 4 5.00001 4C7 4 6.5 1 9.5 1C10 1 10 0.499897 10 0H0C-1.99338e-08 0.5 0 1 0.500009 1Z' fill='black'/%3E%3C/svg%3E%0A");
}

:root {
  scrollbar-color: color-mix(in oklch, currentColor 20%, #0000) #0000;
}

@property --radialprogress {
  syntax: "<percentage>";
  inherits: true;
  initial-value: 0%;
}

:root, [data-theme] {
  background-color: var(--root-bg, var(--color-base-100));
  color: var(--color-base-content);
}

button:not(:disabled), [role="button"]:not(:disabled) {
  cursor: pointer;
}
  body {
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
  }

  /* Bare headings default by level: large display headings (h1–h2) use the
     serif Cormorant Garamond face; subsection headings (h3–h6) use the body
     font (Hanken Grotesk). Explicit `font-display` always wins. */
  h1,
  h2 {
    font-family: 'Cormorant Garamond', Georgia, serif;
    line-height: 1.1;
    text-wrap: balance;
  }
  h3,
  h4,
  h5,
  h6 {
    font-family: 'Hanken Grotesk', ui-sans-serif, system-ui, sans-serif;
    line-height: 1.2;
    text-wrap: balance;
  }

  /* Unclassed links read as brass on paper (Readable-Gold rule — bright gold
     #f1a817 is too low-contrast as text on the light ground); Tailwind/FlyonUI-
     classed links are untouched. */
  a:not([class]) {
    color: #c2850a;
    text-decoration: none;
  }
  a:not([class]):hover {
    color: #9a6a0a;
    text-decoration: underline;
  }

  ::-moz-selection {
    background: rgba(241, 168, 23, 0.32);
    color: #211d16;
  }

  ::selection {
    background: rgba(241, 168, 23, 0.32);
    color: #211d16;
  }
  ::-moz-placeholder {
    color: rgba(33, 29, 22, 0.4);
  }
  ::placeholder {
    color: rgba(33, 29, 22, 0.4);
  }
  /* WebKit draws its own grey ✕ inside every `type="search"` field. It ignores
     the brand entirely, sits at a different inset from ours, and would double
     up with `SearchField`'s clear button. Suppressed so the field has exactly
     one way to clear it — and the one we drew. */
  input[type='search']::-webkit-search-cancel-button,
  input[type='search']::-webkit-search-decoration {
    -webkit-appearance: none;
    appearance: none;
  }
  * {
    scrollbar-color: rgba(33, 29, 22, 0.22) transparent;
    scrollbar-width: thin;
  }

  /* One consistent keyboard-focus ring on every interactive element. Uses
     :focus-visible so it only appears for keyboard/AT, never on mouse click. */
  :where(
    a,
    button,
    [role='button'],
    input,
    select,
    textarea,
    summary,
    [tabindex]
  ):focus-visible {
    outline: 2px solid var(--brp-focus);
    outline-offset: 2px;
    border-radius: 2px;
  }
  /* Fields that drive focus via their own border/ring (input-brand) shouldn't
     also get the doubled native outline. */
  :where(input, select, textarea):focus {
    outline: none;
  }

  input,
  select,
  textarea,
  button {
    font-family: inherit;
  }
.\!container {
  width: 100% !important;
}
.container {
  width: 100%;
}
@media (min-width: 640px) {

  .\!container {
    max-width: 640px !important;
  }

  .container {
    max-width: 640px;
  }
}
@media (min-width: 768px) {

  .\!container {
    max-width: 768px !important;
  }

  .container {
    max-width: 768px;
  }
}
@media (min-width: 1024px) {

  .\!container {
    max-width: 1024px !important;
  }

  .container {
    max-width: 1024px;
  }
}
@media (min-width: 1280px) {

  .\!container {
    max-width: 1280px !important;
  }

  .container {
    max-width: 1280px;
  }
}
@media (min-width: 1536px) {

  .\!container {
    max-width: 1536px !important;
  }

  .container {
    max-width: 1536px;
  }
}
.textarea {
  display: inline-flex;
  min-height: calc(0.25rem * 20);
  width: 100%;
  flex-shrink: 1;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: var(--radius-field);
  background-color: var(--color-base-100);
  padding-inline: calc(0.25rem * 4);
  padding-block: calc(0.25rem * 2);
  font-size: var(--text-base);
  line-height: var(--tw-leading, var(--text-base--line-height));
  color: var(--color-base-content);
}
.textarea::-moz-placeholder {
  color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
}
.textarea::placeholder {
  color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
}
@media (hover: hover) {

  .textarea:hover {
    border-color: color-mix(in oklab, var(--color-base-content) 60%, transparent);
  }
}
.textarea:focus-visible {
  --tw-outline-style: none;
  outline-style: none;
}
.textarea {
  border: var(--border) solid #0000;
  border-color: var(--input-color);
  touch-action: manipulation;
  --input-color: color-mix(in oklab, var(--color-base-content) 40%, #0000);
}
.textarea :where(textarea) {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: transparent;
  border: none;
}
.textarea :where(textarea):focus, .textarea :where(textarea):focus-within {
  --tw-outline-style: none;
  outline-style: none;
}
.textarea:focus, .textarea:focus-within {
  --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  --input-color: var(--color-primary);
  --tw-shadow-color: color-mix(in oklab, var(--input-color) 30%, #0000);
  outline: 1px solid var(--input-color);
  border-color: var(--input-color);
  isolation: isolate;
}
.textarea:has(> textarea[disabled]), .textarea:is(:disabled, [disabled]) {
  cursor: not-allowed;
  border-color: var(--color-base-200);
  background-color: var(--color-base-200);
  color: color-mix(in oklab, var(--color-base-content) 40%, transparent);
}
.textarea:has(> textarea[disabled])::-moz-placeholder, .textarea:is(:disabled, [disabled])::-moz-placeholder {
  color: color-mix(in oklab, var(--color-base-content) 20%, transparent);
}
.textarea:has(> textarea[disabled])::placeholder, .textarea:is(:disabled, [disabled])::placeholder {
  color: color-mix(in oklab, var(--color-base-content) 20%, transparent);
}
.textarea:has(> textarea[disabled]) > textarea[disabled] {
  cursor: not-allowed;
}
.textarea:has(> textarea) {
  padding: calc(0.25rem * 0);
}
.textarea:has(> textarea) textarea {
  height: auto;
  min-height: calc(0.25rem * 20);
  width: 100%;
}
.textarea:has(> textarea) textarea:first-child {
  padding-block: calc(0.25rem * 2);
  padding-inline-start: calc(0.25rem * 4);
}
.textarea:has(> textarea) textarea:nth-child(2) {
  padding-block: calc(0.25rem * 2);
}
.textarea:has(> textarea) textarea:last-child {
  padding-block: calc(0.25rem * 2);
  padding-inline-end: calc(0.25rem * 4);
}
.textarea:has(> .textarea-floating) {
  padding: calc(0.25rem * 0);
}
.textarea:has(> .textarea-floating) :where(.textarea-floating:first-child) > textarea {
  padding-block: calc(0.25rem * 2);
  padding-inline-start: calc(0.25rem * 4);
}
.textarea:has(> .textarea-floating) :where(.textarea-floating:nth-child(2)) > textarea {
  padding-block: calc(0.25rem * 2);
}
.textarea:has(> .textarea-floating) :where(.textarea-floating:last-child) > textarea {
  padding-block: calc(0.25rem * 2);
  padding-inline-end: calc(0.25rem * 4);
}
.textarea:has(> .textarea-floating) :where(.textarea-floating:nth-child(2)) .textarea-floating-label, .textarea:has(> .textarea-floating) :where(.textarea-floating:last-child) .textarea-floating-label {
  margin-inline-start: calc(0.25rem * 0);
}
.textarea:has(> .textarea-floating) * > textarea {
  width: 100%;
  height: 100%;
  min-height: calc(0.25rem * 20);
}
.textarea:has(> .textarea-floating) textarea::-moz-placeholder {
  color: transparent;
}
.textarea:has(> .textarea-floating) textarea::placeholder {
  color: transparent;
}
.textarea:has(> .textarea-floating) textarea:focus::-moz-placeholder {
  color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
}
.textarea:has(> .textarea-floating) textarea:focus::placeholder {
  color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
}
.textarea-floating .textarea::-moz-placeholder {
  color: transparent;
}
.textarea-floating .textarea::placeholder {
  color: transparent;
}
.textarea-floating .textarea:focus::-moz-placeholder {
  color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
}
.textarea-floating .textarea:focus::placeholder {
  color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
}
.textarea-floating .textarea {
  field-sizing: content;
}
.textarea-floating .textarea:has(> textarea[disabled]), .textarea-floating .textarea:is(:disabled, [disabled]) {
  border-style: var(--tw-border-style);
  border-width: 1px;
  border-color: color-mix(in oklab, var(--color-base-content) 40%, transparent);
  background-color: transparent;
  opacity: 50%;
}
.textarea-floating .textarea:has(> textarea[disabled])::-moz-placeholder, .textarea-floating .textarea:is(:disabled, [disabled])::-moz-placeholder {
  color: transparent;
}
.textarea-floating .textarea:has(> textarea[disabled])::placeholder, .textarea-floating .textarea:is(:disabled, [disabled])::placeholder {
  color: transparent;
}
.textarea-floating .textarea:has(> textarea[disabled]) ~ .textarea-floating-label, .textarea-floating .textarea:is(:disabled, [disabled]) ~ .textarea-floating-label {
  color: color-mix(in oklab, var(--color-base-content) 30%, transparent);
}
.textarea-floating:not(:has(textarea:-moz-placeholder)) .textarea-floating-label {
  pointer-events: auto;
  top: calc(0.25rem * 0);
  background-color: var(--color-base-100);
  padding-inline: calc(0.25rem * 1);
  --tw-font-weight: var(--font-weight-medium);
  font-weight: var(--font-weight-medium);
  color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
  translate: -12.5% calc(-50% - 0.125em);
  scale: 0.75;
}
.textarea-floating:focus-within .textarea-floating-label, .textarea-floating:not(:has(textarea:placeholder-shown)) .textarea-floating-label, .textarea-floating:has(.textarea:focus) .textarea-floating-label {
  pointer-events: auto;
  top: calc(0.25rem * 0);
  background-color: var(--color-base-100);
  padding-inline: calc(0.25rem * 1);
  --tw-font-weight: var(--font-weight-medium);
  font-weight: var(--font-weight-medium);
  color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
  translate: -12.5% calc(-50% - 0.125em);
  scale: 0.75;
}
.textarea-floating:focus-within .textarea-floating-label, .textarea-floating:has(.textarea:focus) .textarea-floating-label {
  --input-color: var(--color-primary);
  color: var(--input-color);
}
.switch {
  border: var(--border) solid #0000;
  color: var(--color-base-100);
  position: relative;
  display: inline-grid;
  flex-shrink: 0;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  place-content: center;
  vertical-align: middle;
  webkit-user-select: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
@media print {

  .switch {
    outline: .25rem solid;
  }
}
.switch {
  grid-template-columns: 0fr 1fr 1fr;
  padding: var(--switch-p);
  box-shadow: 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000) inset;
  background-color: var(--input-color);
  --radius-selector-max: calc(var(--radius-selector) + var(--radius-selector) + var(--radius-selector));
  border-radius: calc( var(--radius-selector) + min(var(--switch-p), var(--radius-selector-max)) + min(var(--border), var(--radius-selector-max)) );
  transition: color 0.3s, grid-template-columns 0.2s;
  --input-color: color-mix(in oklab, var(--color-neutral) 22%, #0000);
  --switch-p: 0.1875rem;
  --size: calc(var(--size-selector, 0.25rem) * 6);
  width: calc((var(--size) * 2) - (var(--border) + var(--switch-p)) * 2);
  height: var(--size);
}
.switch:before {
  position: relative;
  inset-inline-start: calc(0.25rem * 0);
  grid-column-start: 2;
  grid-row-start: 1;
  aspect-ratio: 1 / 1;
  height: 100%;
  border-radius: var(--radius-selector);
  background-color: currentColor;
}
@media print {

  .switch:before {
    outline: .25rem solid;
    outline-offset: -1rem;
  }
}
.switch:before {
  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(59.99% 0 0 / calc(var(--depth) * 0.08)) inset, 0 8px 0 -4px oklch(59.99% 0 0 / calc(var(--depth) * 0.08)) inset, 0 1px 2px 0 oklch(0% 0 0 / 0.2);
  background-size: auto, calc(var(--noise) * 100%);
  background-image: none, var(--fx-noise);
}
@media (forced-colors: active) {

  .switch:before {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
    outline-offset: calc(1px * -1);
  }
}
.switch:focus-visible, .switch:has(:focus-visible) {
  outline: 2px solid color-mix(in oklab, var(--input-color, var(--color-neutral)) 30%, #0000);
  outline-offset: 0px;
}
.switch:checked, .switch[aria-checked="true"], .switch:has(> input:checked) {
  grid-template-columns: 1fr 1fr 0fr;
  --input-color: var(--color-neutral);
  background-color: var(--input-color);
}
.switch:checked:before, .switch[aria-checked="true"]:before, .switch:has(> input:checked):before {
  background-color: currentColor;
}
@starting-style {

  .switch:checked:before, .switch[aria-checked="true"]:before, .switch:has(> input:checked):before {
    opacity: 0;
  }
}
.switch:indeterminate {
  grid-template-columns: 0.5fr 1fr 0.5fr;
}
.switch:disabled {
  cursor: not-allowed;
  opacity: 50%;
}
.switch:disabled:before {
  background-color: transparent;
}
.switch-primary:checked, .switch-primary[aria-checked="true"] {
  --input-color: var(--color-primary);
}
.tabs-lifted > .tab:focus-visible {
  border-end-end-radius: 0;
  border-end-start-radius: 0;
}
.tabs {
  display: flex;
  --tabs-height: auto;
  --tabs-direction: row;
  height: var(--tabs-height);
  flex-direction: var(--tabs-direction);
}
.tab {
  position: relative;
  display: inline-flex;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: var(--text-base);
  line-height: var(--tw-leading, var(--text-base--line-height));
  color: var(--color-base-content);
  webkit-user-select: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  height: var(--size);
  --size: calc(var(--size-field, 0.25rem) * 9.5);
  --tab-p: 1rem;
  --tab-bg: var(--color-base-100);
  --tab-border-color: color-mix(in oklab, var(--color-base-content), #0000 90%);
  padding-inline: var(--tab-p, 1rem);
}
.tab:focus, .tab:focus-visible {
  --tw-outline-style: none;
  outline-style: none;
}
.tab[disabled] {
  pointer-events: none;
  opacity: 40%;
}
@media (hover: hover) {

  .tab[disabled]:hover {
    pointer-events: none;
    opacity: 40%;
  }
}
.tabs-bordered > .tab {
  border-color: color-mix(in oklab, var(--color-base-content) 10%, transparent);
}
@media (hover:hover) {

  @media (hover: hover) {

    .tabs-bordered > .tab:hover {
      border-color: color-mix(in oklab, var(--color-primary) 30%, transparent);
      color: var(--color-primary);
    }
  }
}
.tabs-bordered > .tab {
  border-style: solid;
  border-bottom-width: calc(var(--border, 1px) + 1px);
}
.tabs-bordered.tabs-vertical > .tab {
  width: 100%;
  justify-content: flex-start;
  border-bottom-style: var(--tw-border-style);
  border-bottom-width: 0px;
  border-inline-end-width: calc(var(--border, 1px) + 1px);
}
@media (hover:hover) {

  @media (hover: hover) {

    .tabs-lifted > .tab:hover {
      border-color: color-mix(in oklab, var(--color-primary) 30%, transparent);
      color: var(--color-primary);
    }
  }
}
.tabs-lifted > .tab {
  border: var(--tab-border, 1px) solid transparent;
  border-width: 0 0 var(--tab-border, 1px) 0;
  border-radius: var(--radius-field, 0.375rem);
  border-bottom-color: var(--tab-border-color);
  padding-inline-start: var(--tab-p, 1rem);
  padding-inline-end: var(--tab-p, 1rem);
  padding-top: var(--tab-border, 1px);
}
.tabs-lifted > .tab.tab-active:not([disabled]) {
  background-color: var(--tab-bg);
  border-width: var(--tab-border, 1px) var(--tab-border, 1px) 0 var(--tab-border, 1px);
  border-color: var(--tab-border-color);
  border-end-start-radius: 0;
  border-end-end-radius: 0;
  padding-inline-start: calc(var(--tab-p, 1rem) - var(--tab-border, 1px));
  padding-inline-end: calc(var(--tab-p, 1rem) - var(--tab-border, 1px));
  padding-bottom: var(--tab-border, 1px);
  padding-top: 0;
}
.tabs-lifted > .tab.tab-active:not([disabled]):before {
  content: "";
  display: block;
  position: absolute;
  z-index: 1;
  width: calc(100% + var(--radius-field, 0.375rem) * 2);
  height: var(--radius-field, 0.375rem);
  bottom: 0;
  background-size: var(--radius-field, 0.375rem);
  background-repeat: no-repeat;
  background-position: top left, top right;
  --tab-grad: calc(69% - var(--tab-border, 1px));
  --radius-start: radial-gradient(
    circle at top left,
    transparent var(--tab-grad),
    var(--tab-border-color) calc(var(--tab-grad) + 0.25px),
    var(--tab-border-color) calc(var(--tab-grad) + var(--tab-border, 1px)),
    var(--tab-bg) calc(var(--tab-grad) + var(--tab-border, 1px) + 0.25px)
  );
  --radius-end: radial-gradient(
    circle at top right,
    transparent var(--tab-grad),
    var(--tab-border-color) calc(var(--tab-grad) + 0.25px),
    var(--tab-border-color) calc(var(--tab-grad) + var(--tab-border, 1px)),
    var(--tab-bg) calc(var(--tab-grad) + var(--tab-border, 1px) + 0.25px)
  );
  background-image: var(--radius-start), var(--radius-end);
}
.tabs-lifted > .tab.tab-active:not([disabled]):first-child:before {
  background-image: var(--radius-end);
  background-position: top right;
}
.tabs-lifted > .tab.tab-active:not([disabled]):last-child:before {
  background-image: var(--radius-start);
  background-position: top left;
}
[dir="rtl"] .tabs-lifted > .tab.tab-active:not([disabled]):first-child:before {
  background-image: var(--radius-start);
  background-position: top left;
}
[dir="rtl"] .tabs-lifted > .tab.tab-active:not([disabled]):last-child:before {
  background-image: var(--radius-end);
  background-position: top right;
}
.tabs-lifted:has(.tab-content[class^="rounded-"]) .tab:first-child:not(.tab-active), .tabs-lifted:has(.tab-content[class*=" rounded-"]) .tab:first-child:not(.tab-active) {
  border-bottom-color: transparent;
}
.tabs-xl :where(.tab) {
  font-size: var(--text-xl);
  line-height: var(--tw-leading, var(--text-xl--line-height));
  --size: calc(var(--size-field, 0.25rem) * 14);
  --tab-p: 1.5rem;
}
.tabs-lg :where(.tab) {
  font-size: var(--text-lg);
  line-height: var(--tw-leading, var(--text-lg--line-height));
  --size: calc(var(--size-field, 0.25rem) * 11.5);
  --tab-p: 1.25rem;
}
.tabs-md :where(.tab) {
  font-size: var(--text-base);
  line-height: var(--tw-leading, var(--text-base--line-height));
  --size: calc(var(--size-field, 0.25rem) * 9.5);
  --tab-p: 1rem;
}
.tabs-sm :where(.tab) {
  font-size: var(--text-sm);
  line-height: var(--tw-leading, var(--text-sm--line-height));
  --size: calc(var(--size-field, 0.25rem) * 7.5);
  --tab-p: 0.75rem;
}
.tabs-xs :where(.tab) {
  font-size: var(--text-sm);
  line-height: var(--tw-leading, var(--text-sm--line-height));
  --size: calc(var(--size-field, 0.25rem) * 6);
  --tab-p: 0.5rem;
}
.\!input::file-selector-button {
  margin-inline-end: calc(0.25rem * 4) !important;
  display: inline-flex !important;
  height: 100% !important;
  flex-shrink: 0 !important;
  cursor: pointer !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  border-style: var(--tw-border-style) !important;
  border-width: 0px !important;
  background-color: var(--color-primary) !important;
  padding-inline: calc(0.25rem * 4) !important;
  text-align: center !important;
  font-size: var(--text-base) !important;
  line-height: var(--tw-leading, var(--text-base--line-height)) !important;
  line-height: 1 !important;
  --tw-leading: 1 !important;
  --tw-font-weight: var(--font-weight-semibold) !important;
  font-weight: var(--font-weight-semibold) !important;
  color: var(--color-primary-content) !important;
  text-transform: uppercase !important;
  text-decoration-line: none !important;
  webkit-user-select: none !important;
  -webkit-user-select: none !important;
     -moz-user-select: none !important;
          user-select: none !important;
  --input-color: var(--color-primary) !important;
}
.input::file-selector-button {
  margin-inline-end: calc(0.25rem * 4);
  display: inline-flex;
  height: 100%;
  flex-shrink: 0;
  cursor: pointer;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  border-style: var(--tw-border-style);
  border-width: 0px;
  background-color: var(--color-primary);
  padding-inline: calc(0.25rem * 4);
  text-align: center;
  font-size: var(--text-base);
  line-height: var(--tw-leading, var(--text-base--line-height));
  line-height: 1;
  --tw-leading: 1;
  --tw-font-weight: var(--font-weight-semibold);
  font-weight: var(--font-weight-semibold);
  color: var(--color-primary-content);
  text-transform: uppercase;
  text-decoration-line: none;
  webkit-user-select: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  --input-color: var(--color-primary);
}
.\!input::file-selector-button.input-sm {
  font-size: var(--text-sm) !important;
  line-height: var(--tw-leading, var(--text-sm--line-height)) !important;
}
.input::file-selector-button.input-sm {
  font-size: var(--text-sm);
  line-height: var(--tw-leading, var(--text-sm--line-height));
}
.\!input::file-selector-button.input-md {
  font-size: var(--text-base) !important;
  line-height: var(--tw-leading, var(--text-base--line-height)) !important;
}
.input::file-selector-button.input-md {
  font-size: var(--text-base);
  line-height: var(--tw-leading, var(--text-base--line-height));
}
.\!input::file-selector-button.input-lg {
  font-size: var(--text-lg) !important;
  line-height: var(--tw-leading, var(--text-lg--line-height)) !important;
}
.input::file-selector-button.input-lg {
  font-size: var(--text-lg);
  line-height: var(--tw-leading, var(--text-lg--line-height));
}
.\!input::file-selector-button.input-xl {
  font-size: var(--text-xl) !important;
  line-height: var(--tw-leading, var(--text-xl--line-height)) !important;
}
.input::file-selector-button.input-xl {
  font-size: var(--text-xl);
  line-height: var(--tw-leading, var(--text-xl--line-height));
}
.\!input[type="file"] {
  overflow: hidden !important;
  padding-inline-start: calc(0.25rem * 0) !important;
}
.input[type="file"] {
  overflow: hidden;
  padding-inline-start: calc(0.25rem * 0);
}
.input-floating .\!input::file-selector-button {
  background-color: var(--color-base-100) !important;
  color: var(--color-base-content) !important;
  border-inline-end: var(--border) solid color-mix(in oklab, var(--color-base-content) 40%, #0000) !important;
  outline: none !important;
}
.input-floating .input::file-selector-button {
  background-color: var(--color-base-100);
  color: var(--color-base-content);
  border-inline-end: var(--border) solid color-mix(in oklab, var(--color-base-content) 40%, #0000);
  outline: none;
}
.modal {
  pointer-events: none;
  position: fixed;
  inset: calc(0.25rem * 0);
  z-index: 80;
  margin: calc(0.25rem * 0);
  display: grid;
  width: 100%;
  height: 100%;
  justify-items: center;
  overflow-x: hidden;
  overflow-y: auto;
  padding: calc(0.25rem * 4);
  opacity: 0%;
  transition-property: all;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: var(--tw-duration, var(--default-transition-duration));
}
:where(.accordion:where(.accordion-bordered) > :not(:last-child)) {
  --tw-divide-y-reverse: 0;
  border-bottom-style: var(--tw-border-style);
  border-top-style: var(--tw-border-style);
  border-top-width: calc(1px * var(--tw-divide-y-reverse));
  border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  border-color: color-mix(in oklab, var(--color-base-content) 25%, transparent);
}
.accordion:where(.accordion-bordered) {
  border-radius: var(--radius-box);
  border-style: var(--tw-border-style);
  border-width: 1px;
  border-color: color-mix(in oklab, var(--color-base-content) 25%, transparent);
  background-color: var(--color-base-100);
}
.checkbox {
  position: relative;
  flex-shrink: 0;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: var(--radius-selector);
  padding: calc(0.25rem * 1);
  vertical-align: middle;
  color: var(--color-neutral-content);
  border: var(--border) solid color-mix(in oklab, var(--color-base-content) 40%, #0000);
  --input-color: var(--color-neutral);
  box-shadow: 0 1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset, 0 0 #0000 inset, 0 0 #0000;
  transition: background-color 0.2s, box-shadow 0.2s;
  --size: calc(var(--size-selector, 0.25rem) * 6);
  width: var(--size);
  height: var(--size);
  background-size: auto, calc(var(--noise) * 100%);
  background-image: none, var(--fx-noise);
}
.checkbox:before {
  --tw-content: "";
  content: var(--tw-content);
  display: block;
  width: 100%;
  height: 100%;
  rotate: 45deg;
  background-color: currentColor;
  opacity: 0%;
  transition: clip-path 0.3s, opacity 0.1s, rotate 0.3s, translate 0.3s;
  transition-delay: 0.1s;
  clip-path: polygon(20% 100%, 20% 80%, 50% 80%, 50% 80%, 70% 80%, 70% 100%);
  box-shadow: 0px 3px 0 0px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset;
  font-size: 1rem;
  line-height: 0.75;
}
.checkbox:focus-visible {
  outline: 2px solid color-mix(in oklab, var(--input-color, var(--color-neutral)) 30%, #0000);
  outline-offset: 0px;
}
.checkbox:checked, .checkbox[aria-checked="true"] {
  background-color: var(--input-color, #0000);
  border-color: var(--input-color, #0000);
  box-shadow: 0 0 #0000 inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset, 0 1px 2px 0 color-mix(in oklab, var(--color-base-300) 20%, #0000);
}
.checkbox:checked:before, .checkbox[aria-checked="true"]:before {
  clip-path: polygon(20% 100%, 20% 80%, 50% 80%, 50% 0%, 70% 0%, 70% 100%);
  opacity: 100%;
}
@media (forced-colors: active) {

  .checkbox:checked:before, .checkbox[aria-checked="true"]:before {
    rotate: 0deg;
    background-color: transparent;
    --tw-content: "✔︎";
    clip-path: none;
  }
}
@media print {

  .checkbox:checked:before, .checkbox[aria-checked="true"]:before {
    rotate: 0deg;
    background-color: transparent;
    --tw-content: "✔︎";
    clip-path: none;
  }
}
.checkbox:indeterminate {
  background-color: var(--color-neutral);
}
.checkbox:indeterminate:before {
  rotate: 0deg;
  opacity: 100%;
  translate: 0 -35%;
  clip-path: polygon(20% 100%, 20% 80%, 50% 80%, 50% 80%, 80% 80%, 80% 100%);
}
.checkbox-primary {
  color: var(--color-primary-content);
  --input-color: var(--color-primary);
}
.checkbox:disabled {
  cursor: not-allowed;
  opacity: 50%;
}
.checkbox-sm {
  padding: calc(0.25rem * 0.5);
  --size: calc(var(--size-selector, 0.25rem) * 5);
}
.select {
  position: relative;
  display: inline-flex;
  width: 100%;
  flex-shrink: 1;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: var(--color-base-100);
  padding-inline-start: calc(0.25rem * 3);
  padding-inline-end: calc(0.25rem * 10);
  vertical-align: middle;
  font-size: var(--text-base);
  line-height: var(--tw-leading, var(--text-base--line-height));
  color: var(--color-base-content);
  webkit-user-select: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  height: var(--size);
  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-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='1em' height='1em' viewBox='0 0 24 24'><path fill='none' stroke='%239293AE' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m6 9l6 6l6-6'/></svg>");
  background-size: 1.3em;
  background-position: calc(100% - 0.5rem) center;
  background-repeat: no-repeat;
  touch-action: manipulation;
  text-overflow: ellipsis;
  border: var(--border) solid #0000;
  border-color: var(--input-color);
  --input-color: color-mix(in oklab, var(--color-base-content) 40%, #0000);
  --size: calc(var(--size-field, 0.25rem) * 9.5);
}
.select:hover:not(:focus, :focus-within), .select:has(:hover):not(:focus, :focus-within) {
  border-color: color-mix(in oklab, var(--color-base-content) 60%, transparent);
}
[dir="rtl"] .select {
  background-position: calc(0% + 1.3em) center;
}
.select select {
  margin-inline-end: calc(0.25rem * -10);
  height: 100%;
  width: calc(100% + 2.75rem);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding-inline-start: calc(0.25rem * 3);
  padding-inline-end: calc(0.25rem * 10);
  background-color: transparent;
  border-style: none;
}
.select select:focus, .select select:focus-within {
  --tw-outline-style: none;
  outline-style: none;
}
.select[multiple] {
  background-image: none;
}
.select:focus, .select:focus-within {
  --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  --input-color: var(--color-primary);
  --tw-shadow-color: color-mix(in oklab, var(--input-color) 30%, #0000);
  outline: 1px solid var(--input-color);
  border-color: var(--input-color);
  isolation: isolate;
}
.select:has(> select[disabled]), .select:is(:disabled, [disabled]) {
  cursor: not-allowed;
  border-style: var(--tw-border-style);
  border-width: 0px;
  border-color: color-mix(in oklab, var(--color-base-content) 10%, transparent);
  background-color: color-mix(in oklab, var(--color-neutral) 10%, transparent);
  color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
}
.select:has(> select[disabled])::-moz-placeholder, .select:is(:disabled, [disabled])::-moz-placeholder {
  color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
}
.select:has(> select[disabled])::placeholder, .select:is(:disabled, [disabled])::placeholder {
  color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
}
.select:has(> select[disabled]) > select[disabled] {
  cursor: not-allowed;
}
.\!input > .select {
  height: auto !important;
  border-style: var(--tw-border-style) !important;
  border-width: 0px !important;
}
.input > .select {
  height: auto;
  border-style: var(--tw-border-style);
  border-width: 0px;
}
.\!input > .select:focus, .\!input > .select:focus-within {
  --tw-shadow: 0 0 #0000 !important;
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow) !important;
  outline-style: var(--tw-outline-style) !important;
  outline-width: 0px !important;
}
.input > .select:focus, .input > .select:focus-within {
  --tw-shadow: 0 0 #0000;
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  outline-style: var(--tw-outline-style);
  outline-width: 0px;
}
.\!input > .select:focus, .\!input > .select:focus-within {
  --tw-shadow: 0 0 #0000 !important;
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow) !important;
  outline-style: var(--tw-outline-style) !important;
  outline-width: 0px !important;
}
.select:has(> .select-floating) select::-moz-placeholder {
  color: transparent;
}
.select:has(> .select-floating) select::placeholder {
  color: transparent;
}
.select:has(> .select-floating) select:focus::-moz-placeholder {
  color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
}
.select:has(> .select-floating) select:focus::placeholder {
  color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
}
.select-floating .select::-moz-placeholder {
  color: transparent;
}
.select-floating .select::placeholder {
  color: transparent;
}
.select-floating .select:focus::-moz-placeholder {
  color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
}
.select-floating .select:focus::placeholder {
  color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
}
.select-floating .select:has(> select[disabled]), .select-floating .select:is(:disabled, [disabled]) {
  border-style: var(--tw-border-style);
  border-width: 1px;
  background-color: transparent;
  opacity: 50%;
}
.select-floating .select:has(> select[disabled]) ~ .select-floating-label, .select-floating .select:is(:disabled, [disabled]) ~ .select-floating-label {
  color: color-mix(in oklab, var(--color-base-content) 30%, transparent);
}
.select-floating:focus-within .select-floating-label, .select-floating:has(.select:focus) .select-floating-label {
  --input-color: var(--color-primary);
  color: var(--input-color);
}
.radio {
  position: relative;
  flex-shrink: 0;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: calc(infinity * 1px);
  padding: calc(0.25rem * 1);
  vertical-align: middle;
  border: var(--border) solid color-mix(in oklab, var(--color-base-content) 40%, #0000);
  box-shadow: 0 1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset;
  --size: calc(var(--size-selector, 0.25rem) * 6);
  width: var(--size);
  height: var(--size);
  color: var(--input-color, var(--color-neutral));
}
.radio:before {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: calc(infinity * 1px);
  --tw-content: "";
  content: var(--tw-content);
  background-size: auto, calc(var(--noise) * 100%);
  background-image: none, var(--fx-noise);
}
.radio:focus-visible {
  outline: 2px solid color-mix(in oklab, var(--input-color, var(--color-neutral)) 30%, #0000);
  outline-offset: 0px;
}
.radio:checked, .radio[aria-checked="true"] {
  animation: radio 0.2s ease-out;
  border-color: currentColor;
  background-color: var(--color-base-100);
  box-shadow: 0 1px 2px 0 color-mix(in oklab, var(--color-base-300) 30%, #0000);
}
.radio:checked:before, .radio[aria-checked="true"]:before {
  background-color: currentColor;
  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 oklch(0% 0 0 / calc(var(--depth) * 0.1));
}
@media (forced-colors: active) {

  .radio:checked:before, .radio[aria-checked="true"]:before {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
    outline-offset: calc(1px * -1);
  }
}
@media print {

  .radio:checked:before, .radio[aria-checked="true"]:before {
    outline: 0.25rem solid;
    outline-offset: -1rem;
  }
}
.radio-primary {
  --input-color: var(--color-primary);
}
.radio:disabled {
  cursor: not-allowed;
  opacity: 50%;
}
@keyframes radio {

  0% {
    padding: 5px;
  }

  50% {
    padding: 3px;
  }
}
@keyframes radio-inset {

  0% {
    padding: 1px;
  }

  50% {
    padding: 4px;
  }
}
.avatar-group :where(.avatar) {
  overflow: hidden;
  border-radius: calc(infinity * 1px);
  border: 2px solid var(--color-base-100);
}
.avatar {
  position: relative;
  display: inline-flex;
  vertical-align: middle;
  font-size: var(--text-base);
  line-height: var(--tw-leading, var(--text-base--line-height));
}
.avatar > div {
  display: block;
  aspect-ratio: 1 / 1;
  overflow: hidden;
}
.avatar > span {
  display: block;
  aspect-ratio: 1 / 1;
  overflow: hidden;
}
:where(.avatar) img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.pull-up .avatar {
  transition-property: all;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-timing-function: var(--ease-in);
  transition-duration: var(--tw-duration, var(--default-transition-duration));
  transition-duration: 250ms;
  --tw-duration: 250ms;
  --tw-ease: var(--ease-in);
}
.pull-up .avatar:hover {
  z-index: 30;
  --tw-translate-y: calc(0.25rem * -1);
  translate: var(--tw-translate-x) var(--tw-translate-y);
  transform: var(--tw-rotate-x) var(--tw-rotate-y) var(--tw-rotate-z) var(--tw-skew-x) var(--tw-skew-y);
  border-radius: calc(infinity * 1px);
  --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);
  --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-base-300) 20%, transparent) var(--tw-shadow-alpha), transparent);
}
.carousel-prev.\!disabled, .carousel-next.\!disabled {
  pointer-events: none !important;
}
.carousel-prev.disabled, .carousel-next.disabled {
  pointer-events: none;
}
.carousel-prev.\!disabled, .carousel-next.\!disabled {
  pointer-events: none !important;
}
.mockup-browser .mockup-browser-toolbar .\!input {
  position: relative !important;
  margin-inline: auto !important;
  display: block !important;
  height: calc(0.25rem * 7) !important;
  width: calc(0.25rem * 96) !important;
  overflow: hidden !important;
  padding-inline-start: calc(0.25rem * 8) !important;
  padding-top: calc(0.25rem * 0.5) !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.mockup-browser .mockup-browser-toolbar .input {
  position: relative;
  margin-inline: auto;
  display: block;
  height: calc(0.25rem * 7);
  width: calc(0.25rem * 96);
  overflow: hidden;
  padding-inline-start: calc(0.25rem * 8);
  padding-top: calc(0.25rem * 0.5);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.mockup-browser .mockup-browser-toolbar .\!input:before {
  content: "" !important;
  position: absolute !important;
  inset-inline-start: calc(0.25rem * 2) !important;
  top: calc(1/2 * 100%) !important;
  aspect-ratio: 1 / 1 !important;
  height: calc(0.25rem * 3) !important;
  --tw-translate-y: calc(calc(1/2 * 100%) * -1) !important;
  translate: var(--tw-translate-x) var(--tw-translate-y) !important;
  border-radius: calc(infinity * 1px) !important;
  border-style: var(--tw-border-style) !important;
  border-width: 2px !important;
  border-color: currentColor !important;
  opacity: 60% !important;
}
.mockup-browser .mockup-browser-toolbar .input:before {
  content: "";
  position: absolute;
  inset-inline-start: calc(0.25rem * 2);
  top: calc(1/2 * 100%);
  aspect-ratio: 1 / 1;
  height: calc(0.25rem * 3);
  --tw-translate-y: calc(calc(1/2 * 100%) * -1);
  translate: var(--tw-translate-x) var(--tw-translate-y);
  border-radius: calc(infinity * 1px);
  border-style: var(--tw-border-style);
  border-width: 2px;
  border-color: currentColor;
  opacity: 60%;
}
.mockup-browser .mockup-browser-toolbar .\!input:after {
  content: "" !important;
  position: absolute !important;
  inset-inline-start: calc(0.25rem * 5) !important;
  top: calc(1/2 * 100%) !important;
  height: calc(0.25rem * 2) !important;
  --tw-translate-y: calc(1/4 * 100%) !important;
  translate: var(--tw-translate-x) var(--tw-translate-y) !important;
  rotate: calc(45deg * -1) !important;
  border-radius: calc(infinity * 1px) !important;
  border-style: var(--tw-border-style) !important;
  border-width: 1px !important;
  border-color: currentColor !important;
  opacity: 60% !important;
}
.mockup-browser .mockup-browser-toolbar .input:after {
  content: "";
  position: absolute;
  inset-inline-start: calc(0.25rem * 5);
  top: calc(1/2 * 100%);
  height: calc(0.25rem * 2);
  --tw-translate-y: calc(1/4 * 100%);
  translate: var(--tw-translate-x) var(--tw-translate-y);
  rotate: calc(45deg * -1);
  border-radius: calc(infinity * 1px);
  border-style: var(--tw-border-style);
  border-width: 1px;
  border-color: currentColor;
  opacity: 60%;
}
.divider {
  display: flex;
  width: 100%;
  align-items: center;
  align-self: stretch;
  font-size: var(--text-sm);
  line-height: var(--tw-leading, var(--text-sm--line-height));
  white-space: nowrap;
}
.divider:not(:empty) {
  gap: calc(0.25rem * 4);
}
.divider:before, .divider:after {
  content: "";
  height: 1px;
  width: 100%;
  flex-grow: 1;
  border-inline-end-style: var(--tw-border-style);
  border-inline-end-width: 0px;
  border-top-style: var(--tw-border-style);
  border-top-width: 1px;
  --tw-border-style: solid;
  border-style: solid;
  border-color: color-mix(in oklab, var(--color-base-content) 20%, transparent);
}
.divider-horizontal.divider {
  height: auto;
  width: auto;
  flex-direction: column;
}
.divider-horizontal.divider:before, .divider-horizontal.divider:after {
  height: 100%;
  width: 1px;
  border-inline-end-style: var(--tw-border-style);
  border-inline-end-width: 1px;
  border-top-style: var(--tw-border-style);
  border-top-width: 0px;
}
.divider-vertical.divider {
  height: auto;
  width: auto;
  flex-direction: row;
}
.divider-vertical.divider:before, .divider-vertical.divider:after {
  height: 1px;
  border-inline-end-style: var(--tw-border-style);
  border-inline-end-width: 0px;
  border-top-style: var(--tw-border-style);
  border-top-width: 1px;
}
.btn {
  display: inline-flex;
  flex-shrink: 0;
  cursor: pointer;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: calc(0.25rem * 2);
  text-align: center;
  vertical-align: middle;
  font-size: var(--text-base);
  line-height: var(--tw-leading, var(--text-base--line-height));
  --tw-font-weight: var(--font-weight-medium);
  font-weight: var(--font-weight-medium);
  text-decoration-line: none;
  webkit-user-select: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
@media (prefers-reduced-motion: reduce) {

  .btn {
    transition-property: none;
  }
}
.btn {
  padding-inline: var(--btn-p);
  color: var(--btn-fg);
  height: var(--size);
  outline-color: color-mix(in oklab, var(--btn-color, var(--color-neutral)) 30%, var(--color-base-100));
  transition-property: color, background-color, border-color, box-shadow;
  transition-timing-function: cubic-bezier(0, 0, 0.96, 1.03);
  transition-duration: 0.25s;
  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: var(--border) solid var(--btn-border);
  box-shadow: 0 0.5px 0 0.5px oklch(100% 0 0 / calc(var(--depth) * 8%)) inset, var(--btn-shadow);
  --size: calc(var(--size-field, 0.25rem) * 9.5);
  --btn-bg: var(--btn-color, var(--color-neutral));
  --btn-fg: var(--color-neutral-content);
  --btn-p: 1rem;
  --btn-border: color-mix(in oklab, var(--btn-bg), #000 calc(var(--depth) * 5%));
  --btn-shadow: 0px 1px 3px 0px color-mix(in oklab, var(--color-base-300) 40%, #0000),
    0px 1px 2px -1px color-mix(in oklab, var(--color-base-300) 40%, #0000);
  --btn-noise: var(--fx-noise);
}
@media (hover: hover) {

  .btn:hover {
    --btn-bg: color-mix(in oklab, var(--btn-color, var(--color-neutral)) 90%, #000);
  }
}
.btn:active:hover:not(.btn-active), .btn:active:focus:not(.btn-active) {
  --tw-scale-x: 95%;
  --tw-scale-y: 95%;
  --tw-scale-z: 95%;
  scale: var(--tw-scale-x) var(--tw-scale-y);
  transition-property: transform, translate, scale, rotate;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-timing-function: ease-out;
  transition-duration: var(--tw-duration, var(--default-transition-duration));
  transition-duration: 300ms;
  --tw-duration: 300ms;
}
.btn:focus-visible {
  --btn-bg: color-mix(in oklab, var(--btn-color, var(--color-neutral)), #000 10%);
  outline-width: 2px;
  outline-style: solid;
}
.btn:is(:disabled, [disabled], .btn-disabled) {
  pointer-events: none;
  opacity: 50%;
  --tw-shadow: 0 0 #0000;
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.btn:is(input[type="checkbox"], input[type="radio"]) {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.btn:is(input[type="checkbox"], input[type="radio"])::after {
  content: attr(aria-label);
}
.btn:is(input[type="checkbox"], input[type="radio"]):checked {
  background: var(--color-primary);
  color: var(--color-primary-content);
  outline-color: var(--color-primary);
  --btn-shadow: 0 0 0 0 oklch(0% 0 0/0), 0 0 0 0 oklch(0% 0 0/0);
  isolation: isolate;
}
.btn-active {
  --btn-bg: color-mix(in oklab, var(--btn-color, var(--color-neutral)) 90%, #000);
  isolation: isolate;
}
.btn-primary {
  --btn-color: var(--color-primary);
  --btn-fg: var(--color-primary-content);
}
.btn-secondary {
  --btn-color: var(--color-secondary);
  --btn-fg: var(--color-secondary-content);
}
.btn-accent {
  --btn-color: var(--color-accent);
  --btn-fg: var(--color-accent-content);
}
.btn-neutral {
  --btn-color: var(--color-neutral);
  --btn-fg: var(--color-neutral-content);
}
.btn-info {
  --btn-color: var(--color-info);
  --btn-fg: var(--color-info-content);
}
.btn-success {
  --btn-color: var(--color-success);
  --btn-fg: var(--color-success-content);
}
.btn-warning {
  --btn-color: var(--color-warning);
  --btn-fg: var(--color-warning-content);
}
.btn-error {
  --btn-color: var(--color-error);
  --btn-fg: var(--color-error-content);
}
.btn-soft {
  --btn-shadow: "";
  color: var(--btn-color, var(--color-neutral));
  --btn-bg: color-mix(in oklab, var(--btn-color, var(--color-neutral)) 10%, var(--color-base-100));
  border-width: 0;
  --btn-noise: none;
}
.btn-soft:focus-visible {
  --btn-bg: color-mix(in oklab, var(--btn-color, var(--color-neutral)) 20%, var(--color-base-100));
}
@media (hover: hover) {

  .btn-soft:hover {
    --btn-bg: color-mix(in oklab, var(--btn-color, var(--color-neutral)) 20%, var(--color-base-100));
  }
}
.btn-soft.btn-active {
  --btn-bg: color-mix(in oklab, var(--btn-color, var(--color-neutral)) 20%, var(--color-base-100));
}
.btn-outline {
  --btn-shadow: "";
  --btn-bg: "";
  color: var(--btn-color, var(--color-neutral));
  --btn-border: var(--btn-color, var(--color-neutral));
  --btn-noise: none;
  outline-color: var(--btn-color, var(--color-neutral));
}
@media (hover: hover) {

  .btn-outline:hover {
    --btn-bg: color-mix(in oklab, var(--btn-color, var(--color-neutral)) 10%, #0000);
  }
}
.btn-outline:focus-visible {
  --btn-bg: color-mix(in oklab, var(--btn-color, var(--color-neutral)) 10%, #0000);
  outline-width: 1px;
}
.btn-outline.btn-active {
  --btn-bg: color-mix(in oklab, var(--btn-color, var(--color-neutral)) 10%, #0000);
}
.btn-text {
  --btn-shadow: "";
  color: var(--btn-color, var(--color-neutral));
  --btn-bg: "";
  --btn-border: "";
  --btn-noise: none;
  border-width: 0;
  outline-color: var(--btn-color, var(--color-neutral));
}
@media (hover: hover) {

  .btn-text:hover {
    --btn-bg: color-mix(in oklab, var(--btn-color, var(--color-neutral)) 10%, #0000);
  }
}
.btn-text:focus-visible {
  --btn-bg: color-mix(in oklab, var(--btn-color, var(--color-neutral)) 10%, #0000);
}
.btn-text.btn-active {
  --btn-bg: color-mix(in oklab, var(--btn-color, var(--color-neutral)) 10%, #0000);
}
.btn-gradient.btn-active {
  --btn-shadow: 0px 4px 6px -1px color-mix(in oklab, var(--btn-color, var(--color-neutral)) 30%, #0000),
    0px 2px 4px -2px color-mix(in oklab, var(--btn-color, var(--color-neutral)) 30%, #0000);
  background-position: 99% center;
}
.btn-xs {
  font-size: var(--text-xs);
  line-height: var(--tw-leading, var(--text-xs--line-height));
  --btn-p: 0.5rem;
  --size: calc(var(--size-field, 0.25rem) * 6);
}
.btn-sm {
  font-size: var(--text-sm);
  line-height: var(--tw-leading, var(--text-sm--line-height));
  --btn-p: 0.75rem;
  --size: calc(var(--size-field, 0.25rem) * 7.5);
}
.btn-lg {
  font-size: var(--text-lg);
  line-height: var(--tw-leading, var(--text-lg--line-height));
  --btn-p: 1.25rem;
  --size: calc(var(--size-field, 0.25rem) * 11.5);
}
.btn-xl {
  font-size: var(--text-lg);
  line-height: var(--tw-leading, var(--text-lg--line-height));
  --btn-p: 1.5rem;
  --size: calc(var(--size-field, 0.25rem) * 14);
}
.btn-square {
  padding-inline: calc(0.25rem * 0);
  width: var(--size);
  height: var(--size);
}
.btn-block {
  width: 100%;
}
.navbar {
  display: flex;
  width: 100%;
  align-items: center;
  background-color: var(--color-base-100);
  padding-inline: calc(0.25rem * 6);
  padding-block: calc(0.25rem * 3);
}
.stats {
  display: inline-grid;
  grid-auto-flow: column;
}
:where(.stats > :not(:last-child)) {
  --tw-divide-x-reverse: 0;
  border-inline-style: var(--tw-border-style);
  border-inline-start-width: calc(1px * var(--tw-divide-x-reverse));
  border-inline-end-width: calc(1px * calc(1 - var(--tw-divide-x-reverse)));
  --tw-divide-y-reverse: 0;
  border-bottom-style: var(--tw-border-style);
  border-top-style: var(--tw-border-style);
  border-top-width: calc(0px * var(--tw-divide-y-reverse));
  border-bottom-width: calc(0px * calc(1 - var(--tw-divide-y-reverse)));
}
.stats {
  overflow-x: auto;
  border-radius: var(--radius-box);
  --tw-border-style: solid;
  border-style: solid;
  border-color: color-mix(in oklab, var(--color-base-content) 20%, transparent);
  background-color: var(--color-base-100);
  box-shadow: var( --card-shadow, 0 1px 3px 0 color-mix(in oklab, var(--color-base-300) 20%, #0000), 0 1px 2px -1px color-mix(in oklab, var(--color-base-300) 20%, #0000) );
  border-width: var(--card-border, 0px);
}
.stats:where(.stats-border) {
  border: var(--border) solid color-mix(in oklab, var(--color-base-content) 20%, transparent);
}
.stat {
  display: inline-grid;
  width: 100%;
  -moz-column-gap: calc(0.25rem * 4);
       column-gap: calc(0.25rem * 4);
  row-gap: calc(0.25rem * 1);
  padding-inline: calc(0.25rem * 6);
  padding-block: calc(0.25rem * 4);
  grid-template-columns: repeat(1, 1fr);
  border-color: inherit;
}
.skeleton {
  border-radius: var(--radius-box);
  background-color: var(--color-base-200);
  will-change: background-position;
  background-image: linear-gradient(105deg, #0000 0% 40%, var(--color-base-100) 50%, #0000 60% 100%);
  background-size: 200% auto;
  background-repeat: no-repeat;
  background-position-x: -50%;
}
@keyframes skeleton {

  0% {
    background-position: 150%;
  }

  100% {
    background-position: -50%;
  }
}
.card {
  position: relative;
  display: flex;
  flex-direction: column;
  border-radius: var(--radius-box);
  --tw-border-style: solid;
  border-style: solid;
  border-color: color-mix(in oklab, var(--color-base-content) 20%, transparent);
  background-color: var(--color-base-100);
  font-size: var(--text-base);
  line-height: var(--tw-leading, var(--text-base--line-height));
  --tw-font-weight: var(--font-weight-normal);
  font-weight: var(--font-weight-normal);
  color: color-mix(in oklab, var(--color-base-content) 80%, transparent);
  --tw-outline-style: none;
  outline-style: none;
  box-shadow: var( --card-shadow, 0 1px 3px 0 color-mix(in oklab, var(--color-base-300) 20%, #0000), 0 1px 2px -1px color-mix(in oklab, var(--color-base-300) 20%, #0000) );
  border-width: var(--card-border, 0px);
}
.card:focus {
  --tw-outline-style: none;
  outline-style: none;
}
@media (forced-colors: active) {

  .card:focus {
    outline: 2px solid transparent;
    outline-offset: 2px;
  }
}
.card :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;
}
.card :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;
}
.card:where(.card-border) {
  border: var(--border) solid color-mix(in oklab, var(--color-base-content) 20%, transparent);
}
.card.image-full {
  display: grid;
}
.card.image-full:before {
  position: relative;
  grid-column-start: 1;
  grid-row-start: 1;
  border-radius: var(--radius-box);
  background-color: var(--color-neutral);
  opacity: 75%;
  content: "";
}
.card.image-full > * {
  grid-column-start: 1;
  grid-row-start: 1;
}
.card.image-full > .card-body {
  position: relative;
  color: var(--color-neutral-content);
}
.card.image-full :where(figure) {
  overflow: hidden;
  border-radius: inherit;
}
.card.image-full > figure img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.card figure {
  display: flex;
  align-items: center;
  justify-content: center;
}
.card:has(> input:is(input[type="checkbox"], input[type="radio"])) {
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.card:has(> :checked) {
  outline: 2px solid currentColor;
}
.card-title {
  font-size: var(--text-2xl);
  line-height: var(--tw-leading, var(--text-2xl--line-height));
  --tw-font-weight: var(--font-weight-semibold);
  font-weight: var(--font-weight-semibold);
  color: var(--color-base-content);
}
.card-body {
  display: flex;
  flex: auto;
  flex-direction: column;
  gap: calc(0.25rem * 2);
  padding: var(--card-p, 1.5rem);
}
.card-body :where(p) {
  flex-grow: 1;
}
.card-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: calc(0.25rem * 3);
}
:where(.card-header) + .card-body {
  padding-top: 0;
}
:where(.card-body) + .card-footer {
  padding-top: 0;
}
.card-xs .card-title {
  font-size: var(--text-base);
  line-height: var(--tw-leading, var(--text-base--line-height));
}
.card-sm .card-title {
  font-size: var(--text-lg);
  line-height: var(--tw-leading, var(--text-lg--line-height));
}
.card-md .card-title {
  font-size: var(--text-2xl);
  line-height: var(--tw-leading, var(--text-2xl--line-height));
}
.card-lg .card-title {
  font-size: var(--text-2xl);
  line-height: var(--tw-leading, var(--text-2xl--line-height));
}
.card-xl .card-title {
  font-size: var(--text-3xl);
  line-height: var(--tw-leading, var(--text-3xl--line-height));
}
.card .card-alert {
  border-radius: 0;
}
.card .card-alert:first-child {
  border-top-left-radius: var(--radius-box);
  border-top-right-radius: var(--radius-box);
}
.card .card-alert:last-child {
  border-bottom-right-radius: var(--radius-box);
  border-bottom-left-radius: var(--radius-box);
}
.card-group > .card {
  flex: 1 0 0%;
  border-radius: 0;
  --card-shadow: none;
  --card-border: 0;
}
.drawer {
  position: fixed;
  z-index: 80;
  display: flex;
  width: 100%;
  height: 100%;
  max-width: calc(0.25rem * 96);
  flex-direction: column;
  justify-content: space-between;
  background-color: var(--color-base-100);
  --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px 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);
  --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-base-300) 20%, transparent) var(--tw-shadow-alpha), transparent);
}
.indicator {
  position: relative;
  display: inline-flex;
  width: -moz-max-content;
  width: max-content;
}
.indicator :where(.indicator-item) {
  z-index: 1;
  position: absolute;
  white-space: nowrap;
  top: var(--indicator-t, 0);
  bottom: var(--indicator-b, auto);
  inset-inline-start: var(--indicator-s, auto);
  inset-inline-end: var(--indicator-e, 0);
  translate: var(--indicator-x, 50%) var(--indicator-y, -50%);
}
[dir="rtl"] .indicator :where(.indicator-item) {
  --indicator-x: -50%;
}
.footer {
  display: grid;
  width: 100%;
  grid-auto-flow: row;
  place-items: start;
  -moz-column-gap: calc(0.25rem * 4);
       column-gap: calc(0.25rem * 4);
  row-gap: calc(0.25rem * 10);
}
@media (width >= 48rem) {

  .footer {
    grid-auto-flow: column;
  }
}
.footer > * {
  display: grid;
  place-items: start;
  gap: calc(0.25rem * 3);
}
.footer.footer-center {
  place-items: center;
  text-align: center;
}
@media (width >= 48rem) {

  .footer.footer-center {
    grid-auto-flow: row dense;
  }
}
.footer.footer-center > * {
  place-items: center;
}
.footer :where(.link) {
  --tw-font-weight: var(--font-weight-normal);
  font-weight: var(--font-weight-normal);
}
.\!loading {
  pointer-events: none !important;
  display: inline-block !important;
  aspect-ratio: 1 / 1 !important;
  background-color: currentColor !important;
  vertical-align: middle !important;
  width: calc(var(--size-selector, 0.25rem) * 6) !important;
  -webkit-mask-size: 100% !important;
          mask-size: 100% !important;
  -webkit-mask-repeat: no-repeat !important;
          mask-repeat: no-repeat !important;
  -webkit-mask-position: center !important;
          mask-position: center !important;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='%23000' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cstyle%3E.spinner_V8m1%7Btransform-origin:center;animation:spinner_zKoa 2s linear infinite%7D.spinner_V8m1 circle%7Bstroke-linecap:round;animation:spinner_YpZS 1.5s ease-out infinite%7D%40keyframes spinner_zKoa%7B100%25%7Btransform:rotate(360deg)%7D%7D%40keyframes spinner_YpZS%7B0%25%7Bstroke-dasharray:0 150;stroke-dashoffset:0%7D47.5%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-16%7D95%25%2C100%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-59%7D%7D%3C%2Fstyle%3E%3Cg class='spinner_V8m1'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3'%3E%3C%2Fcircle%3E%3C%2Fg%3E%3C%2Fsvg%3E") !important;
          mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='%23000' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cstyle%3E.spinner_V8m1%7Btransform-origin:center;animation:spinner_zKoa 2s linear infinite%7D.spinner_V8m1 circle%7Bstroke-linecap:round;animation:spinner_YpZS 1.5s ease-out infinite%7D%40keyframes spinner_zKoa%7B100%25%7Btransform:rotate(360deg)%7D%7D%40keyframes spinner_YpZS%7B0%25%7Bstroke-dasharray:0 150;stroke-dashoffset:0%7D47.5%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-16%7D95%25%2C100%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-59%7D%7D%3C%2Fstyle%3E%3Cg class='spinner_V8m1'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3'%3E%3C%2Fcircle%3E%3C%2Fg%3E%3C%2Fsvg%3E") !important;
}
.loading {
  pointer-events: none;
  display: inline-block;
  aspect-ratio: 1 / 1;
  background-color: currentColor;
  vertical-align: middle;
  width: calc(var(--size-selector, 0.25rem) * 6);
  -webkit-mask-size: 100%;
          mask-size: 100%;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='%23000' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cstyle%3E.spinner_V8m1%7Btransform-origin:center;animation:spinner_zKoa 2s linear infinite%7D.spinner_V8m1 circle%7Bstroke-linecap:round;animation:spinner_YpZS 1.5s ease-out infinite%7D%40keyframes spinner_zKoa%7B100%25%7Btransform:rotate(360deg)%7D%7D%40keyframes spinner_YpZS%7B0%25%7Bstroke-dasharray:0 150;stroke-dashoffset:0%7D47.5%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-16%7D95%25%2C100%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-59%7D%7D%3C%2Fstyle%3E%3Cg class='spinner_V8m1'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3'%3E%3C%2Fcircle%3E%3C%2Fg%3E%3C%2Fsvg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='%23000' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cstyle%3E.spinner_V8m1%7Btransform-origin:center;animation:spinner_zKoa 2s linear infinite%7D.spinner_V8m1 circle%7Bstroke-linecap:round;animation:spinner_YpZS 1.5s ease-out infinite%7D%40keyframes spinner_zKoa%7B100%25%7Btransform:rotate(360deg)%7D%7D%40keyframes spinner_YpZS%7B0%25%7Bstroke-dasharray:0 150;stroke-dashoffset:0%7D47.5%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-16%7D95%25%2C100%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-59%7D%7D%3C%2Fstyle%3E%3Cg class='spinner_V8m1'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3'%3E%3C%2Fcircle%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}
.loading-spinner {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='%23000' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cstyle%3E.spinner_V8m1%7Btransform-origin:center;animation:spinner_zKoa 2s linear infinite%7D.spinner_V8m1 circle%7Bstroke-linecap:round;animation:spinner_YpZS 1.5s ease-out infinite%7D%40keyframes spinner_zKoa%7B100%25%7Btransform:rotate(360deg)%7D%7D%40keyframes spinner_YpZS%7B0%25%7Bstroke-dasharray:0 150;stroke-dashoffset:0%7D47.5%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-16%7D95%25%2C100%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-59%7D%7D%3C%2Fstyle%3E%3Cg class='spinner_V8m1'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3'%3E%3C%2Fcircle%3E%3C%2Fg%3E%3C%2Fsvg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='%23000' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cstyle%3E.spinner_V8m1%7Btransform-origin:center;animation:spinner_zKoa 2s linear infinite%7D.spinner_V8m1 circle%7Bstroke-linecap:round;animation:spinner_YpZS 1.5s ease-out infinite%7D%40keyframes spinner_zKoa%7B100%25%7Btransform:rotate(360deg)%7D%7D%40keyframes spinner_YpZS%7B0%25%7Bstroke-dasharray:0 150;stroke-dashoffset:0%7D47.5%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-16%7D95%25%2C100%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-59%7D%7D%3C%2Fstyle%3E%3Cg class='spinner_V8m1'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3'%3E%3C%2Fcircle%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}
.loading-xs {
  width: calc(var(--size-selector, 0.25rem) * 4);
}
.loading-sm {
  width: calc(var(--size-selector, 0.25rem) * 5);
}
.loading-md {
  width: calc(var(--size-selector, 0.25rem) * 6);
}
.loading-lg {
  width: calc(var(--size-selector, 0.25rem) * 7);
}
.menu {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: calc(0.25rem * 0.5);
  border-radius: var(--radius-box);
  padding: calc(0.25rem * 2);
  font-size: var(--text-base);
  line-height: var(--tw-leading, var(--text-base--line-height));
  --menu-active-fg: var(--color-primary);
  --menu-active-bg: color-mix(in oklab, var(--color-primary) 10%, #0000);
  --menu-hover-fg: var(--color-base-content);
  --menu-hover-bg: color-mix(in oklab, var(--color-neutral) 10%, #0000);
}
.menu :where(li ul) {
  position: relative;
  white-space: nowrap;
}
.menu :where(li:not(.dropdown) ul) {
  margin-inline-start: calc(0.25rem * 4);
  padding-inline-start: calc(0.25rem * 2);
}
.menu :where(li:not(.dropdown) ul):before {
  position: absolute;
  inset-inline-start: calc(0.25rem * 0);
  top: calc(0.25rem * 3);
  bottom: calc(0.25rem * 2.5);
  background-color: var(--color-base-content);
  opacity: 10%;
  width: var(--border);
  content: "";
}
.menu :where(li > .menu-dropdown:not(.menu-dropdown-show)) {
  display: none;
}
.menu :where(.menu li:empty) {
  background-color: var(--color-base-content);
  opacity: 10%;
  margin: 0.5rem 1rem;
  height: 1px;
}
.menu :where(li:not(.menu-title, .tooltip) > *:not(ul, .collapse, .accordion-content, .menu-title, .btn)) {
  border-radius: var(--radius-field);
  padding-inline: calc(0.25rem * 4);
  padding-block: calc(0.25rem * 2.5);
  text-align: start;
  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, backdrop-filter;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-timing-function: var(--ease-out);
  transition-duration: var(--tw-duration, var(--default-transition-duration));
  transition-duration: 200ms;
  --tw-duration: 200ms;
  --tw-ease: var(--ease-out);
  text-wrap: balance;
}
.menu :where(li:not(.menu-title) > *:not(ul, .collapse, .accordion-content, .menu-title, .btn)) {
  display: grid;
  grid-auto-flow: column;
  align-content: flex-start;
  align-items: center;
  gap: calc(0.25rem * 2);
  grid-auto-columns: minmax(auto, max-content) auto max-content;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.menu :where(li.tooltip) > * {
  border-radius: var(--radius-field);
  padding-inline: calc(0.25rem * 4);
  padding-block: calc(0.25rem * 2.5);
  text-align: start;
}
.menu :where(.menu li:not(.menu-title, .menu-disabled)) {
  color: var(--color-base-content);
}
.menu :where( .menu li:not(.menu-title, .menu-disabled) > *:not(ul, .collapse, .accordion-content, .dropdown-active, .menu-title) ):not(.btn):focus-visible {
  cursor: pointer;
  --tw-outline-style: none;
  outline-style: none;
  color: var(--menu-hover-fg);
  background-color: var(--menu-hover-bg);
}
.menu :where( .menu li:not(.menu-title, .menu-disabled) > *:not(ul, .collapse, .accordion-content, .dropdown-active, .menu-title) ):hover {
  cursor: pointer;
  --tw-outline-style: none;
  outline-style: none;
  color: var(--menu-hover-fg);
  background-color: var(--menu-hover-bg);
}
.menu li:not(.menu-title, .menu-disabled) > :not(ul, .menu-title, .collapse, .accordion-content, .btn).menu-active {
  color: var(--menu-active-fg);
  background-color: var(--menu-active-bg);
  background-size: auto, calc(var(--noise) * 100%);
  background-image: none, var(--fx-noise);
}
.menu li.menu-disabled {
  pointer-events: none;
  opacity: 50%;
  webkit-user-select: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
:where(.menu li) {
  position: relative;
  display: flex;
  flex-shrink: 0;
  flex-direction: column;
  flex-wrap: wrap;
  align-items: stretch;
}
:where(.menu li) .badge {
  justify-self: flex-end;
}
.menu-horizontal > li:not(.menu-title) > .collapse > ul {
  position: absolute;
  margin-inline-start: calc(0.25rem * 0);
  margin-top: calc(0.25rem * 4);
  padding-block: calc(0.25rem * 2);
  padding-inline-end: calc(0.25rem * 2);
}
.menu-horizontal > li > .collapse > ul:before {
  content: none;
}
:where(.menu-horizontal > li:not(.menu-title) > .collapse > ul) {
  border-radius: var(--radius-box);
  background-color: var(--color-base-100);
  --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);
  --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-base-300) 20%, transparent) var(--tw-shadow-alpha), transparent);
}
.menu-vertical > li:not(.menu-title) > .collapse > ul {
  position: relative;
  margin-inline-start: calc(0.25rem * 4);
  margin-top: calc(0.25rem * 0);
  padding-block: calc(0.25rem * 0);
  padding-inline-end: calc(0.25rem * 0);
}
.badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: calc(0.25rem * 1.5);
  border-radius: var(--radius-selector);
  text-align: center;
  vertical-align: middle;
  font-size: var(--text-sm);
  line-height: var(--tw-leading, var(--text-sm--line-height));
  border: var(--border) solid var(--badge-border);
  padding-inline: calc(0.25rem * 3);
  width: -moz-fit-content;
  width: fit-content;
  color: var(--badge-fg);
  background-size: auto, calc(var(--noise) * 100%);
  background-image: none, var(--fx-noise);
  background-color: var(--badge-bg);
  --badge-border: var(--badge-color, var(--color-neutral));
  --badge-bg: var(--badge-color, var(--color-neutral));
  --badge-fg: var(--color-neutral-content);
  --size: calc(var(--size-selector, 0.25rem) * 6);
  height: var(--size);
}
.badge.badge-outline {
  --badge-fg: var(--badge-color, var(--color-neutral));
  --badge-bg: transparent;
  background-image: none;
}
.badge.badge-soft {
  --badge-border: none;
  --badge-fg: var(--badge-color, var(--color-neutral));
  --badge-bg: color-mix(in oklab, var(--badge-color, var(--color-neutral)) 10%, var(--color-base-100));
  background-image: none;
}
.badge-primary {
  --badge-color: var(--color-primary);
  --badge-fg: var(--color-primary-content);
}
.badge-secondary {
  --badge-color: var(--color-secondary);
  --badge-fg: var(--color-secondary-content);
}
.badge-accent {
  --badge-color: var(--color-accent);
  --badge-fg: var(--color-accent-content);
}
.badge-info {
  --badge-color: var(--color-info);
  --badge-fg: var(--color-info-content);
}
.badge-success {
  --badge-color: var(--color-success);
  --badge-fg: var(--color-success-content);
}
.badge-warning {
  --badge-color: var(--color-warning);
  --badge-fg: var(--color-warning-content);
}
.badge-error {
  --badge-color: var(--color-error);
  --badge-fg: var(--color-error-content);
}
.badge-xs {
  --size: calc(var(--size-selector, 0.25rem) * 4);
  font-size: 0.625rem;
  padding-inline: calc(0.25rem * 1.5);
}
.badge-sm {
  font-size: var(--text-xs);
  line-height: var(--tw-leading, var(--text-xs--line-height));
  --size: calc(var(--size-selector, 0.25rem) * 5);
  padding-inline: calc(0.25rem * 2);
}
.badge-lg {
  font-size: var(--text-base);
  line-height: var(--tw-leading, var(--text-base--line-height));
  --size: calc(var(--size-selector, 0.25rem) * 7);
  padding-inline: calc(0.25rem * 3.5);
}
.link {
  --link-color: color-mix(in oklab, var(--color-base-content) 80%, #0000);
  display: inline-block;
  cursor: pointer;
  --tw-font-weight: var(--font-weight-medium);
  font-weight: var(--font-weight-medium);
  text-decoration-line: underline;
  color: var(--link-color);
}
.link:hover {
  color: color-mix(in oklab, var(--link-color) 80%, #000);
}
.link:focus {
  --tw-outline-style: none;
  outline-style: none;
}
.link:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}
.link.disabled, .link[disabled], .link:disabled {
  pointer-events: none;
  opacity: 50%;
}
.link.\!disabled {
  pointer-events: none !important;
  opacity: 50% !important;
}
.link:where(.link-hover) {
  text-decoration-line: none;
}
@media (hover:hover) {

  @media (hover: hover) {

    .link:where(.link-hover):hover {
      text-decoration-line: underline;
    }
  }
}
.link:where(.link-animated) {
  position: relative;
  text-decoration-line: none;
}
.link:where(.link-animated)::before {
  content: var(--tw-content);
  pointer-events: none;
  position: absolute;
  inset-inline-start: calc(0.25rem * 0);
  bottom: calc(0.25rem * 0);
  height: 1px;
  width: 100%;
  background-color: currentColor;
  transition-property: transform, translate, scale, rotate;
  transition-timing-function: var(--ease-in-out);
  transition-duration: 300ms;
  --tw-duration: 300ms;
  --tw-ease: var(--ease-in-out);
  --tw-content: '';
  transform-origin: 100% 50%;
  transform: scale3d(0, 1, 1);
}
.link:where(.link-animated):hover::before {
  transform-origin: 0% 50%;
  transform: scale3d(1, 1, 1);
}
.tooltip {
  display: inline-block;
  text-align: center;
}
.table {
  position: relative;
  width: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  border-radius: var(--radius-box);
  text-align: left;
  font-size: var(--text-sm);
  line-height: var(--tw-leading, var(--text-sm--line-height));
}
.table:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
  text-align: right;
}
@media (hover: hover) {

  .table tr.row-hover:hover, .table tr.row-hover:nth-child(even):hover {
    background-color: color-mix(in oklab, var(--color-base-200) 80%, transparent);
  }
}
.table tr.row-active, .table tr.row-active:nth-child(even) {
  background-color: var(--color-base-200);
}
.table :where(th, td) {
  padding-inline: calc(0.25rem * 5);
  padding-block: calc(0.25rem * 3);
  vertical-align: middle;
  text-wrap: nowrap;
}
.table :where(thead, tfoot) {
  font-size: var(--text-sm);
  line-height: var(--tw-leading, var(--text-sm--line-height));
  white-space: nowrap;
  color: var(--color-base-content);
  text-transform: uppercase;
  letter-spacing: 1px;
}
.table :where(th) {
  --tw-font-weight: var(--font-weight-medium);
  font-weight: var(--font-weight-medium);
}
.table :where(.table-pin-rows thead tr) {
  position: sticky;
  top: calc(0.25rem * 0);
  z-index: 1;
  background-color: var(--color-base-100);
}
.table :where(.table-pin-rows tfoot tr) {
  position: sticky;
  bottom: calc(0.25rem * 0);
  z-index: 1;
  background-color: var(--color-base-100);
}
.table :where(.table-pin-cols tr th) {
  position: sticky;
  right: calc(0.25rem * 0);
  left: calc(0.25rem * 0);
  background-color: var(--color-base-100);
}
.table :where(thead tr) {
  border-bottom: var(--border) solid color-mix(in oklch, var(--color-base-content) 25%, #0000);
}
.table :where(tbody tr:not(:last-child)) {
  border-bottom: var(--border) solid color-mix(in oklch, var(--color-base-content) 10%, #0000);
}
.table :where(tfoot) {
  border-top: var(--border) solid color-mix(in oklch, var(--color-base-content) 25%, #0000);
}
.collapse:not(td):not(tr):not(colgroup) {
  visibility: visible;
}
.stack {
  display: inline-grid;
  place-items: center;
  align-items: flex-end;
}
.stack > * {
  grid-column-start: 1;
  grid-row-start: 1;
  height: 100%;
  width: 100%;
  opacity: 60%;
  transform: translateY(14%) scale(0.9);
  z-index: 1;
}
.stack > *:nth-child(2) {
  opacity: 80%;
  transform: translateY(7%) scale(0.95);
  z-index: 2;
}
.stack > *:nth-child(1) {
  opacity: 100%;
  transform: translateY(0) scale(1) translateX(0);
  z-index: 3;
}
.diff {
  position: relative;
  display: grid;
  width: 100%;
  overflow: hidden;
  container-type: inline-size;
  grid-template-columns: auto 1fr;
}
.filter {
  display: flex;
  flex-wrap: wrap;
}
.filter input[type="radio"] {
  width: auto;
}
.filter input {
  overflow: hidden;
  opacity: 100%;
  scale: 1;
  border-width: 0;
  transition: margin 0.1s, opacity 0.3s, padding 0.3s, border-width 0.1s;
}
.filter input:not(:last-child) {
  margin-inline-end: calc(0.25rem * 1);
}
.filter input.filter-reset {
  aspect-ratio: 1 / 1;
}
.filter input.filter-reset::after {
  content: "×";
}
.filter:not(:has(input:checked:not(.filter-reset))) .filter-reset, .filter:not(:has(input:checked:not(.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%;
}
.filter: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%;
}
.mask {
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}
.status {
  display: inline-block;
  aspect-ratio: 1 / 1;
  width: calc(0.25rem * 2.5);
  height: calc(0.25rem * 2.5);
  border-radius: calc(infinity * 1px);
  background-color: var(--color-neutral);
  background-position: center;
  background-repeat: no-repeat;
  vertical-align: middle;
  color: var(--color-neutral);
  background-image: radial-gradient(circle at 35% 30%, oklch(1 0 0 / calc(var(--depth) * 0.5)), #0000);
  box-shadow: 0 2px 3px -1px color-mix(in oklab, currentColor calc(var(--depth) * 100%), #0000);
}
.pin-input.\!disabled {
  pointer-events: none !important;
  border-color: color-mix(in oklab, var(--color-base-content) 25%, transparent) !important;
  background-color: color-mix(in oklab, var(--color-base-content) 5%, transparent) !important;
  color: color-mix(in oklab, var(--color-base-content) 50%, transparent) !important;
}
.pin-input.disabled, .pin-input:disabled, .pin-input[disabled] {
  pointer-events: none;
  border-color: color-mix(in oklab, var(--color-base-content) 25%, transparent);
  background-color: color-mix(in oklab, var(--color-base-content) 5%, transparent);
  color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
}
.pin-input.\!disabled::-moz-placeholder {
  color: color-mix(in oklab, var(--color-base-content) 40%, transparent) !important;
}
.pin-input.\!disabled::placeholder {
  color: color-mix(in oklab, var(--color-base-content) 40%, transparent) !important;
}
.pin-input.disabled::-moz-placeholder, .pin-input:disabled::-moz-placeholder, .pin-input[disabled]::-moz-placeholder {
  color: color-mix(in oklab, var(--color-base-content) 40%, transparent);
}
.pin-input.disabled::placeholder, .pin-input:disabled::placeholder, .pin-input[disabled]::placeholder {
  color: color-mix(in oklab, var(--color-base-content) 40%, transparent);
}
.alert {
  position: relative;
  width: 100%;
  border-radius: var(--radius-box);
  padding: calc(0.25rem * 4);
  color: var(--color-neutral-content);
  text-align: start;
  background-size: auto, calc(var(--noise) * 100%);
  background-image: none, var(--fx-noise);
  background-color: var(--alert-bg);
  border: var(--border) solid var(--alert-border);
  box-shadow: 0 0.1875rem 0 -0.125rem oklch(100% 0 0 / calc(var(--depth) * 0.08)) inset;
  --alert-bg: var(--alert-color, var(--color-neutral));
  --alert-border: var(--alert-color, var(--color-neutral));
}
.alert.alert-outline {
  color: var(--alert-color, var(--color-neutral));
  --alert-bg: transparent;
  box-shadow: none;
  background-image: none;
}
.alert.alert-soft {
  color: var(--alert-color, var(--color-neutral));
  --alert-bg: color-mix(in oklab, var(--alert-color, var(--color-neutral)) 10%, var(--color-base-100));
  box-shadow: none;
  background-image: none;
}
.alert-info {
  color: var(--color-info-content);
  --alert-color: var(--color-info);
}
.alert-success {
  color: var(--color-success-content);
  --alert-color: var(--color-success);
}
.alert-warning {
  color: var(--color-warning-content);
  --alert-color: var(--color-warning);
}
.alert-error {
  color: var(--color-error-content);
  --alert-color: var(--color-error);
}
.kbd {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-field);
  background-color: color-mix(in oklab, var(--color-base-200) 20%, transparent);
  font-size: var(--text-sm);
  line-height: var(--tw-leading, var(--text-sm--line-height));
  padding-left: 0.5em;
  padding-right: 0.5em;
  border: var(--border) solid color-mix(in oklab, var(--color-base-content) 25%, #0000);
  border-bottom-width: calc(var(--border) + 1px);
  --size: calc(var(--size-selector, 0.25rem) * 6.5);
  height: var(--size);
  min-width: var(--size);
}
.\!input {
  display: inline-flex !important;
  width: 100% !important;
  flex-shrink: 1 !important;
  cursor: text !important;
  -webkit-appearance: none !important;
     -moz-appearance: none !important;
          appearance: none !important;
  background-color: var(--color-base-100) !important;
  padding-inline: calc(0.25rem * 3) !important;
  font-size: var(--text-base) !important;
  line-height: var(--tw-leading, var(--text-base--line-height)) !important;
  --tw-font-weight: var(--font-weight-normal) !important;
  font-weight: var(--font-weight-normal) !important;
  color: var(--color-base-content) !important;
}
.input {
  display: inline-flex;
  width: 100%;
  flex-shrink: 1;
  cursor: text;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: var(--color-base-100);
  padding-inline: calc(0.25rem * 3);
  font-size: var(--text-base);
  line-height: var(--tw-leading, var(--text-base--line-height));
  --tw-font-weight: var(--font-weight-normal);
  font-weight: var(--font-weight-normal);
  color: var(--color-base-content);
}
.\!input::-moz-placeholder {
  color: color-mix(in oklab, var(--color-base-content) 50%, transparent) !important;
}
.\!input::placeholder {
  color: color-mix(in oklab, var(--color-base-content) 50%, transparent) !important;
}
.input::-moz-placeholder {
  color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
}
.input::placeholder {
  color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
}
.\!input:focus-visible {
  --tw-outline-style: none !important;
  outline-style: none !important;
}
.input:focus-visible {
  --tw-outline-style: none;
  outline-style: none;
}
.\!input {
  border: var(--border) solid #0000 !important;
  height: var(--size) !important;
  touch-action: manipulation !important;
  border-start-start-radius: var(--join-ss, var(--radius-field)) !important;
  border-start-end-radius: var(--join-se, var(--radius-field)) !important;
  border-end-start-radius: var(--join-es, var(--radius-field)) !important;
  border-end-end-radius: var(--join-ee, var(--radius-field)) !important;
  border-color: var(--input-color) !important;
  --input-color: color-mix(in oklab, var(--color-base-content) 40%, #0000) !important;
  --size: calc(var(--size-field, 0.25rem) * 9.5) !important;
}
.input {
  border: var(--border) solid #0000;
  height: var(--size);
  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);
  --input-color: color-mix(in oklab, var(--color-base-content) 40%, #0000);
  --size: calc(var(--size-field, 0.25rem) * 9.5);
}
.\!input:hover:not(:focus, :focus-within), .\!input:has(:hover):not(:focus, :focus-within) {
  border-color: color-mix(in oklab, var(--color-base-content) 60%, transparent) !important;
}
.input:hover:not(:focus, :focus-within), .input:has(:hover):not(:focus, :focus-within) {
  border-color: color-mix(in oklab, var(--color-base-content) 60%, transparent);
}
.\!input:hover:not(:focus, :focus-within), .\!input:has(:hover):not(:focus, :focus-within) {
  border-color: color-mix(in oklab, var(--color-base-content) 60%, transparent) !important;
}
.\!input:where(input) {
  display: inline-block !important;
}
.input:where(input) {
  display: inline-block;
}
.\!input :where(input:not([type="checkbox"]):not([type="radio"])) {
  display: inline-block !important;
  height: 100% !important;
  width: 100% !important;
  -webkit-appearance: none !important;
     -moz-appearance: none !important;
          appearance: none !important;
  background-color: transparent !important;
  border: none !important;
}
.input :where(input:not([type="checkbox"]):not([type="radio"])) {
  display: inline-block;
  height: 100%;
  width: 100%;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: transparent;
  border: none;
}
.\!input :where(input:not([type="checkbox"]):not([type="radio"])):focus, .\!input :where(input:not([type="checkbox"]):not([type="radio"])):focus-within, .\!input :where(input:not([type="checkbox"]):not([type="radio"])):focus-visible {
  --tw-outline-style: none !important;
  outline-style: none !important;
}
.input :where(input:not([type="checkbox"]):not([type="radio"])):focus, .input :where(input:not([type="checkbox"]):not([type="radio"])):focus-within, .input :where(input:not([type="checkbox"]):not([type="radio"])):focus-visible {
  --tw-outline-style: none;
  outline-style: none;
}
.\!input :where(input:not([type="checkbox"]):not([type="radio"])):focus, .\!input :where(input:not([type="checkbox"]):not([type="radio"])):focus-within, .\!input :where(input:not([type="checkbox"]):not([type="radio"])):focus-visible {
  --tw-outline-style: none !important;
  outline-style: none !important;
}
.\!input:focus, .\!input:focus-within {
  --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05)) !important;
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow) !important;
  --input-color: var(--color-primary) !important;
  --tw-shadow-color: color-mix(in oklab, var(--input-color) 30%, #0000) !important;
  outline: 1px solid var(--input-color) !important;
  isolation: isolate !important;
}
.input:focus, .input:focus-within {
  --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  --input-color: var(--color-primary);
  --tw-shadow-color: color-mix(in oklab, var(--input-color) 30%, #0000);
  outline: 1px solid var(--input-color);
  isolation: isolate;
}
.\!input:focus, .\!input:focus-within {
  --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05)) !important;
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow) !important;
  --input-color: var(--color-primary) !important;
  --tw-shadow-color: color-mix(in oklab, var(--input-color) 30%, #0000) !important;
  outline: 1px solid var(--input-color) !important;
  isolation: isolate !important;
}
.\!input:has(> input[disabled]), .\!input:is(:disabled, [disabled]) {
  cursor: not-allowed !important;
  border-style: var(--tw-border-style) !important;
  border-width: 0px !important;
  background-color: color-mix(in oklab, var(--color-neutral) 10%, transparent) !important;
  color: color-mix(in oklab, var(--color-base-content) 50%, transparent) !important;
  box-shadow: none !important;
}
.input:has(> input[disabled]), .input:is(:disabled, [disabled]) {
  cursor: not-allowed;
  border-style: var(--tw-border-style);
  border-width: 0px;
  background-color: color-mix(in oklab, var(--color-neutral) 10%, transparent);
  color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
  box-shadow: none;
}
.\!input:has(> input[disabled]), .\!input:is(:disabled, [disabled]) {
  cursor: not-allowed !important;
  border-style: var(--tw-border-style) !important;
  border-width: 0px !important;
  background-color: color-mix(in oklab, var(--color-neutral) 10%, transparent) !important;
  color: color-mix(in oklab, var(--color-base-content) 50%, transparent) !important;
  box-shadow: none !important;
}
.\!input:has(> input[disabled]) > input[disabled] {
  cursor: not-allowed !important;
}
.input:has(> input[disabled]) > input[disabled] {
  cursor: not-allowed;
}
.\!input::-webkit-date-and-time-value {
  text-align: inherit !important;
}
.input::-webkit-date-and-time-value {
  text-align: inherit;
}
.\!input[type="number"]::-webkit-inner-spin-button {
  margin-block: calc(0.25rem * -3) !important;
  margin-inline-end: calc(0.25rem * -3) !important;
}
.input[type="number"]::-webkit-inner-spin-button {
  margin-block: calc(0.25rem * -3);
  margin-inline-end: calc(0.25rem * -3);
}
.\!input:has(> .input-floating) input::-moz-placeholder {
  color: transparent !important;
}
.\!input:has(> .input-floating) input::placeholder {
  color: transparent !important;
}
.input:has(> .input-floating) input::-moz-placeholder {
  color: transparent;
}
.input:has(> .input-floating) input::placeholder {
  color: transparent;
}
.\!input:has(> .input-floating) input:focus::-moz-placeholder {
  color: color-mix(in oklab, var(--color-base-content) 50%, transparent) !important;
}
.\!input:has(> .input-floating) input:focus::placeholder {
  color: color-mix(in oklab, var(--color-base-content) 50%, transparent) !important;
}
.input:has(> .input-floating) input:focus::-moz-placeholder {
  color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
}
.input:has(> .input-floating) input:focus::placeholder {
  color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
}
.input-floating .\!input::-moz-placeholder {
  color: transparent !important;
}
.input-floating .\!input::placeholder {
  color: transparent !important;
}
.input-floating .input::-moz-placeholder {
  color: transparent;
}
.input-floating .input::placeholder {
  color: transparent;
}
.input-floating .\!input:focus::-moz-placeholder {
  color: color-mix(in oklab, var(--color-base-content) 50%, transparent) !important;
}
.input-floating .\!input:focus::placeholder {
  color: color-mix(in oklab, var(--color-base-content) 50%, transparent) !important;
}
.input-floating .input:focus::-moz-placeholder {
  color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
}
.input-floating .input:focus::placeholder {
  color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
}
.input-floating .\!input:has(> input[disabled]), .input-floating .\!input:is(:disabled, [disabled]) {
  border-style: var(--tw-border-style) !important;
  border-width: 1px !important;
  background-color: transparent !important;
  opacity: 50% !important;
}
.input-floating .input:has(> input[disabled]), .input-floating .input:is(:disabled, [disabled]) {
  border-style: var(--tw-border-style);
  border-width: 1px;
  background-color: transparent;
  opacity: 50%;
}
.input-floating .\!input:has(> input[disabled]), .input-floating .\!input:is(:disabled, [disabled]) {
  border-style: var(--tw-border-style) !important;
  border-width: 1px !important;
  background-color: transparent !important;
  opacity: 50% !important;
}
.input-floating .\!input:has(> input[disabled]) ~ .input-floating-label, .input-floating .\!input:is(:disabled, [disabled]) ~ .input-floating-label {
  color: color-mix(in oklab, var(--color-base-content) 30%, transparent) !important;
}
.input-floating .input:has(> input[disabled]) ~ .input-floating-label, .input-floating .input:is(:disabled, [disabled]) ~ .input-floating-label {
  color: color-mix(in oklab, var(--color-base-content) 30%, transparent);
}
.input-floating .\!input:has(> input[disabled]) ~ .input-floating-label, .input-floating .\!input:is(:disabled, [disabled]) ~ .input-floating-label {
  color: color-mix(in oklab, var(--color-base-content) 30%, transparent) !important;
}
 .input-floating:has(.\!input:focus) .input-floating-label {
  pointer-events: auto !important;
  top: calc(0.25rem * 0) !important;
  background-color: var(--color-base-100) !important;
  padding-inline: calc(0.25rem * 1) !important;
  --tw-font-weight: var(--font-weight-medium) !important;
  font-weight: var(--font-weight-medium) !important;
  color: color-mix(in oklab, var(--color-base-content) 50%, transparent) !important;
  translate: -12.5% calc(-50% - 0.125em) !important;
  scale: 0.75 !important;
}
.input-floating:not(:has(input:-moz-placeholder)) .input-floating-label {
  pointer-events: auto;
  top: calc(0.25rem * 0);
  background-color: var(--color-base-100);
  padding-inline: calc(0.25rem * 1);
  --tw-font-weight: var(--font-weight-medium);
  font-weight: var(--font-weight-medium);
  color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
  translate: -12.5% calc(-50% - 0.125em);
  scale: 0.75;
}
.input-floating:focus-within .input-floating-label, .input-floating:not(:has(input:placeholder-shown)) .input-floating-label, .input-floating:has(.input:focus) .input-floating-label {
  pointer-events: auto;
  top: calc(0.25rem * 0);
  background-color: var(--color-base-100);
  padding-inline: calc(0.25rem * 1);
  --tw-font-weight: var(--font-weight-medium);
  font-weight: var(--font-weight-medium);
  color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
  translate: -12.5% calc(-50% - 0.125em);
  scale: 0.75;
}
 .input-floating:has(.\!input:focus) .input-floating-label {
  --input-color: var(--color-primary) !important;
  color: var(--input-color) !important;
}
.input-floating:focus-within .input-floating-label, .input-floating:has(.input:focus) .input-floating-label {
  --input-color: var(--color-primary);
  color: var(--input-color);
}
.validate *:valid ~ .success-message, .validate *:has(:valid) ~ .success-message {
  display: block;
}
.validate *:invalid ~ .error-message, .validate *:has(:invalid) ~ .error-message {
  display: block;
}
.\!input.is-valid, .\!input:has(.is-valid), .validate .\!input:valid, .validate .\!input:has(:valid) {
  border-color: var(--color-success) !important;
}
.input.is-valid, .input:has(.is-valid), .validate .input:valid, .validate .input:has(:valid), .select.is-valid, .select:has(.is-valid), .validate .select:valid, .validate .select:has(:valid), .textarea.is-valid, .textarea:has(.is-valid), .validate .textarea:valid, .validate .textarea:has(:valid) {
  border-color: var(--color-success);
}
.\!input.is-valid, .\!input:has(.is-valid), .validate .\!input:valid, .validate .\!input:has(:valid) {
  border-color: var(--color-success) !important;
}
@media (hover: hover) {

  .\!input.is-valid:hover, .\!input:has(.is-valid):hover, .validate .\!input:valid:hover, .validate .\!input:has(:valid):hover {
    border-color: var(--color-success) !important;
  }

  .input.is-valid:hover, .input:has(.is-valid):hover, .validate .input:valid:hover, .validate .input:has(:valid):hover, .select.is-valid:hover, .select:has(.is-valid):hover, .validate .select:valid:hover, .validate .select:has(:valid):hover, .textarea.is-valid:hover, .textarea:has(.is-valid):hover, .validate .textarea:valid:hover, .validate .textarea:has(:valid):hover {
    border-color: var(--color-success);
  }

  .\!input.is-valid:hover, .\!input:has(.is-valid):hover, .validate .\!input:valid:hover, .validate .\!input:has(:valid):hover {
    border-color: var(--color-success) !important;
  }
}
.\!input.is-valid:has(:hover):not(:focus, :focus-within), .\!input:has(.is-valid):has(:hover):not(:focus, :focus-within), .validate .\!input:valid:has(:hover):not(:focus, :focus-within), .validate .\!input:has(:valid):has(:hover):not(:focus, :focus-within) {
  border-color: var(--color-success) !important;
}
.input.is-valid:has(:hover):not(:focus, :focus-within), .input:has(.is-valid):has(:hover):not(:focus, :focus-within), .validate .input:valid:has(:hover):not(:focus, :focus-within), .validate .input:has(:valid):has(:hover):not(:focus, :focus-within), .select.is-valid:has(:hover):not(:focus, :focus-within), .select:has(.is-valid):has(:hover):not(:focus, :focus-within), .validate .select:valid:has(:hover):not(:focus, :focus-within), .validate .select:has(:valid):has(:hover):not(:focus, :focus-within), .textarea.is-valid:has(:hover):not(:focus, :focus-within), .textarea:has(.is-valid):has(:hover):not(:focus, :focus-within), .validate .textarea:valid:has(:hover):not(:focus, :focus-within), .validate .textarea:has(:valid):has(:hover):not(:focus, :focus-within) {
  border-color: var(--color-success);
}
.\!input.is-valid:has(:hover):not(:focus, :focus-within), .\!input:has(.is-valid):has(:hover):not(:focus, :focus-within), .validate .\!input:valid:has(:hover):not(:focus, :focus-within), .validate .\!input:has(:valid):has(:hover):not(:focus, :focus-within) {
  border-color: var(--color-success) !important;
}
.\!input.is-valid:focus, .\!input.is-valid:focus-within, .\!input:has(.is-valid):focus, .\!input:has(.is-valid):focus-within, .validate .\!input:valid:focus, .validate .\!input:valid:focus-within, .validate .\!input:has(:valid):focus, .validate .\!input:has(:valid):focus-within {
  --input-color: var(--color-success) !important;
}
.input.is-valid:focus, .input.is-valid:focus-within, .input:has(.is-valid):focus, .input:has(.is-valid):focus-within, .validate .input:valid:focus, .validate .input:valid:focus-within, .validate .input:has(:valid):focus, .validate .input:has(:valid):focus-within, .select.is-valid:focus, .select.is-valid:focus-within, .select:has(.is-valid):focus, .select:has(.is-valid):focus-within, .validate .select:valid:focus, .validate .select:valid:focus-within, .validate .select:has(:valid):focus, .validate .select:has(:valid):focus-within, .textarea.is-valid:focus, .textarea.is-valid:focus-within, .textarea:has(.is-valid):focus, .textarea:has(.is-valid):focus-within, .validate .textarea:valid:focus, .validate .textarea:valid:focus-within, .validate .textarea:has(:valid):focus, .validate .textarea:has(:valid):focus-within {
  --input-color: var(--color-success);
}
.\!input.is-valid:focus, .\!input.is-valid:focus-within, .\!input:has(.is-valid):focus, .\!input:has(.is-valid):focus-within, .validate .\!input:valid:focus, .validate .\!input:valid:focus-within, .validate .\!input:has(:valid):focus, .validate .\!input:has(:valid):focus-within {
  --input-color: var(--color-success) !important;
}
.\!input.is-invalid, .\!input:has(.is-invalid), .validate .\!input:invalid, .validate .\!input:has(:invalid) {
  border-color: var(--color-error) !important;
}
.input.is-invalid, .input:has(.is-invalid), .validate .input:invalid, .validate .input:has(:invalid), .select.is-invalid, .select:has(.is-invalid), .validate .select:invalid, .validate .select:has(:invalid), .textarea.is-invalid, .textarea:has(.is-invalid), .validate .textarea:invalid, .validate .textarea:has(:invalid) {
  border-color: var(--color-error);
}
.\!input.is-invalid, .\!input:has(.is-invalid), .validate .\!input:invalid, .validate .\!input:has(:invalid) {
  border-color: var(--color-error) !important;
}
@media (hover: hover) {

  .\!input.is-invalid:hover, .\!input:has(.is-invalid):hover, .validate .\!input:invalid:hover, .validate .\!input:has(:invalid):hover {
    border-color: var(--color-error) !important;
  }

  .input.is-invalid:hover, .input:has(.is-invalid):hover, .validate .input:invalid:hover, .validate .input:has(:invalid):hover, .select.is-invalid:hover, .select:has(.is-invalid):hover, .validate .select:invalid:hover, .validate .select:has(:invalid):hover, .textarea.is-invalid:hover, .textarea:has(.is-invalid):hover, .validate .textarea:invalid:hover, .validate .textarea:has(:invalid):hover {
    border-color: var(--color-error);
  }

  .\!input.is-invalid:hover, .\!input:has(.is-invalid):hover, .validate .\!input:invalid:hover, .validate .\!input:has(:invalid):hover {
    border-color: var(--color-error) !important;
  }
}
.\!input.is-invalid:has(:hover):not(:focus, :focus-within), .\!input:has(.is-invalid):has(:hover):not(:focus, :focus-within), .validate .\!input:invalid:has(:hover):not(:focus, :focus-within), .validate .\!input:has(:invalid):has(:hover):not(:focus, :focus-within) {
  border-color: var(--color-error) !important;
}
.input.is-invalid:has(:hover):not(:focus, :focus-within), .input:has(.is-invalid):has(:hover):not(:focus, :focus-within), .validate .input:invalid:has(:hover):not(:focus, :focus-within), .validate .input:has(:invalid):has(:hover):not(:focus, :focus-within), .select.is-invalid:has(:hover):not(:focus, :focus-within), .select:has(.is-invalid):has(:hover):not(:focus, :focus-within), .validate .select:invalid:has(:hover):not(:focus, :focus-within), .validate .select:has(:invalid):has(:hover):not(:focus, :focus-within), .textarea.is-invalid:has(:hover):not(:focus, :focus-within), .textarea:has(.is-invalid):has(:hover):not(:focus, :focus-within), .validate .textarea:invalid:has(:hover):not(:focus, :focus-within), .validate .textarea:has(:invalid):has(:hover):not(:focus, :focus-within) {
  border-color: var(--color-error);
}
.\!input.is-invalid:has(:hover):not(:focus, :focus-within), .\!input:has(.is-invalid):has(:hover):not(:focus, :focus-within), .validate .\!input:invalid:has(:hover):not(:focus, :focus-within), .validate .\!input:has(:invalid):has(:hover):not(:focus, :focus-within) {
  border-color: var(--color-error) !important;
}
.\!input.is-invalid:focus, .\!input.is-invalid:focus-within, .\!input:has(.is-invalid):focus, .\!input:has(.is-invalid):focus-within, .validate .\!input:invalid:focus, .validate .\!input:invalid:focus-within, .validate .\!input:has(:invalid):focus, .validate .\!input:has(:invalid):focus-within {
  --input-color: var(--color-error) !important;
}
.input.is-invalid:focus, .input.is-invalid:focus-within, .input:has(.is-invalid):focus, .input:has(.is-invalid):focus-within, .validate .input:invalid:focus, .validate .input:invalid:focus-within, .validate .input:has(:invalid):focus, .validate .input:has(:invalid):focus-within, .select.is-invalid:focus, .select.is-invalid:focus-within, .select:has(.is-invalid):focus, .select:has(.is-invalid):focus-within, .validate .select:invalid:focus, .validate .select:invalid:focus-within, .validate .select:has(:invalid):focus, .validate .select:has(:invalid):focus-within, .textarea.is-invalid:focus, .textarea.is-invalid:focus-within, .textarea:has(.is-invalid):focus, .textarea:has(.is-invalid):focus-within, .validate .textarea:invalid:focus, .validate .textarea:invalid:focus-within, .validate .textarea:has(:invalid):focus, .validate .textarea:has(:invalid):focus-within {
  --input-color: var(--color-error);
}
.\!input.is-invalid:focus, .\!input.is-invalid:focus-within, .\!input:has(.is-invalid):focus, .\!input:has(.is-invalid):focus-within, .validate .\!input:invalid:focus, .validate .\!input:invalid:focus-within, .validate .\!input:has(:invalid):focus, .validate .\!input:has(:invalid):focus-within {
  --input-color: var(--color-error) !important;
}
.switch.is-valid, .switch:has(.is-valid), .validate .switch:valid, .validate .switch:has(:valid), .checkbox.is-valid, .checkbox:has(.is-valid), .validate .checkbox:valid, .validate .checkbox:has(:valid), .radio.is-valid, .radio:has(.is-valid), .validate .radio:valid, .validate .radio:has(:valid), .radio-inset.is-valid, .radio-inset:has(.is-valid), .validate .radio-inset:valid, .validate .radio-inset:has(:valid) {
  --input-color: var(--color-success);
  border-color: var(--input-color);
}
.switch.is-valid:checked, .switch.is-valid[aria-checked="true"], .switch.is-valid:has(> input:checked), .switch:has(.is-valid):checked, .switch:has(.is-valid)[aria-checked="true"], .switch:has(.is-valid):has(> input:checked), .validate .switch:valid:checked, .validate .switch:valid[aria-checked="true"], .validate .switch:valid:has(> input:checked), .validate .switch:has(:valid):checked, .validate .switch:has(:valid)[aria-checked="true"], .validate .switch:has(:valid):has(> input:checked), .checkbox.is-valid:checked, .checkbox.is-valid[aria-checked="true"], .checkbox.is-valid:has(> input:checked), .checkbox:has(.is-valid):checked, .checkbox:has(.is-valid)[aria-checked="true"], .checkbox:has(.is-valid):has(> input:checked), .validate .checkbox:valid:checked, .validate .checkbox:valid[aria-checked="true"], .validate .checkbox:valid:has(> input:checked), .validate .checkbox:has(:valid):checked, .validate .checkbox:has(:valid)[aria-checked="true"], .validate .checkbox:has(:valid):has(> input:checked), .radio.is-valid:checked, .radio.is-valid[aria-checked="true"], .radio.is-valid:has(> input:checked), .radio:has(.is-valid):checked, .radio:has(.is-valid)[aria-checked="true"], .radio:has(.is-valid):has(> input:checked), .validate .radio:valid:checked, .validate .radio:valid[aria-checked="true"], .validate .radio:valid:has(> input:checked), .validate .radio:has(:valid):checked, .validate .radio:has(:valid)[aria-checked="true"], .validate .radio:has(:valid):has(> input:checked), .radio-inset.is-valid:checked, .radio-inset.is-valid[aria-checked="true"], .radio-inset.is-valid:has(> input:checked), .radio-inset:has(.is-valid):checked, .radio-inset:has(.is-valid)[aria-checked="true"], .radio-inset:has(.is-valid):has(> input:checked), .validate .radio-inset:valid:checked, .validate .radio-inset:valid[aria-checked="true"], .validate .radio-inset:valid:has(> input:checked), .validate .radio-inset:has(:valid):checked, .validate .radio-inset:has(:valid)[aria-checked="true"], .validate .radio-inset:has(:valid):has(> input:checked) {
  --input-color: var(--color-success);
}
.switch.is-invalid, .switch:has(.is-invalid), .validate .switch:invalid, .validate .switch:has(:invalid), .checkbox.is-invalid, .checkbox:has(.is-invalid), .validate .checkbox:invalid, .validate .checkbox:has(:invalid), .radio.is-invalid, .radio:has(.is-invalid), .validate .radio:invalid, .validate .radio:has(:invalid), .radio-inset.is-invalid, .radio-inset:has(.is-invalid), .validate .radio-inset:invalid, .validate .radio-inset:has(:invalid) {
  --input-color: var(--color-error);
  border-color: var(--input-color);
}
.switch.is-invalid:checked, .switch.is-invalid[aria-checked="true"], .switch.is-invalid:has(> input:checked), .switch:has(.is-invalid):checked, .switch:has(.is-invalid)[aria-checked="true"], .switch:has(.is-invalid):has(> input:checked), .validate .switch:invalid:checked, .validate .switch:invalid[aria-checked="true"], .validate .switch:invalid:has(> input:checked), .validate .switch:has(:invalid):checked, .validate .switch:has(:invalid)[aria-checked="true"], .validate .switch:has(:invalid):has(> input:checked), .checkbox.is-invalid:checked, .checkbox.is-invalid[aria-checked="true"], .checkbox.is-invalid:has(> input:checked), .checkbox:has(.is-invalid):checked, .checkbox:has(.is-invalid)[aria-checked="true"], .checkbox:has(.is-invalid):has(> input:checked), .validate .checkbox:invalid:checked, .validate .checkbox:invalid[aria-checked="true"], .validate .checkbox:invalid:has(> input:checked), .validate .checkbox:has(:invalid):checked, .validate .checkbox:has(:invalid)[aria-checked="true"], .validate .checkbox:has(:invalid):has(> input:checked), .radio.is-invalid:checked, .radio.is-invalid[aria-checked="true"], .radio.is-invalid:has(> input:checked), .radio:has(.is-invalid):checked, .radio:has(.is-invalid)[aria-checked="true"], .radio:has(.is-invalid):has(> input:checked), .validate .radio:invalid:checked, .validate .radio:invalid[aria-checked="true"], .validate .radio:invalid:has(> input:checked), .validate .radio:has(:invalid):checked, .validate .radio:has(:invalid)[aria-checked="true"], .validate .radio:has(:invalid):has(> input:checked), .radio-inset.is-invalid:checked, .radio-inset.is-invalid[aria-checked="true"], .radio-inset.is-invalid:has(> input:checked), .radio-inset:has(.is-invalid):checked, .radio-inset:has(.is-invalid)[aria-checked="true"], .radio-inset:has(.is-invalid):has(> input:checked), .validate .radio-inset:invalid:checked, .validate .radio-inset:invalid[aria-checked="true"], .validate .radio-inset:invalid:has(> input:checked), .validate .radio-inset:has(:invalid):checked, .validate .radio-inset:has(:invalid)[aria-checked="true"], .validate .radio-inset:has(:invalid):has(> input:checked) {
  --input-color: var(--color-error);
}
.checkbox.is-valid, .checkbox:has(.is-valid), .validate .checkbox:valid, .validate .checkbox:has(:valid) {
  color: var(--color-success-content);
}
.checkbox.is-invalid, .checkbox:has(.is-invalid), .validate .checkbox:invalid, .validate .checkbox:has(:invalid) {
  color: var(--color-error-content);
}
.validate .custom-option:has(:valid), .custom-option:has(.is-valid), .validate .custom-soft-option:has(:valid), .custom-soft-option:has(.is-valid) {
  --input-color: var(--color-success);
}
.validate .custom-option:has(:invalid), .custom-option:has(.is-invalid), .validate .custom-soft-option:has(:invalid), .custom-soft-option:has(.is-invalid) {
  --input-color: var(--color-error);
}
.\!input.is-valid::file-selector-button, .validate .\!input:valid::file-selector-button {
  background-color: var(--color-success) !important;
  color: var(--color-success-content) !important;
  --input-color: var(--color-success) !important;
}
.input.is-valid::file-selector-button, .validate .input:valid::file-selector-button {
  background-color: var(--color-success);
  color: var(--color-success-content);
  --input-color: var(--color-success);
}
.\!input.is-valid::file-selector-button, .validate .\!input:valid::file-selector-button {
  background-color: var(--color-success) !important;
  color: var(--color-success-content) !important;
  --input-color: var(--color-success) !important;
}
.\!input.is-invalid::file-selector-button, .validate .\!input:invalid::file-selector-button {
  background-color: var(--color-error) !important;
  color: var(--color-error-content) !important;
  --input-color: var(--color-error) !important;
}
.input.is-invalid::file-selector-button, .validate .input:invalid::file-selector-button {
  background-color: var(--color-error);
  color: var(--color-error-content);
  --input-color: var(--color-error);
}
.\!input.is-invalid::file-selector-button, .validate .\!input:invalid::file-selector-button {
  background-color: var(--color-error) !important;
  color: var(--color-error-content) !important;
  --input-color: var(--color-error) !important;
}
.input-floating > .\!input.is-valid::file-selector-button, .validate .input-floating > .\!input:valid::file-selector-button {
  background-color: var(--color-base-100) !important;
  color: var(--color-base-content) !important;
  border-inline-end: var(--border) solid var(--color-success) !important;
}
.input-floating > .input.is-valid::file-selector-button, .validate .input-floating > .input:valid::file-selector-button {
  background-color: var(--color-base-100);
  color: var(--color-base-content);
  border-inline-end: var(--border) solid var(--color-success);
}
.input-floating > .\!input.is-valid::file-selector-button, .validate .input-floating > .\!input:valid::file-selector-button {
  background-color: var(--color-base-100) !important;
  color: var(--color-base-content) !important;
  border-inline-end: var(--border) solid var(--color-success) !important;
}
.input-floating > .\!input.is-invalid::file-selector-button, .validate .input-floating > .\!input:invalid::file-selector-button {
  background-color: var(--color-base-100) !important;
  color: var(--color-base-content) !important;
  border-inline-end: var(--border) solid var(--color-error) !important;
}
.input-floating > .input.is-invalid::file-selector-button, .validate .input-floating > .input:invalid::file-selector-button {
  background-color: var(--color-base-100);
  color: var(--color-base-content);
  border-inline-end: var(--border) solid var(--color-error);
}
.input-floating > .\!input.is-invalid::file-selector-button, .validate .input-floating > .\!input:invalid::file-selector-button {
  background-color: var(--color-base-100) !important;
  color: var(--color-base-content) !important;
  border-inline-end: var(--border) solid var(--color-error) !important;
}
.label-text:has(~ .is-valid), .label-text:has(~ * .is-valid), .validate .label-text:has(~ :valid), .validate .label-text:has(~ * :valid), :is(.is-valid) ~ .helper-text, *:has(.is-valid) ~ .helper-text, .validate :is(:valid) ~ .helper-text, .validate *:has(:valid) ~ .helper-text, :is(.is-valid) ~ .label-text, :is(.is-valid) ~ .label-text *, :is(.is-valid) ~ * >.label-text, .validate :is(:valid) ~ .label-text, .validate :is(:valid) ~ .label-text *, .validate :is(:valid) ~ * >.label-text {
  color: var(--color-success);
}
.label-text:has(~ .is-invalid), .label-text:has(~ * .is-invalid), .validate .label-text:has(~ :invalid), .validate .label-text:has(~ * :invalid), :is(.is-invalid) ~ .helper-text, *:has(.is-invalid) ~ .helper-text, .validate :is(:invalid) ~ .helper-text, .validate *:has(:invalid) ~ .helper-text, :is(.is-invalid) ~ .label-text, :is(.is-invalid) ~ .label-text *, :is(.is-invalid) ~ * >.label-text, .validate :is(:invalid) ~ .label-text, .validate :is(:invalid) ~ .label-text *, .validate :is(:invalid) ~ * >.label-text {
  color: var(--color-error);
}
select.is-valid + .advance-select-toggle, .advance-select-tag:has(> .is-valid), .validate select:has(~ * > .selected) + .advance-select-toggle {
  --input-color: var(--color-success);
}
 .validate select:has(~ * > .\!selected) + .advance-select-toggle {
  --input-color: var(--color-success) !important;
}
select.is-valid + .advance-select-toggle:focus, select.is-valid + .advance-select-toggle:focus-within, .advance-select-tag:has(> .is-valid):focus, .advance-select-tag:has(> .is-valid):focus-within, .validate select:has(~ * > .selected) + .advance-select-toggle:focus, .validate select:has(~ * > .selected) + .advance-select-toggle:focus-within {
  --input-color: var(--color-success);
}
 .validate select:has(~ * > .\!selected) + .advance-select-toggle:focus, .validate select:has(~ * > .\!selected) + .advance-select-toggle:focus-within {
  --input-color: var(--color-success) !important;
}
select.is-invalid + .advance-select-toggle, .advance-select-tag:has(> .is-invalid), .validate select:not(:has(~ * > .selected)) + .advance-select-toggle {
  --input-color: var(--color-error);
}
select.is-invalid + .advance-select-toggle:focus, select.is-invalid + .advance-select-toggle:focus-within, .advance-select-tag:has(> .is-invalid):focus, .advance-select-tag:has(> .is-invalid):focus-within, .validate select:not(:has(~ * > .selected)) + .advance-select-toggle:focus, .validate select:not(:has(~ * > .selected)) + .advance-select-toggle:focus-within {
  --input-color: var(--color-error);
}
@media (hover: hover) {

  .input-floating:has(.is-valid):hover, .validate .input-floating:has(:valid):hover {
    border-color: var(--color-success);
  }
}
.input-floating:has(.is-valid) .input-floating-label, .validate .input-floating:has(:valid) .input-floating-label {
  color: var(--color-success);
}
 .input-floating:has(.is-valid):has(.\!input:focus) .input-floating-label, .validate .input-floating:has(:valid):has(.\!input:focus) .input-floating-label {
  color: var(--color-success) !important;
}
.input-floating:has(.is-valid):not(:has(input:-moz-placeholder)) .input-floating-label, .validate .input-floating:has(:valid):not(:has(input:-moz-placeholder)) .input-floating-label {
  color: var(--color-success);
}
.input-floating:has(.is-valid):focus-within .input-floating-label, .input-floating:has(.is-valid):not(:has(input:placeholder-shown)) .input-floating-label, .input-floating:has(.is-valid):has(.input:focus) .input-floating-label, .validate .input-floating:has(:valid):focus-within .input-floating-label, .validate .input-floating:has(:valid):not(:has(input:placeholder-shown)) .input-floating-label, .validate .input-floating:has(:valid):has(.input:focus) .input-floating-label {
  color: var(--color-success);
}
 .input-floating:has(.is-valid):has(.\!input:focus) .input-floating-label, .validate .input-floating:has(:valid):has(.\!input:focus) .input-floating-label {
  color: var(--color-success) !important;
}
@media (hover: hover) {

  .input-floating:has(.is-invalid):hover, .validate .input-floating:has(:invalid):hover {
    border-color: var(--color-error);
  }
}
.input-floating:has(.is-invalid) .input-floating-label, .validate .input-floating:has(:invalid) .input-floating-label {
  color: var(--color-error);
}
 .input-floating:has(.is-invalid):has(.\!input:focus) .input-floating-label, .validate .input-floating:has(:invalid):has(.\!input:focus) .input-floating-label {
  color: var(--color-error) !important;
}
.input-floating:has(.is-invalid):not(:has(input:-moz-placeholder)) .input-floating-label, .validate .input-floating:has(:invalid):not(:has(input:-moz-placeholder)) .input-floating-label {
  color: var(--color-error);
}
.input-floating:has(.is-invalid):focus-within .input-floating-label, .input-floating:has(.is-invalid):not(:has(input:placeholder-shown)) .input-floating-label, .input-floating:has(.is-invalid):has(.input:focus) .input-floating-label, .validate .input-floating:has(:invalid):focus-within .input-floating-label, .validate .input-floating:has(:invalid):not(:has(input:placeholder-shown)) .input-floating-label, .validate .input-floating:has(:invalid):has(.input:focus) .input-floating-label {
  color: var(--color-error);
}
 .input-floating:has(.is-invalid):has(.\!input:focus) .input-floating-label, .validate .input-floating:has(:invalid):has(.\!input:focus) .input-floating-label {
  color: var(--color-error) !important;
}
.textarea-floating:has(.is-valid) .textarea-floating-label, .validate .textarea-floating:has(:valid) .textarea-floating-label {
  color: var(--color-success);
}
.textarea-floating:has(.is-valid):not(:has(textarea:-moz-placeholder)) .textarea-floating-label, .validate .textarea-floating:has(:valid):not(:has(textarea:-moz-placeholder)) .textarea-floating-label {
  color: var(--color-success);
}
.textarea-floating:has(.is-valid):focus-within .textarea-floating-label, .textarea-floating:has(.is-valid):not(:has(textarea:placeholder-shown)) .textarea-floating-label, .textarea-floating:has(.is-valid):has(.textarea:focus) .textarea-floating-label, .validate .textarea-floating:has(:valid):focus-within .textarea-floating-label, .validate .textarea-floating:has(:valid):not(:has(textarea:placeholder-shown)) .textarea-floating-label, .validate .textarea-floating:has(:valid):has(.textarea:focus) .textarea-floating-label {
  color: var(--color-success);
}
.textarea-floating:has(.is-invalid) .textarea-floating-label, .validate .textarea-floating:has(:invalid) .textarea-floating-label {
  color: var(--color-error);
}
.textarea-floating:has(.is-invalid):not(:has(textarea:-moz-placeholder)) .textarea-floating-label, .validate .textarea-floating:has(:invalid):not(:has(textarea:-moz-placeholder)) .textarea-floating-label {
  color: var(--color-error);
}
.textarea-floating:has(.is-invalid):focus-within .textarea-floating-label, .textarea-floating:has(.is-invalid):not(:has(textarea:placeholder-shown)) .textarea-floating-label, .textarea-floating:has(.is-invalid):has(.textarea:focus) .textarea-floating-label, .validate .textarea-floating:has(:invalid):focus-within .textarea-floating-label, .validate .textarea-floating:has(:invalid):not(:has(textarea:placeholder-shown)) .textarea-floating-label, .validate .textarea-floating:has(:invalid):has(.textarea:focus) .textarea-floating-label {
  color: var(--color-error);
}
.select-floating:has(.is-valid) .select-floating-label, .validate .select-floating:has(:valid) .select-floating-label {
  color: var(--color-success);
}
.select-floating:has(.is-valid):not(:has(select:-moz-placeholder)) .select-floating-label, .validate .select-floating:has(:valid):not(:has(select:-moz-placeholder)) .select-floating-label {
  color: var(--color-success);
}
.select-floating:has(.is-valid):focus-within .select-floating-label, .select-floating:has(.is-valid):not(:has(select:placeholder-shown)) .select-floating-label, .select-floating:has(.is-valid):has(.select:focus) .select-floating-label, .validate .select-floating:has(:valid):focus-within .select-floating-label, .validate .select-floating:has(:valid):not(:has(select:placeholder-shown)) .select-floating-label, .validate .select-floating:has(:valid):has(.select:focus) .select-floating-label {
  color: var(--color-success);
}
.select-floating:has(.is-invalid) .select-floating-label, .validate .select-floating:has(:invalid) .select-floating-label {
  color: var(--color-error);
}
.select-floating:has(.is-invalid):not(:has(select:-moz-placeholder)) .select-floating-label, .validate .select-floating:has(:invalid):not(:has(select:-moz-placeholder)) .select-floating-label {
  color: var(--color-error);
}
.select-floating:has(.is-invalid):focus-within .select-floating-label, .select-floating:has(.is-invalid):not(:has(select:placeholder-shown)) .select-floating-label, .select-floating:has(.is-invalid):has(.select:focus) .select-floating-label, .validate .select-floating:has(:invalid):focus-within .select-floating-label, .validate .select-floating:has(:invalid):not(:has(select:placeholder-shown)) .select-floating-label, .validate .select-floating:has(:invalid):has(.select:focus) .select-floating-label {
  color: var(--color-error);
}
.timeline {
  position: relative;
  display: flex;
}
.timeline > li {
  position: relative;
  display: grid;
  flex-shrink: 0;
  align-items: center;
  grid-template-rows: var(--timeline-row-start, minmax(0, 1fr)) auto var(--timeline-row-end, minmax(0, 1fr));
  grid-template-columns: var(--timeline-col-start, minmax(0, 1fr)) auto var(--timeline-col-end, minmax(0, 1fr));
}
.timeline > li > hr {
  border: none;
  width: 100%;
}
@media print {

  .timeline > li > hr {
    border: .1px solid var(--color-base-300);
  }
}
.timeline > li > hr:first-child {
  grid-column-start: 1;
  grid-row-start: 2;
}
.timeline > li > hr:last-child {
  grid-column-start: 3;
  grid-column-end: none;
  grid-row-start: 2;
  grid-row-end: auto;
}
.timeline :where(hr) {
  height: 1.5px;
  border-color: transparent;
  background-color: color-mix(in oklab, var(--color-base-content) 10%, transparent);
}
.timeline:has(.timeline-middle hr):first-child {
  border-start-start-radius: 0;
  border-end-start-radius: 0;
  border-start-end-radius: var(--radius-selector);
  border-end-end-radius: var(--radius-selector);
}
.timeline:has(.timeline-middle hr):last-child {
  border-start-start-radius: var(--radius-selector);
  border-end-start-radius: var(--radius-selector);
  border-start-end-radius: 0;
  border-end-end-radius: 0;
}
.timeline:not(:has(.timeline-middle)) :first-child hr:last-child {
  border-start-start-radius: var(--radius-selector);
  border-end-start-radius: var(--radius-selector);
  border-start-end-radius: 0;
  border-end-end-radius: 0;
}
.timeline:not(:has(.timeline-middle)) :last-child hr:first-child {
  border-start-start-radius: 0;
  border-end-start-radius: 0;
  border-start-end-radius: var(--radius-selector);
  border-end-end-radius: var(--radius-selector);
}
.chat {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  -moz-column-gap: calc(0.25rem * 4);
       column-gap: calc(0.25rem * 4);
  padding-block: calc(0.25rem * 1);
}
.chat .chat-avatar {
  grid-row: span 2 / span 2;
  align-self: flex-end;
}
.chat .chat-header {
  grid-row-start: 1;
  margin-bottom: calc(0.25rem * 1);
  font-size: var(--text-xs);
  line-height: var(--tw-leading, var(--text-xs--line-height));
}
.chat .chat-footer {
  grid-row-start: 3;
  margin-top: calc(0.25rem * 1);
  font-size: var(--text-xs);
  line-height: var(--tw-leading, var(--text-xs--line-height));
}
.chat .chat-bubble {
  position: relative;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: var(--radius-box);
  padding: calc(0.25rem * 3);
  max-width: 90%;
  min-height: 2.75rem;
  min-width: 2.75rem;
}
.chat .chat-bubble:before {
  position: absolute;
  bottom: calc(0.25rem * 0);
  width: calc(0.25rem * 4);
  height: calc(0.25rem * 4);
  background-color: inherit;
  content: "";
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}
.chat.chat-receiver {
  place-items: start;
  grid-template-columns: auto 1fr;
}
.chat.chat-receiver .chat-header {
  grid-column-start: 2;
}
.chat.chat-receiver .chat-footer {
  grid-column-start: 2;
}
.chat.chat-receiver .chat-avatar {
  grid-column-start: 1;
}
.chat.chat-receiver .chat-bubble {
  grid-column-start: 2;
  border-end-start-radius: 0;
  background-color: var(--color-base-100);
  color: var(--color-base-content);
}
.chat.chat-receiver .chat-bubble:before {
  inset-inline-start: -0.749rem;
  -webkit-mask-image: url("data:image/svg+xml,%3csvg width='3' height='3' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m 0 3 L 3 3 L 3 0 C 3 1 1 3 0 3'/%3e%3c/svg%3e");
          mask-image: url("data:image/svg+xml,%3csvg width='3' height='3' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m 0 3 L 3 3 L 3 0 C 3 1 1 3 0 3'/%3e%3c/svg%3e");
}
[dir="rtl"] .chat.chat-receiver .chat-bubble:before {
  -webkit-mask-image: url("data:image/svg+xml,%3csvg width='3' height='3' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m 0 3 L 1 3 L 3 3 C 2 3 0 1 0 0'/%3e%3c/svg%3e");
          mask-image: url("data:image/svg+xml,%3csvg width='3' height='3' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m 0 3 L 1 3 L 3 3 C 2 3 0 1 0 0'/%3e%3c/svg%3e");
}
.chat.chat-sender {
  place-items: end;
  grid-template-columns: 1fr auto;
}
.chat.chat-sender .chat-header {
  grid-column-start: 1;
}
.chat.chat-sender .chat-footer {
  grid-column-start: 1;
}
.chat.chat-sender .chat-avatar {
  grid-column-start: 2;
}
.chat.chat-sender .chat-bubble {
  grid-column-start: 1;
  border-end-end-radius: 0;
  background-color: var(--color-primary);
  text-align: end;
  color: var(--color-primary-content);
}
.chat.chat-sender .chat-bubble:before {
  inset-inline-start: 99.9%;
  -webkit-mask-image: url("data:image/svg+xml,%3csvg width='3' height='3' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m 0 3 L 1 3 L 3 3 C 2 3 0 1 0 0'/%3e%3c/svg%3e");
          mask-image: url("data:image/svg+xml,%3csvg width='3' height='3' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m 0 3 L 1 3 L 3 3 C 2 3 0 1 0 0'/%3e%3c/svg%3e");
}
[dir="rtl"] .chat.chat-sender .chat-bubble:before {
  -webkit-mask-image: url("data:image/svg+xml,%3csvg width='3' height='3' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m 0 3 L 3 3 L 3 0 C 3 1 1 3 0 3'/%3e%3c/svg%3e");
          mask-image: url("data:image/svg+xml,%3csvg width='3' height='3' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m 0 3 L 3 3 L 3 0 C 3 1 1 3 0 3'/%3e%3c/svg%3e");
}
.\!range {
  -webkit-appearance: none !important;
     -moz-appearance: none !important;
          appearance: none !important;
  webkit-appearance: none !important;
  --range-color: var(--color-base-content) !important;
  --range-thumb-border-width: 3px !important;
  --range-track-height: 8px !important;
  --range-thumb-size: 16px !important;
  position: relative !important;
  width: 100% !important;
  border-radius: calc(infinity * 1px) !important;
  background-color: transparent !important;
  transition-property: all !important;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)) !important;
  transition-duration: var(--tw-duration, var(--default-transition-duration)) !important;
  height: var(--range-track-height) !important;
}
.range {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  webkit-appearance: none;
  --range-color: var(--color-base-content);
  --range-thumb-border-width: 3px;
  --range-track-height: 8px;
  --range-thumb-size: 16px;
  position: relative;
  width: 100%;
  border-radius: calc(infinity * 1px);
  background-color: transparent;
  transition-property: all;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: var(--tw-duration, var(--default-transition-duration));
  height: var(--range-track-height);
}
.\!range::-webkit-slider-runnable-track {
  width: 100% !important;
  border-radius: calc(infinity * 1px) !important;
  background-color: color-mix(in oklab, var(--color-neutral) 10%, transparent) !important;
  height: var(--range-track-height) !important;
}
.range::-webkit-slider-runnable-track {
  width: 100%;
  border-radius: calc(infinity * 1px);
  background-color: color-mix(in oklab, var(--color-neutral) 10%, transparent);
  height: var(--range-track-height);
}
.\!range::-moz-range-track {
  width: 100% !important;
  border-radius: calc(infinity * 1px) !important;
  background-color: color-mix(in oklab, var(--color-neutral) 10%, transparent) !important;
  height: var(--range-track-height) !important;
}
.range::-moz-range-track {
  width: 100%;
  border-radius: calc(infinity * 1px);
  background-color: color-mix(in oklab, var(--color-neutral) 10%, transparent);
  height: var(--range-track-height);
}
.\!range::-webkit-slider-thumb {
  position: relative !important;
  top: calc(1/2 * 100%) !important;
  --tw-translate-y: calc(calc(1/2 * 100%) * -1) !important;
  translate: var(--tw-translate-x) var(--tw-translate-y) !important;
  border-radius: calc(infinity * 1px) !important;
  background-color: var(--color-base-100) !important;
  --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)) !important;
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow) !important;
  --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-base-300) 20%, transparent) var(--tw-shadow-alpha), transparent) !important;
  -webkit-transition-property: all !important;
  transition-property: all !important;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)) !important;
  transition-timing-function: var(--ease-in-out) !important;
  transition-duration: var(--tw-duration, var(--default-transition-duration)) !important;
  transition-duration: 150ms !important;
  --tw-duration: 150ms !important;
  --tw-ease: var(--ease-in-out) !important;
}
.range::-webkit-slider-thumb {
  position: relative;
  top: calc(1/2 * 100%);
  --tw-translate-y: calc(calc(1/2 * 100%) * -1);
  translate: var(--tw-translate-x) var(--tw-translate-y);
  border-radius: calc(infinity * 1px);
  background-color: var(--color-base-100);
  --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);
  --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-base-300) 20%, transparent) var(--tw-shadow-alpha), transparent);
  -webkit-transition-property: all;
  transition-property: all;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-timing-function: var(--ease-in-out);
  transition-duration: var(--tw-duration, var(--default-transition-duration));
  transition-duration: 150ms;
  --tw-duration: 150ms;
  --tw-ease: var(--ease-in-out);
}
@media (hover: hover) {

  .\!range::-webkit-slider-thumb:hover {
    --tw-scale-x: 125% !important;
    --tw-scale-y: 125% !important;
    --tw-scale-z: 125% !important;
    scale: var(--tw-scale-x) var(--tw-scale-y) !important;
  }

  .range::-webkit-slider-thumb:hover {
    --tw-scale-x: 125%;
    --tw-scale-y: 125%;
    --tw-scale-z: 125%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }
}
.\!range::-webkit-slider-thumb:hover {
  cursor: grab !important;
  box-shadow: 0 0 0 2px var(--range-color) !important;
}
.range::-webkit-slider-thumb:hover {
  cursor: grab;
  box-shadow: 0 0 0 2px var(--range-color);
}
.\!range::-webkit-slider-thumb:active {
  --tw-scale-x: 125% !important;
  --tw-scale-y: 125% !important;
  --tw-scale-z: 125% !important;
  scale: var(--tw-scale-x) var(--tw-scale-y) !important;
  cursor: grabbing !important;
  box-shadow: 0 0 0 3px var(--range-color) !important;
}
.range::-webkit-slider-thumb:active {
  --tw-scale-x: 125%;
  --tw-scale-y: 125%;
  --tw-scale-z: 125%;
  scale: var(--tw-scale-x) var(--tw-scale-y);
  cursor: grabbing;
  box-shadow: 0 0 0 3px var(--range-color);
}
.\!range::-webkit-slider-thumb {
  -webkit-appearance: none !important;
          appearance: none !important;
  box-sizing: border-box !important;
  webkit-appearance: none !important;
  color: var(--range-color) !important;
  border-color: var(--range-color) !important;
  border-style: solid !important;
  border-width: var(--range-thumb-border-width) !important;
  height: var(--range-thumb-size) !important;
  width: var(--range-thumb-size) !important;
}
.range::-webkit-slider-thumb {
  -webkit-appearance: none;
          appearance: none;
  box-sizing: border-box;
  webkit-appearance: none;
  color: var(--range-color);
  border-color: var(--range-color);
  border-style: solid;
  border-width: var(--range-thumb-border-width);
  height: var(--range-thumb-size);
  width: var(--range-thumb-size);
}
.\!range::-moz-range-thumb {
  position: relative !important;
  border-radius: calc(infinity * 1px) !important;
  background-color: var(--color-base-100) !important;
  --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)) !important;
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow) !important;
  -moz-transition-property: all !important;
  transition-property: all !important;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)) !important;
  transition-timing-function: var(--ease-in-out) !important;
  transition-duration: var(--tw-duration, var(--default-transition-duration)) !important;
  transition-duration: 150ms !important;
  --tw-duration: 150ms !important;
  --tw-ease: var(--ease-in-out) !important;
  top: 50% !important;
  color: var(--range-color) !important;
  box-sizing: border-box !important;
  border-color: var(--range-color) !important;
  border-style: solid !important;
  border-width: var(--range-thumb-border-width) !important;
  height: var(--range-thumb-size) !important;
  width: var(--range-thumb-size) !important;
}
.range::-moz-range-thumb {
  position: relative;
  border-radius: calc(infinity * 1px);
  background-color: var(--color-base-100);
  --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);
  -moz-transition-property: all;
  transition-property: all;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-timing-function: var(--ease-in-out);
  transition-duration: var(--tw-duration, var(--default-transition-duration));
  transition-duration: 150ms;
  --tw-duration: 150ms;
  --tw-ease: var(--ease-in-out);
  top: 50%;
  color: var(--range-color);
  box-sizing: border-box;
  border-color: var(--range-color);
  border-style: solid;
  border-width: var(--range-thumb-border-width);
  height: var(--range-thumb-size);
  width: var(--range-thumb-size);
}
.\!range::-moz-range-thumb:hover {
  cursor: grab !important;
  box-shadow: 0 0 0 2px var(--range-color) !important;
}
.range::-moz-range-thumb:hover {
  cursor: grab;
  box-shadow: 0 0 0 2px var(--range-color);
}
.\!range::-moz-range-thumb:active {
  cursor: grabbing !important;
  box-shadow: 0 0 0 3px var(--range-color) !important;
}
.range::-moz-range-thumb:active {
  cursor: grabbing;
  box-shadow: 0 0 0 3px var(--range-color);
}
.\!range:focus {
  outline: none !important;
}
.range:focus {
  outline: none;
}
.\!range.disabled, .\!range:disabled, .\!range[disabled] {
  pointer-events: none !important;
  opacity: 50% !important;
}
.range.disabled, .range:disabled, .range[disabled] {
  pointer-events: none;
  opacity: 50%;
}
.range.\!disabled {
  pointer-events: none !important;
  opacity: 50% !important;
}
.\!range.disabled, .\!range:disabled, .\!range[disabled] {
  pointer-events: none !important;
  opacity: 50% !important;
}
[dir="rtl"] .\!range::-webkit-slider-thumb {
  transform: scaleX(-1) !important;
}
[dir="rtl"] .range::-webkit-slider-thumb {
  transform: scaleX(-1);
}
[dir="rtl"] .\!range::-moz-range-thumb {
  transform: scaleX(-1) !important;
}
[dir="rtl"] .range::-moz-range-thumb {
  transform: scaleX(-1);
}
[dir="rtl"] .\!range::-webkit-slider-runnable-track, [dir="rtl"] .\!range::-moz-range-track {
  direction: rtl !important;
}
[dir="rtl"] .range::-webkit-slider-runnable-track, [dir="rtl"] .range::-moz-range-track {
  direction: rtl;
}
[dir="rtl"] .\!range::-webkit-slider-runnable-track, [dir="rtl"] .\!range::-moz-range-track {
  direction: rtl !important;
}
.progress {
  display: flex;
  height: calc(0.25rem * 1.5);
  width: 100%;
  overflow: hidden;
  border-radius: var(--radius-box);
  background-color: var(--color-base-200);
}
@keyframes indeterminate-progress {

  0% {
    background-position-x: -75%;
  }

  50% {
    background-position-x: 125%;
  }

  100% {
    background-position-x: -75%;
  }
}
@keyframes progress-bar-stripes {

  0% {
    background-position-x: 0.75rem;
  }
}
.swap {
  position: relative;
  display: inline-grid;
  cursor: pointer;
  place-content: center;
  vertical-align: middle;
  webkit-user-select: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.swap input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
}
.swap > * {
  grid-column-start: 1;
  grid-row-start: 1;
  transition-property: transform, rotate, opacity;
  transition-duration: 0.2s;
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
.swap .swap-on, .swap .swap-indeterminate, .swap input:indeterminate ~ .swap-on {
  opacity: 0%;
}
.swap input:is(:checked, :indeterminate) ~ .swap-off {
  opacity: 0%;
}
.swap input:checked ~ .swap-on, .swap input:indeterminate ~ .swap-indeterminate {
  opacity: 100%;
  backface-visibility: visible;
}
  /* ---------------------------------------------------------------------------
   * FlyonUI buttons → brand look, the clean (variable-driven) way.
   *
   * Buttons now use FlyonUI's `btn` directly (the old btn-brand /
   * btn-ghost-brand aliases were migrated out). Colors come from the theme
   * (--color-primary / --color-primary-content), shape from --radius-field, and
   * flatness from --depth/--noise (all set in the [data-theme="brp"] block
   * above). That makes `btn btn-primary` a flat gold/ink button at the brand
   * radius; `btn btn-outline btn-primary` is the old ghost button.
   *
   * The only bespoke brand touch daisyUI has no token for is the gold glow, so
   * we add it to SOLID primary buttons only. Soft / outline / ghost / link /
   * text variants stay flat, and the glow is scoped to `primary` so it never
   * lands on red/green semantic buttons.
   * ------------------------------------------------------------------------- */
  /* Bolder button text (daisyUI's .btn defaults to medium/500). */
  .btn {
    font-weight: 600;
  }
  .btn-primary {
    box-shadow: 0 10px 30px -10px rgba(241, 168, 23, 0.35);
  }
  .btn-primary.btn-soft,
  .btn-primary.btn-outline,
  .btn-primary.btn-ghost,
  .btn-primary.btn-link,
  .btn-primary.btn-text {
    box-shadow: none;
  }

  /* Bare + neutral outline buttons. `neutral` (#23272b) is a dark *surface*
   * color: great as a solid fill (light content on a dark fill) but its outline
   * variant defaults to that dark color as the border + text, which all but
   * vanishes on the ink base — same problem daisyUI's bare `btn-outline` (no
   * color modifier) has. So the bare and neutral outlines share one legible
   * rest treatment (light border + text); on hover the bare outline takes a
   * gold affordance while neutral brightens to a plain gray so it stays distinct
   * from the gold primary/accent outlines. Scoped with :not() so the chromatic
   * outline variants (primary/error/success/…) keep their own look. (Used by
   * attachment buttons and the title "Find online" lookup.) */
  .btn-outline:not(.btn-primary):not(.btn-secondary):not(.btn-accent):not(.btn-info):not(
      .btn-success
    ):not(.btn-warning):not(.btn-error),
  .btn-outline.btn-neutral {
    border-color: rgba(33, 29, 22, 0.34);
    color: #211d16;
  }
  /* Bare outline (no color modifier) keeps a gold-tinted hover — the generic
   * "clickable" affordance for attachment buttons. */
  .btn-outline:not(.btn-primary):not(.btn-secondary):not(.btn-accent):not(.btn-info):not(
      .btn-success
    ):not(.btn-warning):not(.btn-error):not(.btn-neutral):hover {
    border-color: var(--color-primary);
    background-color: rgba(241, 168, 23, 0.16);
    color: #211d16;
  }
  /* Neutral hovers toward a deeper ink hairline (no gold) so it stays distinct
   * from the gold primary/accent outlines. */
  .btn-outline.btn-neutral:hover {
    border-color: rgba(33, 29, 22, 0.55);
    background-color: rgba(33, 29, 22, 0.06);
    color: #211d16;
  }

  /* Secondary keeps the forest-green brand identity. The base color (#2a332b) is
   * too dark to read as a border/text on the ink base, so the outline + soft
   * variants use the lightened sage green (#9ec3a4) for both border and text —
   * unmistakably "green" while remaining legible — and hover toward green (not
   * gold) so it reads distinctly from the primary/accent outlines. */
  .btn-outline.btn-secondary {
    border-color: rgba(158, 195, 164, 0.65);
    color: #3a4a3d;
  }
  .btn-outline.btn-secondary:hover {
    border-color: #2a332b;
    background-color: rgba(42, 51, 43, 0.1);
    color: #2a332b;
  }
  .btn-outline.btn-secondary:focus-visible {
    border-color: #2a332b;
    color: #2a332b;
    outline: 2px solid rgba(42, 51, 43, 0.55);
    outline-offset: 2px;
  }
  .btn-outline.btn-secondary:active {
    border-color: #2a332b;
    background-color: rgba(42, 51, 43, 0.16);
    color: #222a23;
  }
  .btn-outline.btn-secondary:disabled,
  .btn-outline.btn-secondary.btn-disabled {
    border-color: rgba(42, 51, 43, 0.28);
    color: rgba(42, 51, 43, 0.42);
  }

  /* Soft variants of the dark surface colors: daisyUI tints the (dark) color over
   * the base and uses the dark color as text → invisible. Give neutral a subtly
   * elevated gray fill and secondary a green-tinted one, both with legible text. */
  .btn-soft.btn-neutral {
    background-color: var(--color-base-300);
    border-color: rgba(33, 29, 22, 0.12);
    color: #211d16;
  }
  .btn-soft.btn-neutral:hover {
    background-color: #ddd2ba;
    color: #211d16;
  }
  /* The secondary button (DESIGN.md "Buttons"): Forest text on a sage-soft
   * fill, no border. Gold commits, forest offers. */
  .btn-soft.btn-secondary {
    background-color: #e6ede7;
    border-color: transparent;
    color: #2a332b;
  }
  /* The hover used to repeat the same fill and only darken the text, which read
   * as no hover at all on a borderless control. Deepen the sage instead. */
  .btn-soft.btn-secondary:hover,
  .btn-soft.btn-secondary:focus-visible,
  .btn-soft.btn-secondary.btn-active {
    background-color: #d9e4db; /* sage-press */
    color: #2a332b; /* forest */
  }
  .btn-soft.btn-secondary:disabled,
  .btn-soft.btn-secondary.btn-disabled {
    background-color: rgba(230, 237, 231, 0.55);
    color: rgba(42, 51, 43, 0.42);
  }

  /* Soft destructive. daisyUI's own tint sits close enough to the error text to
   * land at 3.25:1 — under AA for the label you least want misread. The paler
   * `error-soft` ground opens it back up while staying unmistakably red, and
   * the text stays the palette's own `error` rather than a bespoke shade. */
  .btn-soft.btn-error {
    background-color: #f7e8e4; /* error-soft */
    border-color: transparent;
    color: #a53b26; /* error */
  }
  .btn-soft.btn-error:hover,
  .btn-soft.btn-error:focus-visible,
  .btn-soft.btn-error.btn-active {
    background-color: #f0dbd5; /* error-press */
  }
  .btn-soft.btn-error:disabled,
  .btn-soft.btn-error.btn-disabled {
    background-color: rgba(247, 232, 228, 0.6);
    color: rgba(165, 59, 38, 0.45);
  }

  /* The same trap, one variant along. `btn-text` (and the `.btn-ghost` override
   * below) paint `--btn-color` as the TEXT itself, and `neutral` is a dark
   * SURFACE colour — so `variant="text" color="neutral"` rendered #e4dbc7 on
   * warm paper at 1.22:1: invisible, enabled or not. Paint warm ink instead,
   * and set `--btn-color` too so the hover tint and focus outline follow it. */
  .btn-text.btn-neutral,
  .btn-ghost.btn-neutral {
    --btn-color: #211d16;
    color: #211d16;
  }
  .btn-text.btn-neutral:disabled,
  .btn-text.btn-neutral.btn-disabled,
  .btn-ghost.btn-neutral:disabled,
  .btn-ghost.btn-neutral.btn-disabled {
    color: rgba(33, 29, 22, 0.38);
  }

  /* Ghost variant. FlyonUI 2.4.1 ships no `.btn-ghost` (its borderless variant
   * is `.btn-text`), so `variant="ghost"` was falling back to the base `.btn`
   * solid fill. Define it here as a true ghost — transparent fill + border, the
   * color as text/icon, and a subtle tint on hover — mirroring FlyonUI's own
   * `.btn-text` so the advertised variant works on Button and IconButton. */
  .btn-ghost {
    background-color: transparent;
    background-image: none;
    border-color: transparent;
    box-shadow: none;
    color: var(--btn-color, var(--color-neutral));
    outline-color: var(--btn-color, var(--color-neutral));
  }
  .btn-ghost:hover {
    background-color: color-mix(
      in oklab,
      var(--btn-color, var(--color-neutral)) 12%,
      transparent
    );
  }
  .btn-ghost:focus-visible,
  .btn-ghost.btn-active {
    background-color: color-mix(
      in oklab,
      var(--btn-color, var(--color-neutral)) 12%,
      transparent
    );
  }

  /* The dark surface colors paint an invisible (dark) icon/text on the ink base,
   * so neutral/secondary ghosts get a legible color — matching the outline/soft
   * treatments — while keeping the transparent-fill + tint-on-hover ghost look. */
  .btn-ghost.btn-neutral {
    color: #211d16;
  }
  .btn-ghost.btn-neutral:hover {
    background-color: rgba(33, 29, 22, 0.07);
    color: #211d16;
  }
  .btn-ghost.btn-secondary {
    color: #2a332b;
  }
  .btn-ghost.btn-secondary:hover {
    background-color: rgba(42, 51, 43, 0.12);
    color: #222a23;
  }

  /* Destructive / danger actions (delete, unpublish, remove) use the semantic
   * `error` color — no bespoke red Tailwind needed. Mirror the primary variants:
   *   solid   → `btn btn-error`
   *   outline → `btn btn-outline btn-error`   (the common "Unpublish/Delete" look)
   *   text    → `btn btn-text btn-error`      (minimal inline delete)
   * Likewise `btn-success` for confirm/positive actions. The brand error color
   * comes from --color-error in the [data-theme="brp"] block above.
   *
   * Sizes ship with FlyonUI — no custom variants needed:
   *   btn-xs · btn-sm · btn-md (default) · btn-lg · btn-xl
   * e.g. `btn btn-outline btn-primary btn-xs` for the most compact button. */

  /* Form fields now reuse FlyonUI's own components instead of bespoke CSS
     (no wheel-reinvention). The brand skin further down (scoped under
     [data-theme="brp"]) gives them our inset-ink + gold-focus look. The legacy
     `*-brand` class names are kept as thin aliases so existing markup keeps
     working; new code can use the FlyonUI classes directly. */
  .input-brand::file-selector-button {
  margin-inline-end: calc(0.25rem * 4);
  display: inline-flex;
  height: 100%;
  flex-shrink: 0;
  cursor: pointer;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  border-style: var(--tw-border-style);
  border-width: 0px;
  background-color: var(--color-primary);
  padding-inline: calc(0.25rem * 4);
  text-align: center;
  font-size: var(--text-base);
  line-height: var(--tw-leading, var(--text-base--line-height));
  line-height: 1;
  --tw-leading: 1;
  --tw-font-weight: var(--font-weight-semibold);
  font-weight: var(--font-weight-semibold);
  color: var(--color-primary-content);
  text-transform: uppercase;
  text-decoration-line: none;
  webkit-user-select: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  --input-color: var(--color-primary);
}
  .input-brand.input-sm::file-selector-button {
  font-size: var(--text-sm);
  line-height: var(--tw-leading, var(--text-sm--line-height));
}
  .input-brand.input-md::file-selector-button {
  font-size: var(--text-base);
  line-height: var(--tw-leading, var(--text-base--line-height));
}
  .input-brand.input-lg::file-selector-button {
  font-size: var(--text-lg);
  line-height: var(--tw-leading, var(--text-lg--line-height));
}
  .input-brand.input-xl::file-selector-button {
  font-size: var(--text-xl);
  line-height: var(--tw-leading, var(--text-xl--line-height));
}
  .input-brand[type="file"] {
  overflow: hidden;
  padding-inline-start: calc(0.25rem * 0);
}
  .input-floating .input-brand::file-selector-button {
  background-color: var(--color-base-100);
  color: var(--color-base-content);
  border-inline-end: var(--border) solid color-mix(in oklab, var(--color-base-content) 40%, #0000);
  outline: none;
}
  .input-brand > .select {
  height: auto;
  border-style: var(--tw-border-style);
  border-width: 0px;
}
  .input-brand > .select:focus,.input-brand > .select:focus-within {
  --tw-shadow: 0 0 #0000;
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  outline-style: var(--tw-outline-style);
  outline-width: 0px;
}
  .mockup-browser .mockup-browser-toolbar .input-brand {
  position: relative;
  margin-inline: auto;
  display: block;
  height: calc(0.25rem * 7);
  width: calc(0.25rem * 96);
  overflow: hidden;
  padding-inline-start: calc(0.25rem * 8);
  padding-top: calc(0.25rem * 0.5);
  text-overflow: ellipsis;
  white-space: nowrap;
}
  .mockup-browser .mockup-browser-toolbar .input-brand:before {
  content: "";
  position: absolute;
  inset-inline-start: calc(0.25rem * 2);
  top: calc(1/2 * 100%);
  aspect-ratio: 1 / 1;
  height: calc(0.25rem * 3);
  --tw-translate-y: calc(calc(1/2 * 100%) * -1);
  translate: var(--tw-translate-x) var(--tw-translate-y);
  border-radius: calc(infinity * 1px);
  border-style: var(--tw-border-style);
  border-width: 2px;
  border-color: currentColor;
  opacity: 60%;
}
  .mockup-browser .mockup-browser-toolbar .input-brand:after {
  content: "";
  position: absolute;
  inset-inline-start: calc(0.25rem * 5);
  top: calc(1/2 * 100%);
  height: calc(0.25rem * 2);
  --tw-translate-y: calc(1/4 * 100%);
  translate: var(--tw-translate-x) var(--tw-translate-y);
  rotate: calc(45deg * -1);
  border-radius: calc(infinity * 1px);
  border-style: var(--tw-border-style);
  border-width: 1px;
  border-color: currentColor;
  opacity: 60%;
}
  .input-brand {
  display: inline-flex;
  width: 100%;
  flex-shrink: 1;
  cursor: text;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: var(--color-base-100);
  padding-inline: calc(0.25rem * 3);
  font-size: var(--text-base);
  line-height: var(--tw-leading, var(--text-base--line-height));
  --tw-font-weight: var(--font-weight-normal);
  font-weight: var(--font-weight-normal);
  color: var(--color-base-content);
}
  .input-brand::-moz-placeholder {
  color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
}
  .input-brand::placeholder {
  color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
}
  .input-brand:focus-visible {
  --tw-outline-style: none;
  outline-style: none;
}
  .input-brand {
  border: var(--border) solid #0000;
  height: var(--size);
  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);
  --input-color: color-mix(in oklab, var(--color-base-content) 40%, #0000);
  --size: calc(var(--size-field, 0.25rem) * 9.5);
}
  .input-brand:hover:not(:focus, :focus-within),.input-brand:has(:hover):not(:focus, :focus-within) {
  border-color: color-mix(in oklab, var(--color-base-content) 60%, transparent);
}
  .input-brand:where(input) {
  display: inline-block;
}
  .input-brand :where(input:not([type="checkbox"]):not([type="radio"])) {
  display: inline-block;
  height: 100%;
  width: 100%;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: transparent;
  border: none;
}
  .input-brand :where(input:not([type="checkbox"]):not([type="radio"])):focus,.input-brand :where(input:not([type="checkbox"]):not([type="radio"])):focus-within,.input-brand :where(input:not([type="checkbox"]):not([type="radio"])):focus-visible {
  --tw-outline-style: none;
  outline-style: none;
}
  .input-brand:focus,.input-brand:focus-within {
  --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  --input-color: var(--color-primary);
  --tw-shadow-color: color-mix(in oklab, var(--input-color) 30%, #0000);
  outline: 1px solid var(--input-color);
  isolation: isolate;
}
  .input-brand:has(> input[disabled]),.input-brand:is(:disabled, [disabled]) {
  cursor: not-allowed;
  border-style: var(--tw-border-style);
  border-width: 0px;
  background-color: color-mix(in oklab, var(--color-neutral) 10%, transparent);
  color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
  box-shadow: none;
}
  .input-brand:has(> input[disabled]) > input[disabled] {
  cursor: not-allowed;
}
  .input-brand::-webkit-date-and-time-value {
  text-align: inherit;
}
  .input-brand[type="number"]::-webkit-inner-spin-button {
  margin-block: calc(0.25rem * -3);
  margin-inline-end: calc(0.25rem * -3);
}
  .input-brand:has(> .input-floating) input::-moz-placeholder {
  color: transparent;
}
  .input-brand:has(> .input-floating) input::placeholder {
  color: transparent;
}
  .input-brand:has(> .input-floating) input:focus::-moz-placeholder {
  color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
}
  .input-brand:has(> .input-floating) input:focus::placeholder {
  color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
}
  .input-floating .input-brand::-moz-placeholder {
  color: transparent;
}
  .input-floating .input-brand::placeholder {
  color: transparent;
}
  .input-floating .input-brand:focus::-moz-placeholder {
  color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
}
  .input-floating .input-brand:focus::placeholder {
  color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
}
  .input-floating .input-brand:has(> input[disabled]), .input-floating .input-brand:is(:disabled, [disabled]) {
  border-style: var(--tw-border-style);
  border-width: 1px;
  background-color: transparent;
  opacity: 50%;
}
  .input-floating .input-brand:has(> input[disabled]) ~ .input-floating-label, .input-floating .input-brand:is(:disabled, [disabled]) ~ .input-floating-label {
  color: color-mix(in oklab, var(--color-base-content) 30%, transparent);
}
   .input-floating:has(.input-brand:focus) .input-floating-label {
  pointer-events: auto;
  top: calc(0.25rem * 0);
  background-color: var(--color-base-100);
  padding-inline: calc(0.25rem * 1);
  --tw-font-weight: var(--font-weight-medium);
  font-weight: var(--font-weight-medium);
  color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
  translate: -12.5% calc(-50% - 0.125em);
  scale: 0.75;
  --input-color: var(--color-primary);
  color: var(--input-color);
}
  .input-brand.is-valid,.input-brand:has(.is-valid), .validate .input-brand:valid, .validate .input-brand:has(:valid) {
  border-color: var(--color-success);
}
  @media (hover: hover) {

  .input-brand.is-valid:hover,.input-brand:has(.is-valid):hover, .validate .input-brand:valid:hover, .validate .input-brand:has(:valid):hover {
    border-color: var(--color-success);
  }
}
  .input-brand.is-valid:has(:hover):not(:focus, :focus-within),.input-brand:has(.is-valid):has(:hover):not(:focus, :focus-within), .validate .input-brand:valid:has(:hover):not(:focus, :focus-within), .validate .input-brand:has(:valid):has(:hover):not(:focus, :focus-within) {
  border-color: var(--color-success);
}
  .input-brand.is-valid:focus,.input-brand.is-valid:focus-within,.input-brand:has(.is-valid):focus,.input-brand:has(.is-valid):focus-within, .validate .input-brand:valid:focus, .validate .input-brand:valid:focus-within, .validate .input-brand:has(:valid):focus, .validate .input-brand:has(:valid):focus-within {
  --input-color: var(--color-success);
}
  .input-brand.is-invalid,.input-brand:has(.is-invalid), .validate .input-brand:invalid, .validate .input-brand:has(:invalid) {
  border-color: var(--color-error);
}
  @media (hover: hover) {

  .input-brand.is-invalid:hover,.input-brand:has(.is-invalid):hover, .validate .input-brand:invalid:hover, .validate .input-brand:has(:invalid):hover {
    border-color: var(--color-error);
  }
}
  .input-brand.is-invalid:has(:hover):not(:focus, :focus-within),.input-brand:has(.is-invalid):has(:hover):not(:focus, :focus-within), .validate .input-brand:invalid:has(:hover):not(:focus, :focus-within), .validate .input-brand:has(:invalid):has(:hover):not(:focus, :focus-within) {
  border-color: var(--color-error);
}
  .input-brand.is-invalid:focus,.input-brand.is-invalid:focus-within,.input-brand:has(.is-invalid):focus,.input-brand:has(.is-invalid):focus-within, .validate .input-brand:invalid:focus, .validate .input-brand:invalid:focus-within, .validate .input-brand:has(:invalid):focus, .validate .input-brand:has(:invalid):focus-within {
  --input-color: var(--color-error);
}
  .input-brand.is-valid::file-selector-button, .validate .input-brand:valid::file-selector-button {
  background-color: var(--color-success);
  color: var(--color-success-content);
  --input-color: var(--color-success);
}
  .input-brand.is-invalid::file-selector-button, .validate .input-brand:invalid::file-selector-button {
  background-color: var(--color-error);
  color: var(--color-error-content);
  --input-color: var(--color-error);
}
  .input-floating > .input-brand.is-valid::file-selector-button, .validate .input-floating > .input-brand:valid::file-selector-button {
  background-color: var(--color-base-100);
  color: var(--color-base-content);
  border-inline-end: var(--border) solid var(--color-success);
}
  .input-floating > .input-brand.is-invalid::file-selector-button, .validate .input-floating > .input-brand:invalid::file-selector-button {
  background-color: var(--color-base-100);
  color: var(--color-base-content);
  border-inline-end: var(--border) solid var(--color-error);
}
   .input-floating:has(.is-valid):has(.input-brand:focus) .input-floating-label, .validate .input-floating:has(:valid):has(.input-brand:focus) .input-floating-label {
  color: var(--color-success);
}
   .input-floating:has(.is-invalid):has(.input-brand:focus) .input-floating-label, .validate .input-floating:has(:invalid):has(.input-brand:focus) .input-floating-label {
  color: var(--color-error);
}
  .input-brand {
  width: 100%;
}
  [data-theme='brp'] .input-brand {
  border-radius: 0.375rem;
  border: 1px solid rgba(33, 29, 22, 0.16);
  background-color: #fbf8f1; /* light inset — a touch brighter than paper */
  color: #211d16;
}
  [data-theme='brp'] .input-brand::-moz-placeholder {
  color: rgba(33, 29, 22, 0.38);
}
  [data-theme='brp'] .input-brand::placeholder {
  color: rgba(33, 29, 22, 0.38);
}
  [data-theme='brp'] .input-brand:focus {
  border-color: #f1a817;
  outline: none;
  box-shadow: 0 0 0 1px #f1a817;
}
  .input-brand:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}
  select.input-brand {
  position: relative;
  display: inline-flex;
  width: 100%;
  flex-shrink: 1;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: var(--color-base-100);
  padding-inline-start: calc(0.25rem * 3);
  padding-inline-end: calc(0.25rem * 10);
  vertical-align: middle;
  font-size: var(--text-base);
  line-height: var(--tw-leading, var(--text-base--line-height));
  color: var(--color-base-content);
  webkit-user-select: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  height: var(--size);
  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-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='1em' height='1em' viewBox='0 0 24 24'><path fill='none' stroke='%239293AE' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m6 9l6 6l6-6'/></svg>");
  background-size: 1.3em;
  background-position: calc(100% - 0.5rem) center;
  background-repeat: no-repeat;
  touch-action: manipulation;
  text-overflow: ellipsis;
  border: var(--border) solid #0000;
  border-color: var(--input-color);
  --input-color: color-mix(in oklab, var(--color-base-content) 40%, #0000);
  --size: calc(var(--size-field, 0.25rem) * 9.5);
}
  select.input-brand:hover:not(:focus, :focus-within),select.input-brand:has(:hover):not(:focus, :focus-within) {
  border-color: color-mix(in oklab, var(--color-base-content) 60%, transparent);
}
  [dir="rtl"] select.input-brand {
  background-position: calc(0% + 1.3em) center;
}
  select.input-brand select {
  margin-inline-end: calc(0.25rem * -10);
  height: 100%;
  width: calc(100% + 2.75rem);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding-inline-start: calc(0.25rem * 3);
  padding-inline-end: calc(0.25rem * 10);
  background-color: transparent;
  border-style: none;
}
  select.input-brand select:focus,select.input-brand select:focus-within {
  --tw-outline-style: none;
  outline-style: none;
}
  select.input-brand[multiple] {
  background-image: none;
}
  select.input-brand:focus,select.input-brand:focus-within {
  --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  --input-color: var(--color-primary);
  --tw-shadow-color: color-mix(in oklab, var(--input-color) 30%, #0000);
  outline: 1px solid var(--input-color);
  border-color: var(--input-color);
  isolation: isolate;
}
  select.input-brand:has(> select[disabled]),select.input-brand:is(:disabled, [disabled]) {
  cursor: not-allowed;
  border-style: var(--tw-border-style);
  border-width: 0px;
  border-color: color-mix(in oklab, var(--color-base-content) 10%, transparent);
  background-color: color-mix(in oklab, var(--color-neutral) 10%, transparent);
  color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
}
  select.input-brand:has(> select[disabled])::-moz-placeholder, select.input-brand:is(:disabled, [disabled])::-moz-placeholder {
  color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
}
  select.input-brand:has(> select[disabled])::placeholder,select.input-brand:is(:disabled, [disabled])::placeholder {
  color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
}
  select.input-brand:has(> select[disabled]) > select[disabled] {
  cursor: not-allowed;
}
  .input > select.input-brand {
  height: auto;
  border-style: var(--tw-border-style);
  border-width: 0px;
}
  .input > select.input-brand:focus, .input > select.input-brand:focus-within {
  --tw-shadow: 0 0 #0000;
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  outline-style: var(--tw-outline-style);
  outline-width: 0px;
}
  select.input-brand:has(> .select-floating) select::-moz-placeholder {
  color: transparent;
}
  select.input-brand:has(> .select-floating) select::placeholder {
  color: transparent;
}
  select.input-brand:has(> .select-floating) select:focus::-moz-placeholder {
  color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
}
  select.input-brand:has(> .select-floating) select:focus::placeholder {
  color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
}
  .select-floating select.input-brand::-moz-placeholder {
  color: transparent;
}
  .select-floating select.input-brand::placeholder {
  color: transparent;
}
  .select-floating select.input-brand:focus::-moz-placeholder {
  color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
}
  .select-floating select.input-brand:focus::placeholder {
  color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
}
  .select-floating select.input-brand:has(> select[disabled]), .select-floating select.input-brand:is(:disabled, [disabled]) {
  border-style: var(--tw-border-style);
  border-width: 1px;
  background-color: transparent;
  opacity: 50%;
}
  .select-floating select.input-brand:has(> select[disabled]) ~ .select-floating-label, .select-floating select.input-brand:is(:disabled, [disabled]) ~ .select-floating-label {
  color: color-mix(in oklab, var(--color-base-content) 30%, transparent);
}
   .select-floating:has(select.input-brand:focus) .select-floating-label {
  --input-color: var(--color-primary);
  color: var(--input-color);
}
  select.input-brand.is-valid,select.input-brand:has(.is-valid), .validate select.input-brand:valid, .validate select.input-brand:has(:valid) {
  border-color: var(--color-success);
}
  @media (hover: hover) {

  select.input-brand.is-valid:hover,select.input-brand:has(.is-valid):hover, .validate select.input-brand:valid:hover, .validate select.input-brand:has(:valid):hover {
    border-color: var(--color-success);
  }
}
  select.input-brand.is-valid:has(:hover):not(:focus, :focus-within),select.input-brand:has(.is-valid):has(:hover):not(:focus, :focus-within), .validate select.input-brand:valid:has(:hover):not(:focus, :focus-within), .validate select.input-brand:has(:valid):has(:hover):not(:focus, :focus-within) {
  border-color: var(--color-success);
}
  select.input-brand.is-valid:focus,select.input-brand.is-valid:focus-within,select.input-brand:has(.is-valid):focus,select.input-brand:has(.is-valid):focus-within, .validate select.input-brand:valid:focus, .validate select.input-brand:valid:focus-within, .validate select.input-brand:has(:valid):focus, .validate select.input-brand:has(:valid):focus-within {
  --input-color: var(--color-success);
}
  select.input-brand.is-invalid,select.input-brand:has(.is-invalid), .validate select.input-brand:invalid, .validate select.input-brand:has(:invalid) {
  border-color: var(--color-error);
}
  @media (hover: hover) {

  select.input-brand.is-invalid:hover,select.input-brand:has(.is-invalid):hover, .validate select.input-brand:invalid:hover, .validate select.input-brand:has(:invalid):hover {
    border-color: var(--color-error);
  }
}
  select.input-brand.is-invalid:has(:hover):not(:focus, :focus-within),select.input-brand:has(.is-invalid):has(:hover):not(:focus, :focus-within), .validate select.input-brand:invalid:has(:hover):not(:focus, :focus-within), .validate select.input-brand:has(:invalid):has(:hover):not(:focus, :focus-within) {
  border-color: var(--color-error);
}
  select.input-brand.is-invalid:focus,select.input-brand.is-invalid:focus-within,select.input-brand:has(.is-invalid):focus,select.input-brand:has(.is-invalid):focus-within, .validate select.input-brand:invalid:focus, .validate select.input-brand:invalid:focus-within, .validate select.input-brand:has(:invalid):focus, .validate select.input-brand:has(:invalid):focus-within {
  --input-color: var(--color-error);
}
   .select-floating:has(.is-valid):has(select.input-brand:focus) .select-floating-label, .validate .select-floating:has(:valid):has(select.input-brand:focus) .select-floating-label {
  color: var(--color-success);
}
   .select-floating:has(.is-invalid):has(select.input-brand:focus) .select-floating-label, .validate .select-floating:has(:invalid):has(select.input-brand:focus) .select-floating-label {
  color: var(--color-error);
}
  select.input-brand {
  width: 100%;
}
  
[data-theme='brp'] select.input-brand {
  border-radius: 0.375rem;
  border: 1px solid rgba(33, 29, 22, 0.16);
  background-color: #fbf8f1; /* light inset — a touch brighter than paper */
  color: #211d16;
}
  
[data-theme='brp'] select.input-brand::-moz-placeholder {
  color: rgba(33, 29, 22, 0.38);
}
  
[data-theme='brp'] select.input-brand::placeholder {
  color: rgba(33, 29, 22, 0.38);
}
  
[data-theme='brp'] select.input-brand:focus {
  border-color: #f1a817;
  outline: none;
  box-shadow: 0 0 0 1px #f1a817;
}
  textarea.input-brand {
  display: inline-flex;
  min-height: calc(0.25rem * 20);
  width: 100%;
  flex-shrink: 1;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: var(--radius-field);
  background-color: var(--color-base-100);
  padding-inline: calc(0.25rem * 4);
  padding-block: calc(0.25rem * 2);
  font-size: var(--text-base);
  line-height: var(--tw-leading, var(--text-base--line-height));
  color: var(--color-base-content);
}
  textarea.input-brand::-moz-placeholder {
  color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
}
  textarea.input-brand::placeholder {
  color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
}
  @media (hover: hover) {

  textarea.input-brand:hover {
    border-color: color-mix(in oklab, var(--color-base-content) 60%, transparent);
  }
}
  textarea.input-brand:focus-visible {
  --tw-outline-style: none;
  outline-style: none;
}
  textarea.input-brand {
  border: var(--border) solid #0000;
  border-color: var(--input-color);
  touch-action: manipulation;
  --input-color: color-mix(in oklab, var(--color-base-content) 40%, #0000);
}
  textarea.input-brand :where(textarea) {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: transparent;
  border: none;
}
  textarea.input-brand :where(textarea):focus,textarea.input-brand :where(textarea):focus-within {
  --tw-outline-style: none;
  outline-style: none;
}
  textarea.input-brand:focus,textarea.input-brand:focus-within {
  --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  --input-color: var(--color-primary);
  --tw-shadow-color: color-mix(in oklab, var(--input-color) 30%, #0000);
  outline: 1px solid var(--input-color);
  border-color: var(--input-color);
  isolation: isolate;
}
  textarea.input-brand:has(> textarea[disabled]),textarea.input-brand:is(:disabled, [disabled]) {
  cursor: not-allowed;
  border-color: var(--color-base-200);
  background-color: var(--color-base-200);
  color: color-mix(in oklab, var(--color-base-content) 40%, transparent);
}
  textarea.input-brand:has(> textarea[disabled])::-moz-placeholder, textarea.input-brand:is(:disabled, [disabled])::-moz-placeholder {
  color: color-mix(in oklab, var(--color-base-content) 20%, transparent);
}
  textarea.input-brand:has(> textarea[disabled])::placeholder,textarea.input-brand:is(:disabled, [disabled])::placeholder {
  color: color-mix(in oklab, var(--color-base-content) 20%, transparent);
}
  textarea.input-brand:has(> textarea[disabled]) > textarea[disabled] {
  cursor: not-allowed;
}
  textarea.input-brand:has(> textarea) {
  padding: calc(0.25rem * 0);
}
  textarea.input-brand:has(> textarea) textarea {
  height: auto;
  min-height: calc(0.25rem * 20);
  width: 100%;
}
  textarea.input-brand:has(> textarea) textarea:first-child {
  padding-block: calc(0.25rem * 2);
  padding-inline-start: calc(0.25rem * 4);
}
  textarea.input-brand:has(> textarea) textarea:nth-child(2) {
  padding-block: calc(0.25rem * 2);
}
  textarea.input-brand:has(> textarea) textarea:last-child {
  padding-block: calc(0.25rem * 2);
  padding-inline-end: calc(0.25rem * 4);
}
  textarea.input-brand:has(> .textarea-floating) {
  padding: calc(0.25rem * 0);
}
  textarea.input-brand:has(> .textarea-floating) :where(.textarea-floating:first-child) > textarea {
  padding-block: calc(0.25rem * 2);
  padding-inline-start: calc(0.25rem * 4);
}
  textarea.input-brand:has(> .textarea-floating) :where(.textarea-floating:nth-child(2)) > textarea {
  padding-block: calc(0.25rem * 2);
}
  textarea.input-brand:has(> .textarea-floating) :where(.textarea-floating:last-child) > textarea {
  padding-block: calc(0.25rem * 2);
  padding-inline-end: calc(0.25rem * 4);
}
  textarea.input-brand:has(> .textarea-floating) :where(.textarea-floating:nth-child(2)) .textarea-floating-label,textarea.input-brand:has(> .textarea-floating) :where(.textarea-floating:last-child) .textarea-floating-label {
  margin-inline-start: calc(0.25rem * 0);
}
  textarea.input-brand:has(> .textarea-floating) * > textarea {
  width: 100%;
  height: 100%;
  min-height: calc(0.25rem * 20);
}
  textarea.input-brand:has(> .textarea-floating) textarea::-moz-placeholder {
  color: transparent;
}
  textarea.input-brand:has(> .textarea-floating) textarea::placeholder {
  color: transparent;
}
  textarea.input-brand:has(> .textarea-floating) textarea:focus::-moz-placeholder {
  color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
}
  textarea.input-brand:has(> .textarea-floating) textarea:focus::placeholder {
  color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
}
  .textarea-floating textarea.input-brand::-moz-placeholder {
  color: transparent;
}
  .textarea-floating textarea.input-brand::placeholder {
  color: transparent;
}
  .textarea-floating textarea.input-brand:focus::-moz-placeholder {
  color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
}
  .textarea-floating textarea.input-brand:focus::placeholder {
  color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
}
  .textarea-floating textarea.input-brand {
  field-sizing: content;
}
  .textarea-floating textarea.input-brand:has(> textarea[disabled]), .textarea-floating textarea.input-brand:is(:disabled, [disabled]) {
  border-style: var(--tw-border-style);
  border-width: 1px;
  border-color: color-mix(in oklab, var(--color-base-content) 40%, transparent);
  background-color: transparent;
  opacity: 50%;
}
  .textarea-floating textarea.input-brand:has(> textarea[disabled])::-moz-placeholder, .textarea-floating textarea.input-brand:is(:disabled, [disabled])::-moz-placeholder {
  color: transparent;
}
  .textarea-floating textarea.input-brand:has(> textarea[disabled])::placeholder, .textarea-floating textarea.input-brand:is(:disabled, [disabled])::placeholder {
  color: transparent;
}
  .textarea-floating textarea.input-brand:has(> textarea[disabled]) ~ .textarea-floating-label, .textarea-floating textarea.input-brand:is(:disabled, [disabled]) ~ .textarea-floating-label {
  color: color-mix(in oklab, var(--color-base-content) 30%, transparent);
}
   .textarea-floating:has(textarea.input-brand:focus) .textarea-floating-label {
  pointer-events: auto;
  top: calc(0.25rem * 0);
  background-color: var(--color-base-100);
  padding-inline: calc(0.25rem * 1);
  --tw-font-weight: var(--font-weight-medium);
  font-weight: var(--font-weight-medium);
  color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
  translate: -12.5% calc(-50% - 0.125em);
  scale: 0.75;
  --input-color: var(--color-primary);
  color: var(--input-color);
}
  textarea.input-brand.is-valid,textarea.input-brand:has(.is-valid), .validate textarea.input-brand:valid, .validate textarea.input-brand:has(:valid) {
  border-color: var(--color-success);
}
  @media (hover: hover) {

  textarea.input-brand.is-valid:hover,textarea.input-brand:has(.is-valid):hover, .validate textarea.input-brand:valid:hover, .validate textarea.input-brand:has(:valid):hover {
    border-color: var(--color-success);
  }
}
  textarea.input-brand.is-valid:has(:hover):not(:focus, :focus-within),textarea.input-brand:has(.is-valid):has(:hover):not(:focus, :focus-within), .validate textarea.input-brand:valid:has(:hover):not(:focus, :focus-within), .validate textarea.input-brand:has(:valid):has(:hover):not(:focus, :focus-within) {
  border-color: var(--color-success);
}
  textarea.input-brand.is-valid:focus,textarea.input-brand.is-valid:focus-within,textarea.input-brand:has(.is-valid):focus,textarea.input-brand:has(.is-valid):focus-within, .validate textarea.input-brand:valid:focus, .validate textarea.input-brand:valid:focus-within, .validate textarea.input-brand:has(:valid):focus, .validate textarea.input-brand:has(:valid):focus-within {
  --input-color: var(--color-success);
}
  textarea.input-brand.is-invalid,textarea.input-brand:has(.is-invalid), .validate textarea.input-brand:invalid, .validate textarea.input-brand:has(:invalid) {
  border-color: var(--color-error);
}
  @media (hover: hover) {

  textarea.input-brand.is-invalid:hover,textarea.input-brand:has(.is-invalid):hover, .validate textarea.input-brand:invalid:hover, .validate textarea.input-brand:has(:invalid):hover {
    border-color: var(--color-error);
  }
}
  textarea.input-brand.is-invalid:has(:hover):not(:focus, :focus-within),textarea.input-brand:has(.is-invalid):has(:hover):not(:focus, :focus-within), .validate textarea.input-brand:invalid:has(:hover):not(:focus, :focus-within), .validate textarea.input-brand:has(:invalid):has(:hover):not(:focus, :focus-within) {
  border-color: var(--color-error);
}
  textarea.input-brand.is-invalid:focus,textarea.input-brand.is-invalid:focus-within,textarea.input-brand:has(.is-invalid):focus,textarea.input-brand:has(.is-invalid):focus-within, .validate textarea.input-brand:invalid:focus, .validate textarea.input-brand:invalid:focus-within, .validate textarea.input-brand:has(:invalid):focus, .validate textarea.input-brand:has(:invalid):focus-within {
  --input-color: var(--color-error);
}
   .textarea-floating:has(.is-valid):has(textarea.input-brand:focus) .textarea-floating-label, .validate .textarea-floating:has(:valid):has(textarea.input-brand:focus) .textarea-floating-label {
  color: var(--color-success);
}
   .textarea-floating:has(.is-invalid):has(textarea.input-brand:focus) .textarea-floating-label, .validate .textarea-floating:has(:invalid):has(textarea.input-brand:focus) .textarea-floating-label {
  color: var(--color-error);
}
  textarea.input-brand {
  width: 100%;
}
  
[data-theme='brp'] textarea.input-brand {
  border-radius: 0.375rem;
  border: 1px solid rgba(33, 29, 22, 0.16);
  background-color: #fbf8f1; /* light inset — a touch brighter than paper */
  color: #211d16;
}
  
[data-theme='brp'] textarea.input-brand::-moz-placeholder {
  color: rgba(33, 29, 22, 0.38);
}
  
[data-theme='brp'] textarea.input-brand::placeholder {
  color: rgba(33, 29, 22, 0.38);
}
  
[data-theme='brp'] textarea.input-brand:focus {
  border-color: #f1a817;
  outline: none;
  box-shadow: 0 0 0 1px #f1a817;
}

  .label-brand {
  margin-bottom: 0.25rem;
  display: block;
  font-size: 0.85rem;
  line-height: 1.25rem;
  font-weight: 500;
  color: rgb(33 29 22 / 0.8);
}

  /* Red asterisk marking a required field. Add `label-required` to any label. */
  .label-required::after {
    content: ' *';
    --tw-text-opacity: 1;
    color: rgb(248 113 113 / var(--tw-text-opacity, 1));
  }

  /* Bible verse highlight rendering */
  .bible-highlight {
    background-color: rgba(241, 168, 23, 0.35);
    border-bottom: 2px solid #f1a817;
    padding: 0 2px;
    border-radius: 2px;
  }
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.pointer-events-none {
  pointer-events: none;
}
.pointer-events-auto {
  pointer-events: auto;
}
.visible {
  visibility: visible;
}
.invisible {
  visibility: hidden;
}
.collapse {
  visibility: collapse;
}
.static {
  position: static;
}
.fixed {
  position: fixed;
}
.absolute {
  position: absolute;
}
.relative {
  position: relative;
}
.sticky {
  position: sticky;
}
.inset-0 {
  inset: 0px;
}
.inset-3 {
  inset: 0.75rem;
}
.inset-6 {
  inset: 1.5rem;
}
.inset-x-0 {
  left: 0px;
  right: 0px;
}
.inset-x-4 {
  left: 1rem;
  right: 1rem;
}
.inset-y-0 {
  top: 0px;
  bottom: 0px;
}
.inset-y-1\.5 {
  top: 0.375rem;
  bottom: 0.375rem;
}
.-bottom-12 {
  bottom: -3rem;
}
.-bottom-8 {
  bottom: -2rem;
}
.-left-1 {
  left: -0.25rem;
}
.-left-14 {
  left: -3.5rem;
}
.-left-16 {
  left: -4rem;
}
.-right-1 {
  right: -0.25rem;
}
.-right-12 {
  right: -3rem;
}
.-right-8 {
  right: -2rem;
}
.-top-1 {
  top: -0.25rem;
}
.-top-14 {
  top: -3.5rem;
}
.bottom-0 {
  bottom: 0px;
}
.bottom-1 {
  bottom: 0.25rem;
}
.bottom-20 {
  bottom: 5rem;
}
.bottom-3 {
  bottom: 0.75rem;
}
.bottom-5 {
  bottom: 1.25rem;
}
.bottom-6 {
  bottom: 1.5rem;
}
.bottom-\[5\.5rem\] {
  bottom: 5.5rem;
}
.bottom-full {
  bottom: 100%;
}
.end-1 {
  inset-inline-end: 0.25rem;
}
.end-1\.5 {
  inset-inline-end: 0.375rem;
}
.end-2\.5 {
  inset-inline-end: 0.625rem;
}
.end-3 {
  inset-inline-end: 0.75rem;
}
.left-0 {
  left: 0px;
}
.left-1 {
  left: 0.25rem;
}
.left-1\/2 {
  left: 50%;
}
.left-2\.5 {
  left: 0.625rem;
}
.left-3 {
  left: 0.75rem;
}
.left-4 {
  left: 1rem;
}
.left-\[11px\] {
  left: 11px;
}
.right-0 {
  right: 0px;
}
.right-1 {
  right: 0.25rem;
}
.right-1\.5 {
  right: 0.375rem;
}
.right-2 {
  right: 0.5rem;
}
.right-3 {
  right: 0.75rem;
}
.right-4 {
  right: 1rem;
}
.right-5 {
  right: 1.25rem;
}
.right-6 {
  right: 1.5rem;
}
.start-0 {
  inset-inline-start: 0px;
}
.start-2\.5 {
  inset-inline-start: 0.625rem;
}
.start-3 {
  inset-inline-start: 0.75rem;
}
.top-0 {
  top: 0px;
}
.top-1 {
  top: 0.25rem;
}
.top-1\/2 {
  top: 50%;
}
.top-2 {
  top: 0.5rem;
}
.top-3 {
  top: 0.75rem;
}
.top-4 {
  top: 1rem;
}
.top-5 {
  top: 1.25rem;
}
.top-6 {
  top: 1.5rem;
}
.top-\[-12\%\] {
  top: -12%;
}
.top-\[0\.55rem\] {
  top: 0.55rem;
}
.top-full {
  top: 100%;
}
.isolate {
  isolation: isolate;
}
.z-0 {
  z-index: 0;
}
.z-10 {
  z-index: 10;
}
.z-20 {
  z-index: 20;
}
.z-30 {
  z-index: 30;
}
.z-40 {
  z-index: 40;
}
.z-50 {
  z-index: 50;
}
.z-\[120\] {
  z-index: 120;
}
.z-\[125\] {
  z-index: 125;
}
.z-\[130\] {
  z-index: 130;
}
.z-\[150\] {
  z-index: 150;
}
.z-\[1\] {
  z-index: 1;
}
.z-\[200\] {
  z-index: 200;
}
.z-\[2\] {
  z-index: 2;
}
.z-\[3\] {
  z-index: 3;
}
.z-\[45\] {
  z-index: 45;
}
.z-\[60\] {
  z-index: 60;
}
.z-\[90\] {
  z-index: 90;
}
.order-1 {
  order: 1;
}
.order-2 {
  order: 2;
}
.col-span-2 {
  grid-column: span 2 / span 2;
}
.m-2 {
  margin: 0.5rem;
}
.m-3 {
  margin: 0.75rem;
}
.m-4 {
  margin: 1rem;
}
.m-auto {
  margin: auto;
}
.-mx-5 {
  margin-left: -1.25rem;
  margin-right: -1.25rem;
}
.-mx-\[0\.4em\] {
  margin-left: -0.4em;
  margin-right: -0.4em;
}
.-my-2 {
  margin-top: -0.5rem;
  margin-bottom: -0.5rem;
}
.mx-0\.5 {
  margin-left: 0.125rem;
  margin-right: 0.125rem;
}
.mx-1\.5 {
  margin-left: 0.375rem;
  margin-right: 0.375rem;
}
.mx-4 {
  margin-left: 1rem;
  margin-right: 1rem;
}
.mx-6 {
  margin-left: 1.5rem;
  margin-right: 1.5rem;
}
.mx-auto {
  margin-left: auto;
  margin-right: auto;
}
.my-1 {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}
.my-1\.5 {
  margin-top: 0.375rem;
  margin-bottom: 0.375rem;
}
.my-2 {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.my-2\.5 {
  margin-top: 0.625rem;
  margin-bottom: 0.625rem;
}
.my-3 {
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}
.my-4 {
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.my-5 {
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
}
.my-\[0\.65em\] {
  margin-top: 0.65em;
  margin-bottom: 0.65em;
}
.my-\[0\.8em\] {
  margin-top: 0.8em;
  margin-bottom: 0.8em;
}
.-mb-px {
  margin-bottom: -1px;
}
.mb-1 {
  margin-bottom: 0.25rem;
}
.mb-1\.5 {
  margin-bottom: 0.375rem;
}
.mb-10 {
  margin-bottom: 2.5rem;
}
.mb-11 {
  margin-bottom: 2.75rem;
}
.mb-2 {
  margin-bottom: 0.5rem;
}
.mb-2\.5 {
  margin-bottom: 0.625rem;
}
.mb-3 {
  margin-bottom: 0.75rem;
}
.mb-4 {
  margin-bottom: 1rem;
}
.mb-5 {
  margin-bottom: 1.25rem;
}
.mb-6 {
  margin-bottom: 1.5rem;
}
.mb-8 {
  margin-bottom: 2rem;
}
.mb-\[0\.4em\] {
  margin-bottom: 0.4em;
}
.mb-\[0\.5em\] {
  margin-bottom: 0.5em;
}
.mb-\[0\.75em\] {
  margin-bottom: 0.75em;
}
.ml-0\.5 {
  margin-left: 0.125rem;
}
.ml-1 {
  margin-left: 0.25rem;
}
.ml-1\.5 {
  margin-left: 0.375rem;
}
.ml-2 {
  margin-left: 0.5rem;
}
.ml-2\.5 {
  margin-left: 0.625rem;
}
.ml-8 {
  margin-left: 2rem;
}
.ml-\[1\.6em\] {
  margin-left: 1.6em;
}
.ml-auto {
  margin-left: auto;
}
.mr-0\.5 {
  margin-right: 0.125rem;
}
.mr-1 {
  margin-right: 0.25rem;
}
.mr-1\.5 {
  margin-right: 0.375rem;
}
.mr-2 {
  margin-right: 0.5rem;
}
.mr-4 {
  margin-right: 1rem;
}
.mr-auto {
  margin-right: auto;
}
.ms-auto {
  margin-inline-start: auto;
}
.mt-0\.5 {
  margin-top: 0.125rem;
}
.mt-1 {
  margin-top: 0.25rem;
}
.mt-1\.5 {
  margin-top: 0.375rem;
}
.mt-10 {
  margin-top: 2.5rem;
}
.mt-12 {
  margin-top: 3rem;
}
.mt-16 {
  margin-top: 4rem;
}
.mt-2 {
  margin-top: 0.5rem;
}
.mt-2\.5 {
  margin-top: 0.625rem;
}
.mt-3 {
  margin-top: 0.75rem;
}
.mt-3\.5 {
  margin-top: 0.875rem;
}
.mt-4 {
  margin-top: 1rem;
}
.mt-5 {
  margin-top: 1.25rem;
}
.mt-6 {
  margin-top: 1.5rem;
}
.mt-8 {
  margin-top: 2rem;
}
.mt-\[0\.4em\] {
  margin-top: 0.4em;
}
.mt-\[0\.6em\] {
  margin-top: 0.6em;
}
.mt-\[0\.8em\] {
  margin-top: 0.8em;
}
.mt-\[0\.9em\] {
  margin-top: 0.9em;
}
.mt-\[1\.5em\] {
  margin-top: 1.5em;
}
.mt-\[1em\] {
  margin-top: 1em;
}
.mt-auto {
  margin-top: auto;
}
.line-clamp-1 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.line-clamp-2 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.line-clamp-3 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.line-clamp-4 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}
.line-clamp-\[10\] {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 10;
}
.block {
  display: block;
}
.inline-block {
  display: inline-block;
}
.inline {
  display: inline;
}
.flex {
  display: flex;
}
.inline-flex {
  display: inline-flex;
}
.table {
  display: table;
}
.grid {
  display: grid;
}
.contents {
  display: contents;
}
.hidden {
  display: none;
}
.aspect-\[16\/9\] {
  aspect-ratio: 16/9;
}
.aspect-\[3\/4\.2\] {
  aspect-ratio: 3/4.2;
}
.aspect-\[3\/4\] {
  aspect-ratio: 3/4;
}
.aspect-video {
  aspect-ratio: 16 / 9;
}
.\!h-9 {
  height: 2.25rem !important;
}
.h-0 {
  height: 0px;
}
.h-0\.5 {
  height: 0.125rem;
}
.h-1 {
  height: 0.25rem;
}
.h-1\.5 {
  height: 0.375rem;
}
.h-1\/3 {
  height: 33.333333%;
}
.h-10 {
  height: 2.5rem;
}
.h-11 {
  height: 2.75rem;
}
.h-12 {
  height: 3rem;
}
.h-14 {
  height: 3.5rem;
}
.h-16 {
  height: 4rem;
}
.h-2 {
  height: 0.5rem;
}
.h-2\.5 {
  height: 0.625rem;
}
.h-20 {
  height: 5rem;
}
.h-24 {
  height: 6rem;
}
.h-3 {
  height: 0.75rem;
}
.h-3\.5 {
  height: 0.875rem;
}
.h-32 {
  height: 8rem;
}
.h-4 {
  height: 1rem;
}
.h-5 {
  height: 1.25rem;
}
.h-56 {
  height: 14rem;
}
.h-6 {
  height: 1.5rem;
}
.h-7 {
  height: 1.75rem;
}
.h-8 {
  height: 2rem;
}
.h-9 {
  height: 2.25rem;
}
.h-\[1\.15rem\] {
  height: 1.15rem;
}
.h-\[132px\] {
  height: 132px;
}
.h-\[13px\] {
  height: 13px;
}
.h-\[150px\] {
  height: 150px;
}
.h-\[1em\] {
  height: 1em;
}
.h-\[22px\] {
  height: 22px;
}
.h-\[24rem\] {
  height: 24rem;
}
.h-\[26px\] {
  height: 26px;
}
.h-\[30px\] {
  height: 30px;
}
.h-\[58\%\] {
  height: 58%;
}
.h-\[5px\] {
  height: 5px;
}
.h-\[640px\] {
  height: 640px;
}
.h-\[7px\] {
  height: 7px;
}
.h-\[92dvh\] {
  height: 92dvh;
}
.h-\[9px\] {
  height: 9px;
}
.h-\[calc\(100dvh-4rem\)\] {
  height: calc(100dvh - 4rem);
}
.h-\[calc\(4rem\+env\(safe-area-inset-bottom\)\)\] {
  height: calc(4rem + env(safe-area-inset-bottom));
}
.h-\[min\(92dvh\2c 920px\)\] {
  height: min(92dvh, 920px);
}
.h-auto {
  height: auto;
}
.h-dvh {
  height: 100dvh;
}
.h-fit {
  height: -moz-fit-content;
  height: fit-content;
}
.h-full {
  height: 100%;
}
.h-px {
  height: 1px;
}
.max-h-48 {
  max-height: 12rem;
}
.max-h-56 {
  max-height: 14rem;
}
.max-h-60 {
  max-height: 15rem;
}
.max-h-64 {
  max-height: 16rem;
}
.max-h-72 {
  max-height: 18rem;
}
.max-h-80 {
  max-height: 20rem;
}
.max-h-\[45vh\] {
  max-height: 45vh;
}
.max-h-\[480px\] {
  max-height: 480px;
}
.max-h-\[640px\] {
  max-height: 640px;
}
.max-h-\[64vh\] {
  max-height: 64vh;
}
.max-h-\[80dvh\] {
  max-height: 80dvh;
}
.max-h-\[80vh\] {
  max-height: 80vh;
}
.max-h-\[85vh\] {
  max-height: 85vh;
}
.max-h-\[92\%\] {
  max-height: 92%;
}
.max-h-\[calc\(100vh-2rem\)\] {
  max-height: calc(100vh - 2rem);
}
.max-h-\[calc\(100vh-3rem\)\] {
  max-height: calc(100vh - 3rem);
}
.max-h-\[min\(42rem\2c calc\(100dvh-7rem\)\)\] {
  max-height: min(42rem, calc(100dvh - 7rem));
}
.max-h-full {
  max-height: 100%;
}
.min-h-0 {
  min-height: 0px;
}
.min-h-12 {
  min-height: 3rem;
}
.min-h-4 {
  min-height: 1rem;
}
.min-h-40 {
  min-height: 10rem;
}
.min-h-\[100px\] {
  min-height: 100px;
}
.min-h-\[10rem\] {
  min-height: 10rem;
}
.min-h-\[160px\] {
  min-height: 160px;
}
.min-h-\[16rem\] {
  min-height: 16rem;
}
.min-h-\[28rem\] {
  min-height: 28rem;
}
.min-h-\[52px\] {
  min-height: 52px;
}
.min-h-\[60vh\] {
  min-height: 60vh;
}
.min-h-\[80px\] {
  min-height: 80px;
}
.min-h-full {
  min-height: 100%;
}
.min-h-screen {
  min-height: 100vh;
}
.\!w-auto {
  width: auto !important;
}
.w-0\.5 {
  width: 0.125rem;
}
.w-1\.5 {
  width: 0.375rem;
}
.w-1\/2 {
  width: 50%;
}
.w-1\/3 {
  width: 33.333333%;
}
.w-1\/4 {
  width: 25%;
}
.w-10 {
  width: 2.5rem;
}
.w-11 {
  width: 2.75rem;
}
.w-11\/12 {
  width: 91.666667%;
}
.w-12 {
  width: 3rem;
}
.w-14 {
  width: 3.5rem;
}
.w-16 {
  width: 4rem;
}
.w-2 {
  width: 0.5rem;
}
.w-2\.5 {
  width: 0.625rem;
}
.w-2\/3 {
  width: 66.666667%;
}
.w-2\/5 {
  width: 40%;
}
.w-20 {
  width: 5rem;
}
.w-24 {
  width: 6rem;
}
.w-28 {
  width: 7rem;
}
.w-3 {
  width: 0.75rem;
}
.w-3\.5 {
  width: 0.875rem;
}
.w-3\/4 {
  width: 75%;
}
.w-32 {
  width: 8rem;
}
.w-4 {
  width: 1rem;
}
.w-4\/5 {
  width: 80%;
}
.w-40 {
  width: 10rem;
}
.w-44 {
  width: 11rem;
}
.w-48 {
  width: 12rem;
}
.w-5 {
  width: 1.25rem;
}
.w-52 {
  width: 13rem;
}
.w-56 {
  width: 14rem;
}
.w-6 {
  width: 1.5rem;
}
.w-60 {
  width: 15rem;
}
.w-64 {
  width: 16rem;
}
.w-7 {
  width: 1.75rem;
}
.w-72 {
  width: 18rem;
}
.w-8 {
  width: 2rem;
}
.w-80 {
  width: 20rem;
}
.w-9 {
  width: 2.25rem;
}
.w-9\/12 {
  width: 75%;
}
.w-96 {
  width: 24rem;
}
.w-\[1\.15rem\] {
  width: 1.15rem;
}
.w-\[1\.6em\] {
  width: 1.6em;
}
.w-\[120px\] {
  width: 120px;
}
.w-\[13px\] {
  width: 13px;
}
.w-\[1em\] {
  width: 1em;
}
.w-\[22px\] {
  width: 22px;
}
.w-\[22rem\] {
  width: 22rem;
}
.w-\[26px\] {
  width: 26px;
}
.w-\[30px\] {
  width: 30px;
}
.w-\[4\.5rem\] {
  width: 4.5rem;
}
.w-\[46\%\] {
  width: 46%;
}
.w-\[5px\] {
  width: 5px;
}
.w-\[78\%\] {
  width: 78%;
}
.w-\[7px\] {
  width: 7px;
}
.w-\[7rem\] {
  width: 7rem;
}
.w-\[88\%\] {
  width: 88%;
}
.w-\[9px\] {
  width: 9px;
}
.w-\[calc\(100vw-2rem\)\] {
  width: calc(100vw - 2rem);
}
.w-\[min\(1240px\2c 96vw\)\] {
  width: min(1240px, 96vw);
}
.w-\[min\(20rem\2c 85vw\)\] {
  width: min(20rem, 85vw);
}
.w-\[min\(30rem\2c calc\(100vw-2rem\)\)\] {
  width: min(30rem, calc(100vw - 2rem));
}
.w-\[var\(--button-width\)\] {
  width: var(--button-width);
}
.w-\[var\(--input-width\)\] {
  width: var(--input-width);
}
.w-auto {
  width: auto;
}
.w-fit {
  width: -moz-fit-content;
  width: fit-content;
}
.w-full {
  width: 100%;
}
.w-max {
  width: -moz-max-content;
  width: max-content;
}
.w-px {
  width: 1px;
}
.min-w-0 {
  min-width: 0px;
}
.min-w-11 {
  min-width: 2.75rem;
}
.min-w-12 {
  min-width: 3rem;
}
.min-w-24 {
  min-width: 6rem;
}
.min-w-48 {
  min-width: 12rem;
}
.min-w-5 {
  min-width: 1.25rem;
}
.min-w-\[1\.25rem\] {
  min-width: 1.25rem;
}
.min-w-\[10rem\] {
  min-width: 10rem;
}
.min-w-\[12rem\] {
  min-width: 12rem;
}
.min-w-\[14rem\] {
  min-width: 14rem;
}
.min-w-\[16rem\] {
  min-width: 16rem;
}
.min-w-\[1rem\] {
  min-width: 1rem;
}
.min-w-\[200px\] {
  min-width: 200px;
}
.min-w-\[30rem\] {
  min-width: 30rem;
}
.min-w-\[320px\] {
  min-width: 320px;
}
.min-w-\[3rem\] {
  min-width: 3rem;
}
.min-w-\[44rem\] {
  min-width: 44rem;
}
.min-w-\[50rem\] {
  min-width: 50rem;
}
.min-w-px {
  min-width: 1px;
}
.max-w-2xl {
  max-width: 42rem;
}
.max-w-3xl {
  max-width: 48rem;
}
.max-w-40 {
  max-width: 10rem;
}
.max-w-44 {
  max-width: 11rem;
}
.max-w-4xl {
  max-width: 56rem;
}
.max-w-52 {
  max-width: 13rem;
}
.max-w-56 {
  max-width: 14rem;
}
.max-w-5xl {
  max-width: 64rem;
}
.max-w-60 {
  max-width: 15rem;
}
.max-w-6xl {
  max-width: 72rem;
}
.max-w-7xl {
  max-width: 80rem;
}
.max-w-\[10rem\] {
  max-width: 10rem;
}
.max-w-\[11rem\] {
  max-width: 11rem;
}
.max-w-\[12rem\] {
  max-width: 12rem;
}
.max-w-\[13rem\] {
  max-width: 13rem;
}
.max-w-\[14rem\] {
  max-width: 14rem;
}
.max-w-\[15rem\] {
  max-width: 15rem;
}
.max-w-\[160px\] {
  max-width: 160px;
}
.max-w-\[16rem\] {
  max-width: 16rem;
}
.max-w-\[40\%\] {
  max-width: 40%;
}
.max-w-\[400px\] {
  max-width: 400px;
}
.max-w-\[45\%\] {
  max-width: 45%;
}
.max-w-\[560px\] {
  max-width: 560px;
}
.max-w-\[600px\] {
  max-width: 600px;
}
.max-w-\[620px\] {
  max-width: 620px;
}
.max-w-\[640px\] {
  max-width: 640px;
}
.max-w-\[8\.5rem\] {
  max-width: 8.5rem;
}
.max-w-\[80vw\] {
  max-width: 80vw;
}
.max-w-\[85\%\] {
  max-width: 85%;
}
.max-w-\[calc\(100vw-1\.5rem\)\] {
  max-width: calc(100vw - 1.5rem);
}
.max-w-\[calc\(100vw-1rem\)\] {
  max-width: calc(100vw - 1rem);
}
.max-w-\[calc\(100vw-2rem\)\] {
  max-width: calc(100vw - 2rem);
}
.max-w-full {
  max-width: 100%;
}
.max-w-lg {
  max-width: 32rem;
}
.max-w-md {
  max-width: 28rem;
}
.max-w-none {
  max-width: none;
}
.max-w-prose {
  max-width: 65ch;
}
.max-w-sm {
  max-width: 24rem;
}
.max-w-xl {
  max-width: 36rem;
}
.max-w-xs {
  max-width: 20rem;
}
.flex-1 {
  flex: 1 1 0%;
}
.flex-\[1_1_220px\] {
  flex: 1 1 220px;
}
.flex-\[999_1_460px\] {
  flex: 999 1 460px;
}
.flex-none {
  flex: none;
}
.shrink {
  flex-shrink: 1;
}
.shrink-0 {
  flex-shrink: 0;
}
.grow {
  flex-grow: 1;
}
.basis-52 {
  flex-basis: 13rem;
}
.border-collapse {
  border-collapse: collapse;
}
.origin-center {
  transform-origin: center;
}
.-translate-x-1\/2 {
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-1\/2 {
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-0 {
  --tw-translate-x: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-full {
  --tw-translate-x: 100%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-0 {
  --tw-translate-y: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-1 {
  --tw-translate-y: 0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-\[0\.1em\] {
  --tw-translate-y: 0.1em;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-full {
  --tw-translate-y: 100%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-px {
  --tw-translate-y: 1px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-180 {
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-45 {
  --tw-rotate: 45deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-90 {
  --tw-rotate: 90deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-\[342deg\] {
  --tw-rotate: 342deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-scale-x-100 {
  --tw-scale-x: -1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-x-0 {
  --tw-scale-x: 0;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-x-100 {
  --tw-scale-x: 1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.transform {
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
@keyframes beacon {

  0% {
    transform: scale(1);
    opacity: 0.55;
  }

  40% {
    transform: scale(2.6);
    opacity: 0;
  }

  100% {
    transform: scale(2.6);
    opacity: 0;
  }
}
.animate-beacon {
  animation: beacon 3.2s cubic-bezier(0, 0, 0.2, 1) infinite;
}
@keyframes fade-in {

  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}
.animate-fade-in {
  animation: fade-in 0.2s ease-out;
}
@keyframes pulse {

  50% {
    opacity: .5;
  }
}
.animate-pulse {
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes sheet-up {

  from {
    transform: translateY(100%);
  }

  to {
    transform: translateY(0);
  }
}
.animate-sheet-up {
  animation: sheet-up 0.28s cubic-bezier(0.32, 0.72, 0, 1);
}
@keyframes spin {

  to {
    transform: rotate(360deg);
  }
}
.animate-spin {
  animation: spin 1s linear infinite;
}
.cursor-col-resize {
  cursor: col-resize;
}
.cursor-crosshair {
  cursor: crosshair;
}
.cursor-default {
  cursor: default;
}
.cursor-help {
  cursor: help;
}
.cursor-not-allowed {
  cursor: not-allowed;
}
.cursor-pointer {
  cursor: pointer;
}
.cursor-zoom-in {
  cursor: zoom-in;
}
.touch-none {
  touch-action: none;
}
.select-none {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.select-text {
  -webkit-user-select: text;
     -moz-user-select: text;
          user-select: text;
}
.resize-none {
  resize: none;
}
.resize-y {
  resize: vertical;
}
.resize {
  resize: both;
}
.list-decimal {
  list-style-type: decimal;
}
.list-disc {
  list-style-type: disc;
}
.list-none {
  list-style-type: none;
}
.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.grid-cols-\[1\.5rem_minmax\(0\2c 1fr\)\] {
  grid-template-columns: 1.5rem minmax(0,1fr);
}
.grid-cols-\[5\.5rem_minmax\(0\2c 1fr\)\] {
  grid-template-columns: 5.5rem minmax(0,1fr);
}
.grid-cols-\[minmax\(0\2c 1fr\)_auto\] {
  grid-template-columns: minmax(0,1fr) auto;
}
.flex-row {
  flex-direction: row;
}
.flex-col {
  flex-direction: column;
}
.flex-col-reverse {
  flex-direction: column-reverse;
}
.flex-wrap {
  flex-wrap: wrap;
}
.place-items-center {
  place-items: center;
}
.items-start {
  align-items: flex-start;
}
.items-end {
  align-items: flex-end;
}
.items-center {
  align-items: center;
}
.items-baseline {
  align-items: baseline;
}
.items-stretch {
  align-items: stretch;
}
.justify-start {
  justify-content: flex-start;
}
.justify-end {
  justify-content: flex-end;
}
.justify-center {
  justify-content: center;
}
.justify-between {
  justify-content: space-between;
}
.gap-0 {
  gap: 0px;
}
.gap-0\.5 {
  gap: 0.125rem;
}
.gap-1 {
  gap: 0.25rem;
}
.gap-1\.5 {
  gap: 0.375rem;
}
.gap-10 {
  gap: 2.5rem;
}
.gap-2 {
  gap: 0.5rem;
}
.gap-2\.5 {
  gap: 0.625rem;
}
.gap-3 {
  gap: 0.75rem;
}
.gap-3\.5 {
  gap: 0.875rem;
}
.gap-4 {
  gap: 1rem;
}
.gap-5 {
  gap: 1.25rem;
}
.gap-6 {
  gap: 1.5rem;
}
.gap-8 {
  gap: 2rem;
}
.gap-\[0\.5em\] {
  gap: 0.5em;
}
.gap-\[0\.6em\] {
  gap: 0.6em;
}
.gap-\[2px\] {
  gap: 2px;
}
.gap-\[3px\] {
  gap: 3px;
}
.gap-px {
  gap: 1px;
}
.gap-x-1 {
  -moz-column-gap: 0.25rem;
       column-gap: 0.25rem;
}
.gap-x-2 {
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
}
.gap-x-2\.5 {
  -moz-column-gap: 0.625rem;
       column-gap: 0.625rem;
}
.gap-x-3 {
  -moz-column-gap: 0.75rem;
       column-gap: 0.75rem;
}
.gap-x-4 {
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}
.gap-x-5 {
  -moz-column-gap: 1.25rem;
       column-gap: 1.25rem;
}
.gap-x-6 {
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
}
.gap-x-8 {
  -moz-column-gap: 2rem;
       column-gap: 2rem;
}
.gap-x-\[0\.6em\] {
  -moz-column-gap: 0.6em;
       column-gap: 0.6em;
}
.gap-y-0\.5 {
  row-gap: 0.125rem;
}
.gap-y-1 {
  row-gap: 0.25rem;
}
.gap-y-1\.5 {
  row-gap: 0.375rem;
}
.gap-y-10 {
  row-gap: 2.5rem;
}
.gap-y-2 {
  row-gap: 0.5rem;
}
.gap-y-2\.5 {
  row-gap: 0.625rem;
}
.gap-y-3 {
  row-gap: 0.75rem;
}
.gap-y-\[0\.2em\] {
  row-gap: 0.2em;
}
.space-y-0\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.125rem * var(--tw-space-y-reverse));
}
.space-y-1 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}
.space-y-1\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.375rem * var(--tw-space-y-reverse));
}
.space-y-2 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
}
.space-y-2\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.625rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.625rem * var(--tw-space-y-reverse));
}
.space-y-3 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
}
.space-y-4 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}
.space-y-5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));
}
.space-y-6 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
}
.space-y-7 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.75rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.75rem * var(--tw-space-y-reverse));
}
.space-y-8 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(2rem * var(--tw-space-y-reverse));
}
.space-y-\[0\.6em\] > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.6em * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.6em * var(--tw-space-y-reverse));
}
.divide-y > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-y-reverse: 0;
  border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
}
.divide-black\/10 > :not([hidden]) ~ :not([hidden]) {
  border-color: rgb(0 0 0 / 0.1);
}
.divide-black\/5 > :not([hidden]) ~ :not([hidden]) {
  border-color: rgb(0 0 0 / 0.05);
}
.divide-black\/\[0\.06\] > :not([hidden]) ~ :not([hidden]) {
  border-color: rgb(0 0 0 / 0.06);
}
.divide-black\/\[0\.07\] > :not([hidden]) ~ :not([hidden]) {
  border-color: rgb(0 0 0 / 0.07);
}
.self-start {
  align-self: flex-start;
}
.self-stretch {
  align-self: stretch;
}
.overflow-auto {
  overflow: auto;
}
.overflow-hidden {
  overflow: hidden;
}
.overflow-x-auto {
  overflow-x: auto;
}
.overflow-y-auto {
  overflow-y: auto;
}
.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.whitespace-normal {
  white-space: normal;
}
.whitespace-nowrap {
  white-space: nowrap;
}
.whitespace-pre-line {
  white-space: pre-line;
}
.whitespace-pre-wrap {
  white-space: pre-wrap;
}
.break-words {
  overflow-wrap: break-word;
}
.break-all {
  word-break: break-all;
}
.rounded {
  border-radius: 0.25rem;
}
.rounded-2xl {
  border-radius: 1rem;
}
.rounded-\[1\.25rem\] {
  border-radius: 1.25rem;
}
.rounded-\[10px\] {
  border-radius: 10px;
}
.rounded-\[14px\] {
  border-radius: 14px;
}
.rounded-\[2px\] {
  border-radius: 2px;
}
.rounded-\[inherit\] {
  border-radius: inherit;
}
.rounded-full {
  border-radius: 9999px;
}
.rounded-lg {
  border-radius: 0.5rem;
}
.rounded-md {
  border-radius: 0.375rem;
}
.rounded-sm {
  border-radius: 0.125rem;
}
.rounded-xl {
  border-radius: 0.75rem;
}
.rounded-b-md {
  border-bottom-right-radius: 0.375rem;
  border-bottom-left-radius: 0.375rem;
}
.rounded-b-xl {
  border-bottom-right-radius: 0.75rem;
  border-bottom-left-radius: 0.75rem;
}
.rounded-r-full {
  border-top-right-radius: 9999px;
  border-bottom-right-radius: 9999px;
}
.rounded-r-lg {
  border-top-right-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
}
.rounded-t-2xl {
  border-top-left-radius: 1rem;
  border-top-right-radius: 1rem;
}
.rounded-t-md {
  border-top-left-radius: 0.375rem;
  border-top-right-radius: 0.375rem;
}
.rounded-t-sm {
  border-top-left-radius: 0.125rem;
  border-top-right-radius: 0.125rem;
}
.rounded-bl-lg {
  border-bottom-left-radius: 0.5rem;
}
.rounded-br-md {
  border-bottom-right-radius: 0.375rem;
}
.rounded-tl-md {
  border-top-left-radius: 0.375rem;
}
.rounded-tr-xl {
  border-top-right-radius: 0.75rem;
}
.border {
  border-width: 1px;
}
.border-2 {
  border-width: 2px;
}
.border-y {
  border-top-width: 1px;
  border-bottom-width: 1px;
}
.\!border-l-2 {
  border-left-width: 2px !important;
}
.border-b {
  border-bottom-width: 1px;
}
.border-b-2 {
  border-bottom-width: 2px;
}
.border-e {
  border-inline-end-width: 1px;
}
.border-l {
  border-left-width: 1px;
}
.border-l-2 {
  border-left-width: 2px;
}
.border-r {
  border-right-width: 1px;
}
.border-s {
  border-inline-start-width: 1px;
}
.border-t {
  border-top-width: 1px;
}
.border-t-0 {
  border-top-width: 0px;
}
.border-dashed {
  border-style: dashed;
}
.border-dotted {
  border-style: dotted;
}
.border-none {
  border-style: none;
}
.border-\[color\:var\(--color-error\)\] {
  border-color: var(--color-error);
}
.border-amber-400\/20 {
  border-color: rgb(251 191 36 / 0.2);
}
.border-amber-400\/30 {
  border-color: rgb(251 191 36 / 0.3);
}
.border-amber-400\/40 {
  border-color: rgb(251 191 36 / 0.4);
}
.border-amber-500\/20 {
  border-color: rgb(245 158 11 / 0.2);
}
.border-amber-500\/30 {
  border-color: rgb(245 158 11 / 0.3);
}
.border-amber-500\/40 {
  border-color: rgb(245 158 11 / 0.4);
}
.border-black\/10 {
  border-color: rgb(0 0 0 / 0.1);
}
.border-black\/15 {
  border-color: rgb(0 0 0 / 0.15);
}
.border-black\/20 {
  border-color: rgb(0 0 0 / 0.2);
}
.border-black\/25 {
  border-color: rgb(0 0 0 / 0.25);
}
.border-black\/5 {
  border-color: rgb(0 0 0 / 0.05);
}
.border-black\/\[0\.05\] {
  border-color: rgb(0 0 0 / 0.05);
}
.border-black\/\[0\.06\] {
  border-color: rgb(0 0 0 / 0.06);
}
.border-black\/\[0\.07\] {
  border-color: rgb(0 0 0 / 0.07);
}
.border-black\/\[0\.08\] {
  border-color: rgb(0 0 0 / 0.08);
}
.border-black\/\[0\.09\] {
  border-color: rgb(0 0 0 / 0.09);
}
.border-black\/\[0\.12\] {
  border-color: rgb(0 0 0 / 0.12);
}
.border-brp-brass {
  --tw-border-opacity: 1;
  border-color: rgb(194 133 10 / var(--tw-border-opacity, 1));
}
.border-brp-brass-deep {
  --tw-border-opacity: 1;
  border-color: rgb(138 94 8 / var(--tw-border-opacity, 1));
}
.border-brp-brass\/35 {
  border-color: rgb(194 133 10 / 0.35);
}
.border-brp-brass\/40 {
  border-color: rgb(194 133 10 / 0.4);
}
.border-brp-brass\/50 {
  border-color: rgb(194 133 10 / 0.5);
}
.border-brp-gold {
  --tw-border-opacity: 1;
  border-color: rgb(241 168 23 / var(--tw-border-opacity, 1));
}
.border-brp-gold\/15 {
  border-color: rgb(241 168 23 / 0.15);
}
.border-brp-gold\/20 {
  border-color: rgb(241 168 23 / 0.2);
}
.border-brp-gold\/25 {
  border-color: rgb(241 168 23 / 0.25);
}
.border-brp-gold\/30 {
  border-color: rgb(241 168 23 / 0.3);
}
.border-brp-gold\/40 {
  border-color: rgb(241 168 23 / 0.4);
}
.border-brp-gold\/50 {
  border-color: rgb(241 168 23 / 0.5);
}
.border-brp-gold\/60 {
  border-color: rgb(241 168 23 / 0.6);
}
.border-brp-gold\/70 {
  border-color: rgb(241 168 23 / 0.7);
}
.border-brp-gold\/80 {
  border-color: rgb(241 168 23 / 0.8);
}
.border-brp-green {
  --tw-border-opacity: 1;
  border-color: rgb(42 51 43 / var(--tw-border-opacity, 1));
}
.border-brp-green\/30 {
  border-color: rgb(42 51 43 / 0.3);
}
.border-brp-white\/10 {
  border-color: rgb(33 29 22 / 0.1);
}
.border-brp-white\/15 {
  border-color: rgb(33 29 22 / 0.15);
}
.border-brp-white\/20 {
  border-color: rgb(33 29 22 / 0.2);
}
.border-brp-white\/30 {
  border-color: rgb(33 29 22 / 0.3);
}
.border-brp-white\/55 {
  border-color: rgb(33 29 22 / 0.55);
}
.border-emerald-400\/40 {
  border-color: rgb(52 211 153 / 0.4);
}
.border-emerald-500\/30 {
  border-color: rgb(16 185 129 / 0.3);
}
.border-emerald-500\/40 {
  border-color: rgb(16 185 129 / 0.4);
}
.border-green-500\/30 {
  border-color: rgb(34 197 94 / 0.3);
}
.border-lime-400\/40 {
  border-color: rgb(163 230 53 / 0.4);
}
.border-orange-400\/40 {
  border-color: rgb(251 146 60 / 0.4);
}
.border-orange-500\/30 {
  border-color: rgb(249 115 22 / 0.3);
}
.border-purple-500\/30 {
  border-color: rgb(168 85 247 / 0.3);
}
.border-red-400\/25 {
  border-color: rgb(248 113 113 / 0.25);
}
.border-red-400\/40 {
  border-color: rgb(248 113 113 / 0.4);
}
.border-red-500\/20 {
  border-color: rgb(239 68 68 / 0.2);
}
.border-red-500\/25 {
  border-color: rgb(239 68 68 / 0.25);
}
.border-red-500\/30 {
  border-color: rgb(239 68 68 / 0.3);
}
.border-red-500\/40 {
  border-color: rgb(239 68 68 / 0.4);
}
.border-sky-500\/30 {
  border-color: rgb(14 165 233 / 0.3);
}
.border-transparent {
  border-color: transparent;
}
.border-yellow-500\/30 {
  border-color: rgb(234 179 8 / 0.3);
}
.\!border-l-brp-gold {
  --tw-border-opacity: 1 !important;
  border-left-color: rgb(241 168 23 / var(--tw-border-opacity, 1)) !important;
}
.border-t-brp-gold {
  --tw-border-opacity: 1;
  border-top-color: rgb(241 168 23 / var(--tw-border-opacity, 1));
}
.bg-\[\#5865F2\] {
  --tw-bg-opacity: 1;
  background-color: rgb(88 101 242 / var(--tw-bg-opacity, 1));
}
.bg-\[\#5865F2\]\/15 {
  background-color: rgb(88 101 242 / 0.15);
}
.bg-\[\#f2ebd9\] {
  --tw-bg-opacity: 1;
  background-color: rgb(242 235 217 / var(--tw-bg-opacity, 1));
}
.bg-\[\#f4eddc\] {
  --tw-bg-opacity: 1;
  background-color: rgb(244 237 220 / var(--tw-bg-opacity, 1));
}
.bg-\[\#fbf8f1\] {
  --tw-bg-opacity: 1;
  background-color: rgb(251 248 241 / var(--tw-bg-opacity, 1));
}
.bg-\[color\:var\(--color-error\)\] {
  background-color: var(--color-error);
}
.bg-accent {
  background-color: var(--color-accent);
}
.bg-amber-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(251 191 36 / var(--tw-bg-opacity, 1));
}
.bg-amber-400\/10 {
  background-color: rgb(251 191 36 / 0.1);
}
.bg-amber-400\/15 {
  background-color: rgb(251 191 36 / 0.15);
}
.bg-amber-400\/5 {
  background-color: rgb(251 191 36 / 0.05);
}
.bg-amber-500\/10 {
  background-color: rgb(245 158 11 / 0.1);
}
.bg-amber-500\/15 {
  background-color: rgb(245 158 11 / 0.15);
}
.bg-base-100 {
  background-color: var(--color-base-100);
}
.bg-base-200 {
  background-color: var(--color-base-200);
}
.bg-base-300 {
  background-color: var(--color-base-300);
}
.bg-black {
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
}
.bg-black\/10 {
  background-color: rgb(0 0 0 / 0.1);
}
.bg-black\/15 {
  background-color: rgb(0 0 0 / 0.15);
}
.bg-black\/20 {
  background-color: rgb(0 0 0 / 0.2);
}
.bg-black\/25 {
  background-color: rgb(0 0 0 / 0.25);
}
.bg-black\/30 {
  background-color: rgb(0 0 0 / 0.3);
}
.bg-black\/40 {
  background-color: rgb(0 0 0 / 0.4);
}
.bg-black\/5 {
  background-color: rgb(0 0 0 / 0.05);
}
.bg-black\/50 {
  background-color: rgb(0 0 0 / 0.5);
}
.bg-black\/60 {
  background-color: rgb(0 0 0 / 0.6);
}
.bg-black\/70 {
  background-color: rgb(0 0 0 / 0.7);
}
.bg-black\/80 {
  background-color: rgb(0 0 0 / 0.8);
}
.bg-black\/85 {
  background-color: rgb(0 0 0 / 0.85);
}
.bg-black\/\[\.03\] {
  background-color: rgb(0 0 0 / .03);
}
.bg-black\/\[0\.015\] {
  background-color: rgb(0 0 0 / 0.015);
}
.bg-black\/\[0\.02\] {
  background-color: rgb(0 0 0 / 0.02);
}
.bg-black\/\[0\.03\] {
  background-color: rgb(0 0 0 / 0.03);
}
.bg-black\/\[0\.04\] {
  background-color: rgb(0 0 0 / 0.04);
}
.bg-black\/\[0\.05\] {
  background-color: rgb(0 0 0 / 0.05);
}
.bg-black\/\[0\.06\] {
  background-color: rgb(0 0 0 / 0.06);
}
.bg-black\/\[0\.07\] {
  background-color: rgb(0 0 0 / 0.07);
}
.bg-black\/\[0\.08\] {
  background-color: rgb(0 0 0 / 0.08);
}
.bg-black\/\[0\.09\] {
  background-color: rgb(0 0 0 / 0.09);
}
.bg-brp-brass-deep {
  --tw-bg-opacity: 1;
  background-color: rgb(138 94 8 / var(--tw-bg-opacity, 1));
}
.bg-brp-gold {
  --tw-bg-opacity: 1;
  background-color: rgb(241 168 23 / var(--tw-bg-opacity, 1));
}
.bg-brp-gold\/10 {
  background-color: rgb(241 168 23 / 0.1);
}
.bg-brp-gold\/15 {
  background-color: rgb(241 168 23 / 0.15);
}
.bg-brp-gold\/20 {
  background-color: rgb(241 168 23 / 0.2);
}
.bg-brp-gold\/25 {
  background-color: rgb(241 168 23 / 0.25);
}
.bg-brp-gold\/30 {
  background-color: rgb(241 168 23 / 0.3);
}
.bg-brp-gold\/45 {
  background-color: rgb(241 168 23 / 0.45);
}
.bg-brp-gold\/5 {
  background-color: rgb(241 168 23 / 0.05);
}
.bg-brp-gold\/60 {
  background-color: rgb(241 168 23 / 0.6);
}
.bg-brp-gold\/70 {
  background-color: rgb(241 168 23 / 0.7);
}
.bg-brp-gold\/80 {
  background-color: rgb(241 168 23 / 0.8);
}
.bg-brp-gold\/\[0\.05\] {
  background-color: rgb(241 168 23 / 0.05);
}
.bg-brp-gold\/\[0\.06\] {
  background-color: rgb(241 168 23 / 0.06);
}
.bg-brp-gold\/\[0\.12\] {
  background-color: rgb(241 168 23 / 0.12);
}
.bg-brp-gold\/\[0\.15\] {
  background-color: rgb(241 168 23 / 0.15);
}
.bg-brp-gold\/\[0\.18\] {
  background-color: rgb(241 168 23 / 0.18);
}
.bg-brp-green {
  --tw-bg-opacity: 1;
  background-color: rgb(42 51 43 / var(--tw-bg-opacity, 1));
}
.bg-brp-green-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(42 51 43 / var(--tw-bg-opacity, 1));
}
.bg-brp-green\/25 {
  background-color: rgb(42 51 43 / 0.25);
}
.bg-brp-ink {
  --tw-bg-opacity: 1;
  background-color: rgb(236 228 212 / var(--tw-bg-opacity, 1));
}
.bg-brp-ink\/15 {
  background-color: rgb(236 228 212 / 0.15);
}
.bg-brp-ink\/20 {
  background-color: rgb(236 228 212 / 0.2);
}
.bg-brp-ink\/30 {
  background-color: rgb(236 228 212 / 0.3);
}
.bg-brp-ink\/40 {
  background-color: rgb(236 228 212 / 0.4);
}
.bg-brp-ink\/60 {
  background-color: rgb(236 228 212 / 0.6);
}
.bg-brp-ink\/90 {
  background-color: rgb(236 228 212 / 0.9);
}
.bg-brp-paper {
  --tw-bg-opacity: 1;
  background-color: rgb(246 241 230 / var(--tw-bg-opacity, 1));
}
.bg-brp-paper\/10 {
  background-color: rgb(246 241 230 / 0.1);
}
.bg-brp-paper\/15 {
  background-color: rgb(246 241 230 / 0.15);
}
.bg-brp-paper\/30 {
  background-color: rgb(246 241 230 / 0.3);
}
.bg-brp-paper\/40 {
  background-color: rgb(246 241 230 / 0.4);
}
.bg-brp-paper\/60 {
  background-color: rgb(246 241 230 / 0.6);
}
.bg-brp-paper\/95 {
  background-color: rgb(246 241 230 / 0.95);
}
.bg-brp-white\/10 {
  background-color: rgb(33 29 22 / 0.1);
}
.bg-brp-white\/40 {
  background-color: rgb(33 29 22 / 0.4);
}
.bg-emerald-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(52 211 153 / var(--tw-bg-opacity, 1));
}
.bg-emerald-500\/10 {
  background-color: rgb(16 185 129 / 0.1);
}
.bg-emerald-500\/15 {
  background-color: rgb(16 185 129 / 0.15);
}
.bg-error {
  background-color: var(--color-error);
}
.bg-green-500\/10 {
  background-color: rgb(34 197 94 / 0.1);
}
.bg-info {
  background-color: var(--color-info);
}
.bg-neutral {
  background-color: var(--color-neutral);
}
.bg-orange-500\/15 {
  background-color: rgb(249 115 22 / 0.15);
}
.bg-primary {
  background-color: var(--color-primary);
}
.bg-purple-500\/15 {
  background-color: rgb(168 85 247 / 0.15);
}
.bg-red-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(248 113 113 / var(--tw-bg-opacity, 1));
}
.bg-red-400\/80 {
  background-color: rgb(248 113 113 / 0.8);
}
.bg-red-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
}
.bg-red-500\/10 {
  background-color: rgb(239 68 68 / 0.1);
}
.bg-red-500\/15 {
  background-color: rgb(239 68 68 / 0.15);
}
.bg-red-500\/\[0\.06\] {
  background-color: rgb(239 68 68 / 0.06);
}
.bg-secondary {
  background-color: var(--color-secondary);
}
.bg-sky-500\/15 {
  background-color: rgb(14 165 233 / 0.15);
}
.bg-success {
  background-color: var(--color-success);
}
.bg-transparent {
  background-color: transparent;
}
.bg-warning {
  background-color: var(--color-warning);
}
.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.bg-yellow-500\/10 {
  background-color: rgb(234 179 8 / 0.1);
}
.bg-gradient-to-b {
  background-image: linear-gradient(to bottom, var(--tw-gradient-stops));
}
.bg-gradient-to-br {
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}
.bg-gradient-to-r {
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}
.from-\[\#c3ccbf\] {
  --tw-gradient-from: #c3ccbf var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(195 204 191 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#c9c2b4\] {
  --tw-gradient-from: #c9c2b4 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(201 194 180 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#d2b8b2\] {
  --tw-gradient-from: #d2b8b2 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(210 184 178 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#d3c4a4\] {
  --tw-gradient-from: #d3c4a4 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(211 196 164 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#d8c79b\] {
  --tw-gradient-from: #d8c79b var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(216 199 155 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-brp-gold {
  --tw-gradient-from: #f1a817 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(241 168 23 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-brp-gold\/10 {
  --tw-gradient-from: rgb(241 168 23 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(241 168 23 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-brp-gold\/40 {
  --tw-gradient-from: rgb(241 168 23 / 0.4) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(241 168 23 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-brp-gold\/5 {
  --tw-gradient-from: rgb(241 168 23 / 0.05) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(241 168 23 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-brp-gold\/\[0\.07\] {
  --tw-gradient-from: rgb(241 168 23 / 0.07) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(241 168 23 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-transparent {
  --tw-gradient-from: transparent var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-50\% {
  --tw-gradient-from-position: 50%;
}
.via-brp-gold\/20 {
  --tw-gradient-to: rgb(241 168 23 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(241 168 23 / 0.2) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.to-\[\#a5b19f\] {
  --tw-gradient-to: #a5b19f var(--tw-gradient-to-position);
}
.to-\[\#ada492\] {
  --tw-gradient-to: #ada492 var(--tw-gradient-to-position);
}
.to-\[\#b99a92\] {
  --tw-gradient-to: #b99a92 var(--tw-gradient-to-position);
}
.to-\[\#bda882\] {
  --tw-gradient-to: #bda882 var(--tw-gradient-to-position);
}
.to-\[\#c0aa74\] {
  --tw-gradient-to: #c0aa74 var(--tw-gradient-to-position);
}
.to-brp-gold-600 {
  --tw-gradient-to: #c98a0e var(--tw-gradient-to-position);
}
.to-brp-gold\/10 {
  --tw-gradient-to: rgb(241 168 23 / 0.1) var(--tw-gradient-to-position);
}
.to-brp-paper\/40 {
  --tw-gradient-to: rgb(246 241 230 / 0.4) var(--tw-gradient-to-position);
}
.to-transparent {
  --tw-gradient-to: transparent var(--tw-gradient-to-position);
}
.to-50\% {
  --tw-gradient-to-position: 50%;
}
.fill-current {
  fill: currentColor;
}
.object-contain {
  -o-object-fit: contain;
     object-fit: contain;
}
.object-cover {
  -o-object-fit: cover;
     object-fit: cover;
}
.p-0 {
  padding: 0px;
}
.p-0\.5 {
  padding: 0.125rem;
}
.p-1 {
  padding: 0.25rem;
}
.p-1\.5 {
  padding: 0.375rem;
}
.p-2 {
  padding: 0.5rem;
}
.p-2\.5 {
  padding: 0.625rem;
}
.p-3 {
  padding: 0.75rem;
}
.p-3\.5 {
  padding: 0.875rem;
}
.p-4 {
  padding: 1rem;
}
.p-5 {
  padding: 1.25rem;
}
.p-6 {
  padding: 1.5rem;
}
.p-8 {
  padding: 2rem;
}
.p-px {
  padding: 1px;
}
.px-0 {
  padding-left: 0px;
  padding-right: 0px;
}
.px-0\.5 {
  padding-left: 0.125rem;
  padding-right: 0.125rem;
}
.px-1 {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}
.px-1\.5 {
  padding-left: 0.375rem;
  padding-right: 0.375rem;
}
.px-10 {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}
.px-2 {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.px-2\.5 {
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}
.px-3 {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}
.px-3\.5 {
  padding-left: 0.875rem;
  padding-right: 0.875rem;
}
.px-4 {
  padding-left: 1rem;
  padding-right: 1rem;
}
.px-5 {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
.px-6 {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.px-\[0\.4em\] {
  padding-left: 0.4em;
  padding-right: 0.4em;
}
.px-\[0\.5em\] {
  padding-left: 0.5em;
  padding-right: 0.5em;
}
.px-\[6vw\] {
  padding-left: 6vw;
  padding-right: 6vw;
}
.py-0\.5 {
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
}
.py-1 {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
.py-1\.5 {
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}
.py-10 {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
.py-12 {
  padding-top: 3rem;
  padding-bottom: 3rem;
}
.py-14 {
  padding-top: 3.5rem;
  padding-bottom: 3.5rem;
}
.py-16 {
  padding-top: 4rem;
  padding-bottom: 4rem;
}
.py-2 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.py-2\.5 {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}
.py-20 {
  padding-top: 5rem;
  padding-bottom: 5rem;
}
.py-24 {
  padding-top: 6rem;
  padding-bottom: 6rem;
}
.py-3 {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
.py-3\.5 {
  padding-top: 0.875rem;
  padding-bottom: 0.875rem;
}
.py-4 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.py-5 {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}
.py-6 {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
.py-8 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.py-\[0\.15em\] {
  padding-top: 0.15em;
  padding-bottom: 0.15em;
}
.py-\[0\.35em\] {
  padding-top: 0.35em;
  padding-bottom: 0.35em;
}
.py-\[0\.7em\] {
  padding-top: 0.7em;
  padding-bottom: 0.7em;
}
.py-\[6vh\] {
  padding-top: 6vh;
  padding-bottom: 6vh;
}
.py-px {
  padding-top: 1px;
  padding-bottom: 1px;
}
.pb-0\.5 {
  padding-bottom: 0.125rem;
}
.pb-1 {
  padding-bottom: 0.25rem;
}
.pb-1\.5 {
  padding-bottom: 0.375rem;
}
.pb-10 {
  padding-bottom: 2.5rem;
}
.pb-16 {
  padding-bottom: 4rem;
}
.pb-2 {
  padding-bottom: 0.5rem;
}
.pb-2\.5 {
  padding-bottom: 0.625rem;
}
.pb-3 {
  padding-bottom: 0.75rem;
}
.pb-4 {
  padding-bottom: 1rem;
}
.pb-5 {
  padding-bottom: 1.25rem;
}
.pb-6 {
  padding-bottom: 1.5rem;
}
.pb-8 {
  padding-bottom: 2rem;
}
.pb-\[7px\] {
  padding-bottom: 7px;
}
.pb-\[env\(safe-area-inset-bottom\)\] {
  padding-bottom: env(safe-area-inset-bottom);
}
.pb-px {
  padding-bottom: 1px;
}
.pe-1 {
  padding-inline-end: 0.25rem;
}
.pe-2 {
  padding-inline-end: 0.5rem;
}
.pe-8 {
  padding-inline-end: 2rem;
}
.pe-9 {
  padding-inline-end: 2.25rem;
}
.pl-1 {
  padding-left: 0.25rem;
}
.pl-2 {
  padding-left: 0.5rem;
}
.pl-2\.5 {
  padding-left: 0.625rem;
}
.pl-3 {
  padding-left: 0.75rem;
}
.pl-4 {
  padding-left: 1rem;
}
.pl-5 {
  padding-left: 1.25rem;
}
.pl-6 {
  padding-left: 1.5rem;
}
.pl-8 {
  padding-left: 2rem;
}
.pl-9 {
  padding-left: 2.25rem;
}
.pr-1 {
  padding-right: 0.25rem;
}
.pr-12 {
  padding-right: 3rem;
}
.pr-16 {
  padding-right: 4rem;
}
.pr-2 {
  padding-right: 0.5rem;
}
.pr-20 {
  padding-right: 5rem;
}
.pr-3 {
  padding-right: 0.75rem;
}
.pr-32 {
  padding-right: 8rem;
}
.pr-4 {
  padding-right: 1rem;
}
.pr-8 {
  padding-right: 2rem;
}
.pr-9 {
  padding-right: 2.25rem;
}
.ps-2\.5 {
  padding-inline-start: 0.625rem;
}
.ps-3 {
  padding-inline-start: 0.75rem;
}
.ps-3\.5 {
  padding-inline-start: 0.875rem;
}
.ps-4 {
  padding-inline-start: 1rem;
}
.ps-8 {
  padding-inline-start: 2rem;
}
.ps-9 {
  padding-inline-start: 2.25rem;
}
.pt-0\.5 {
  padding-top: 0.125rem;
}
.pt-1 {
  padding-top: 0.25rem;
}
.pt-1\.5 {
  padding-top: 0.375rem;
}
.pt-10 {
  padding-top: 2.5rem;
}
.pt-12 {
  padding-top: 3rem;
}
.pt-2 {
  padding-top: 0.5rem;
}
.pt-2\.5 {
  padding-top: 0.625rem;
}
.pt-3 {
  padding-top: 0.75rem;
}
.pt-32 {
  padding-top: 8rem;
}
.pt-4 {
  padding-top: 1rem;
}
.pt-5 {
  padding-top: 1.25rem;
}
.pt-6 {
  padding-top: 1.5rem;
}
.pt-7 {
  padding-top: 1.75rem;
}
.pt-8 {
  padding-top: 2rem;
}
.pt-\[12vh\] {
  padding-top: 12vh;
}
.text-left {
  text-align: left;
}
.text-center {
  text-align: center;
}
.text-right {
  text-align: right;
}
.text-start {
  text-align: start;
}
.align-top {
  vertical-align: top;
}
.align-middle {
  vertical-align: middle;
}
.align-bottom {
  vertical-align: bottom;
}
.font-display {
  font-family: "Cormorant Garamond", Georgia, serif;
}
.font-greek {
  font-family: "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;
}
.font-hebrew {
  font-family: "SBL Hebrew", "Frank Ruhl Libre", "Times New Roman", David, serif;
}
.font-mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
.font-sans {
  font-family: "Hanken Grotesk", ui-sans-serif, system-ui, sans-serif;
}
.font-serif {
  font-family: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
}
.\!text-base {
  font-size: 1rem !important;
  line-height: 1.5rem !important;
}
.text-2xl {
  font-size: 1.5rem;
  line-height: 2rem;
}
.text-2xs {
  font-size: 0.6rem;
  line-height: 0.85rem;
}
.text-3xl {
  font-size: 2rem;
  line-height: 2.25rem;
}
.text-4xl {
  font-size: 2.25rem;
  line-height: 2.5rem;
}
.text-5xl {
  font-size: 3rem;
  line-height: 1;
}
.text-\[0\.55em\] {
  font-size: 0.55em;
}
.text-\[0\.63rem\] {
  font-size: 0.63rem;
}
.text-\[0\.6em\] {
  font-size: 0.6em;
}
.text-\[0\.7em\] {
  font-size: 0.7em;
}
.text-\[0\.85em\] {
  font-size: 0.85em;
}
.text-\[0\.92em\] {
  font-size: 0.92em;
}
.text-\[0\.95rem\] {
  font-size: 0.95rem;
}
.text-\[0\.9em\] {
  font-size: 0.9em;
}
.text-\[1\.05em\] {
  font-size: 1.05em;
}
.text-\[1\.0625rem\] {
  font-size: 1.0625rem;
}
.text-\[1\.125rem\] {
  font-size: 1.125rem;
}
.text-\[1\.15em\] {
  font-size: 1.15em;
}
.text-\[1\.25em\] {
  font-size: 1.25em;
}
.text-\[1\.35em\] {
  font-size: 1.35em;
}
.text-\[1\.6em\] {
  font-size: 1.6em;
}
.text-\[10\.5px\] {
  font-size: 10.5px;
}
.text-\[10px\] {
  font-size: 10px;
}
.text-\[11\.5px\] {
  font-size: 11.5px;
}
.text-\[11px\] {
  font-size: 11px;
}
.text-\[12\.5px\] {
  font-size: 12.5px;
}
.text-\[12px\] {
  font-size: 12px;
}
.text-\[13\.5px\] {
  font-size: 13.5px;
}
.text-\[13px\] {
  font-size: 13px;
}
.text-\[15px\] {
  font-size: 15px;
}
.text-\[22px\] {
  font-size: 22px;
}
.text-\[2em\] {
  font-size: 2em;
}
.text-\[2rem\] {
  font-size: 2rem;
}
.text-base {
  font-size: 1rem;
  line-height: 1.5rem;
}
.text-body {
  font-size: 1rem;
  line-height: 1.6;
}
.text-body-sm {
  font-size: 0.95rem;
  line-height: 1.5;
}
.text-body-xs {
  font-size: 0.85rem;
  line-height: 1.5;
}
.text-caption {
  font-size: 0.7rem;
  line-height: 1.2;
  letter-spacing: 0.1em;
  font-weight: 600;
}
.text-headline {
  font-size: 1.7rem;
  line-height: 1.1;
  font-weight: 500;
}
.text-label {
  font-size: 0.72rem;
  line-height: 1.2;
  letter-spacing: 0.3em;
  font-weight: 600;
}
.text-lg {
  font-size: 1.2rem;
  line-height: 1.75rem;
}
.text-micro {
  font-size: 0.6rem;
  line-height: 1.2;
  letter-spacing: 0.14em;
  font-weight: 600;
}
.text-nav {
  font-size: 0.72rem;
  line-height: 1;
  letter-spacing: 0.145em;
  font-weight: 600;
}
.text-page-title {
  font-size: 2rem;
  line-height: 1.2;
}
.text-sm {
  font-size: 0.85rem;
  line-height: 1.25rem;
}
.text-title {
  font-size: 1.25rem;
  line-height: 1.2;
  font-weight: 500;
}
.text-xl {
  font-size: 1.25rem;
  line-height: 1.75rem;
}
.text-xs {
  font-size: 0.72rem;
  line-height: 1rem;
}
.font-bold {
  font-weight: 700;
}
.font-extrabold {
  font-weight: 800;
}
.font-medium {
  font-weight: 500;
}
.font-normal {
  font-weight: 400;
}
.font-semibold {
  font-weight: 600;
}
.uppercase {
  text-transform: uppercase;
}
.lowercase {
  text-transform: lowercase;
}
.capitalize {
  text-transform: capitalize;
}
.normal-case {
  text-transform: none;
}
.italic {
  font-style: italic;
}
.not-italic {
  font-style: normal;
}
.ordinal {
  --tw-ordinal: ordinal;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}
.lining-nums {
  --tw-numeric-figure: lining-nums;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}
.tabular-nums {
  --tw-numeric-spacing: tabular-nums;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}
.leading-6 {
  line-height: 1.5rem;
}
.leading-\[1\.05\] {
  line-height: 1.05;
}
.leading-\[1\.9\] {
  line-height: 1.9;
}
.leading-\[2\] {
  line-height: 2;
}
.leading-loose {
  line-height: 2;
}
.leading-none {
  line-height: 1;
}
.leading-relaxed {
  line-height: 1.625;
}
.leading-snug {
  line-height: 1.375;
}
.leading-tight {
  line-height: 1.25;
}
.tracking-\[0\.08em\] {
  letter-spacing: 0.08em;
}
.tracking-\[0\.12em\] {
  letter-spacing: 0.12em;
}
.tracking-\[0\.13em\] {
  letter-spacing: 0.13em;
}
.tracking-\[0\.14em\] {
  letter-spacing: 0.14em;
}
.tracking-\[0\.16em\] {
  letter-spacing: 0.16em;
}
.tracking-\[0\.18em\] {
  letter-spacing: 0.18em;
}
.tracking-\[0\.1em\] {
  letter-spacing: 0.1em;
}
.tracking-\[0\.32em\] {
  letter-spacing: 0.32em;
}
.tracking-\[0\.3em\] {
  letter-spacing: 0.3em;
}
.tracking-normal {
  letter-spacing: 0em;
}
.tracking-tight {
  letter-spacing: -0.025em;
}
.tracking-wide {
  letter-spacing: 0.025em;
}
.tracking-wider {
  letter-spacing: 0.05em;
}
.tracking-widest {
  letter-spacing: 0.1em;
}
.\!text-emerald-300 {
  --tw-text-opacity: 1 !important;
  color: rgb(110 231 183 / var(--tw-text-opacity, 1)) !important;
}
.text-\[\#7d88f7\] {
  --tw-text-opacity: 1;
  color: rgb(125 136 247 / var(--tw-text-opacity, 1));
}
.text-\[color\:var\(--color-error\)\] {
  color: var(--color-error);
}
.text-accent-content {
  color: var(--color-accent-content);
}
.text-amber-200 {
  --tw-text-opacity: 1;
  color: rgb(253 230 138 / var(--tw-text-opacity, 1));
}
.text-amber-200\/60 {
  color: rgb(253 230 138 / 0.6);
}
.text-amber-200\/70 {
  color: rgb(253 230 138 / 0.7);
}
.text-amber-200\/90 {
  color: rgb(253 230 138 / 0.9);
}
.text-amber-300 {
  --tw-text-opacity: 1;
  color: rgb(252 211 77 / var(--tw-text-opacity, 1));
}
.text-amber-300\/80 {
  color: rgb(252 211 77 / 0.8);
}
.text-amber-300\/90 {
  color: rgb(252 211 77 / 0.9);
}
.text-amber-400 {
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}
.text-base-content {
  color: var(--color-base-content);
}
.text-brp-brass {
  --tw-text-opacity: 1;
  color: rgb(194 133 10 / var(--tw-text-opacity, 1));
}
.text-brp-brass-deep {
  --tw-text-opacity: 1;
  color: rgb(138 94 8 / var(--tw-text-opacity, 1));
}
.text-brp-brass\/70 {
  color: rgb(194 133 10 / 0.7);
}
.text-brp-gold {
  --tw-text-opacity: 1;
  color: rgb(241 168 23 / var(--tw-text-opacity, 1));
}
.text-brp-gold-400 {
  --tw-text-opacity: 1;
  color: rgb(243 178 47 / var(--tw-text-opacity, 1));
}
.text-brp-gold-600 {
  --tw-text-opacity: 1;
  color: rgb(201 138 14 / var(--tw-text-opacity, 1));
}
.text-brp-gold\/40 {
  color: rgb(241 168 23 / 0.4);
}
.text-brp-gold\/50 {
  color: rgb(241 168 23 / 0.5);
}
.text-brp-gold\/60 {
  color: rgb(241 168 23 / 0.6);
}
.text-brp-gold\/70 {
  color: rgb(241 168 23 / 0.7);
}
.text-brp-gold\/75 {
  color: rgb(241 168 23 / 0.75);
}
.text-brp-gold\/80 {
  color: rgb(241 168 23 / 0.8);
}
.text-brp-gold\/85 {
  color: rgb(241 168 23 / 0.85);
}
.text-brp-gold\/90 {
  color: rgb(241 168 23 / 0.9);
}
.text-brp-green {
  --tw-text-opacity: 1;
  color: rgb(42 51 43 / var(--tw-text-opacity, 1));
}
.text-brp-green-200 {
  --tw-text-opacity: 1;
  color: rgb(174 182 175 / var(--tw-text-opacity, 1));
}
.text-brp-white {
  --tw-text-opacity: 1;
  color: rgb(33 29 22 / var(--tw-text-opacity, 1));
}
.text-brp-white\/20 {
  color: rgb(33 29 22 / 0.2);
}
.text-brp-white\/25 {
  color: rgb(33 29 22 / 0.25);
}
.text-brp-white\/30 {
  color: rgb(33 29 22 / 0.3);
}
.text-brp-white\/35 {
  color: rgb(33 29 22 / 0.35);
}
.text-brp-white\/40 {
  color: rgb(33 29 22 / 0.4);
}
.text-brp-white\/45 {
  color: rgb(33 29 22 / 0.45);
}
.text-brp-white\/50 {
  color: rgb(33 29 22 / 0.5);
}
.text-brp-white\/55 {
  color: rgb(33 29 22 / 0.55);
}
.text-brp-white\/60 {
  color: rgb(33 29 22 / 0.6);
}
.text-brp-white\/65 {
  color: rgb(33 29 22 / 0.65);
}
.text-brp-white\/70 {
  color: rgb(33 29 22 / 0.7);
}
.text-brp-white\/75 {
  color: rgb(33 29 22 / 0.75);
}
.text-brp-white\/80 {
  color: rgb(33 29 22 / 0.8);
}
.text-brp-white\/85 {
  color: rgb(33 29 22 / 0.85);
}
.text-brp-white\/90 {
  color: rgb(33 29 22 / 0.9);
}
.text-brp-white\/95 {
  color: rgb(33 29 22 / 0.95);
}
.text-emerald-300 {
  --tw-text-opacity: 1;
  color: rgb(110 231 183 / var(--tw-text-opacity, 1));
}
.text-emerald-300\/70 {
  color: rgb(110 231 183 / 0.7);
}
.text-emerald-300\/80 {
  color: rgb(110 231 183 / 0.8);
}
.text-emerald-300\/90 {
  color: rgb(110 231 183 / 0.9);
}
.text-emerald-400 {
  --tw-text-opacity: 1;
  color: rgb(52 211 153 / var(--tw-text-opacity, 1));
}
.text-error {
  color: var(--color-error);
}
.text-error-content {
  color: var(--color-error-content);
}
.text-green-300 {
  --tw-text-opacity: 1;
  color: rgb(134 239 172 / var(--tw-text-opacity, 1));
}
.text-info-content {
  color: var(--color-info-content);
}
.text-inherit {
  color: inherit;
}
.text-lime-300 {
  --tw-text-opacity: 1;
  color: rgb(190 242 100 / var(--tw-text-opacity, 1));
}
.text-lime-400 {
  --tw-text-opacity: 1;
  color: rgb(163 230 53 / var(--tw-text-opacity, 1));
}
.text-neutral-content {
  color: var(--color-neutral-content);
}
.text-orange-300 {
  --tw-text-opacity: 1;
  color: rgb(253 186 116 / var(--tw-text-opacity, 1));
}
.text-orange-400 {
  --tw-text-opacity: 1;
  color: rgb(251 146 60 / var(--tw-text-opacity, 1));
}
.text-primary-content {
  color: var(--color-primary-content);
}
.text-purple-300 {
  --tw-text-opacity: 1;
  color: rgb(216 180 254 / var(--tw-text-opacity, 1));
}
.text-red-200 {
  --tw-text-opacity: 1;
  color: rgb(254 202 202 / var(--tw-text-opacity, 1));
}
.text-red-200\/90 {
  color: rgb(254 202 202 / 0.9);
}
.text-red-300 {
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}
.text-red-300\/70 {
  color: rgb(252 165 165 / 0.7);
}
.text-red-300\/80 {
  color: rgb(252 165 165 / 0.8);
}
.text-red-400 {
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}
.text-red-700 {
  --tw-text-opacity: 1;
  color: rgb(185 28 28 / var(--tw-text-opacity, 1));
}
.text-secondary-content {
  color: var(--color-secondary-content);
}
.text-sky-300 {
  --tw-text-opacity: 1;
  color: rgb(125 211 252 / var(--tw-text-opacity, 1));
}
.text-success-content {
  color: var(--color-success-content);
}
.text-warning-content {
  color: var(--color-warning-content);
}
.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.text-yellow-200 {
  --tw-text-opacity: 1;
  color: rgb(254 240 138 / var(--tw-text-opacity, 1));
}
.underline {
  text-decoration-line: underline;
}
.line-through {
  text-decoration-line: line-through;
}
.decoration-black\/20 {
  text-decoration-color: rgb(0 0 0 / 0.2);
}
.decoration-brp-brass-deep\/40 {
  text-decoration-color: rgb(138 94 8 / 0.4);
}
.decoration-dotted {
  text-decoration-style: dotted;
}
.underline-offset-2 {
  text-underline-offset: 2px;
}
.underline-offset-4 {
  text-underline-offset: 4px;
}
.antialiased {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.placeholder-black\/25::-moz-placeholder {
  color: rgb(0 0 0 / 0.25);
}
.placeholder-black\/25::placeholder {
  color: rgb(0 0 0 / 0.25);
}
.accent-brp-gold {
  accent-color: #f1a817;
}
.opacity-0 {
  opacity: 0;
}
.opacity-100 {
  opacity: 1;
}
.opacity-40 {
  opacity: 0.4;
}
.opacity-50 {
  opacity: 0.5;
}
.opacity-60 {
  opacity: 0.6;
}
.opacity-70 {
  opacity: 0.7;
}
.opacity-80 {
  opacity: 0.8;
}
.shadow {
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-2xl {
  --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_0_3px_rgba\(241\2c 168\2c 23\2c 0\.16\)\] {
  --tw-shadow: 0 0 0 3px rgba(241,168,23,0.16);
  --tw-shadow-colored: 0 0 0 3px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_0_3px_rgba\(241\2c 168\2c 23\2c 0\.18\)\] {
  --tw-shadow: 0 0 0 3px rgba(241,168,23,0.18);
  --tw-shadow-colored: 0 0 0 3px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_0_9999px_rgba\(0\2c 0\2c 0\2c 0\.45\)\] {
  --tw-shadow: 0 0 0 9999px rgba(0,0,0,0.45);
  --tw-shadow-colored: 0 0 0 9999px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_10px_30px_-8px_rgba\(241\2c 168\2c 23\2c 0\.55\)\] {
  --tw-shadow: 0 10px 30px -8px rgba(241,168,23,0.55);
  --tw-shadow-colored: 0 10px 30px -8px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_16px_40px_-20px_rgba\(60\2c 45\2c 20\2c 0\.4\)\] {
  --tw-shadow: 0 16px 40px -20px rgba(60,45,20,0.4);
  --tw-shadow-colored: 0 16px 40px -20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[inset_0_0_0_1px_rgba\(194\2c 133\2c 10\2c 0\.3\)\] {
  --tw-shadow: inset 0 0 0 1px rgba(194,133,10,0.3);
  --tw-shadow-colored: inset 0 0 0 1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[inset_2px_0_0_\#f1a817\] {
  --tw-shadow: inset 2px 0 0 #f1a817;
  --tw-shadow-colored: inset 2px 0 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-brand {
  --tw-shadow: 0 10px 30px -10px rgba(241, 168, 23, 0.35);
  --tw-shadow-colored: 0 10px 30px -10px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-lg {
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-panel {
  --tw-shadow: 0 4px 12px -4px rgba(60, 45, 20, 0.24), 0 28px 64px -20px rgba(60, 45, 20, 0.5);
  --tw-shadow-colored: 0 4px 12px -4px var(--tw-shadow-color), 0 28px 64px -20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-popover {
  --tw-shadow: var(--brp-popover-shadow);
  --tw-shadow-colored: var(--brp-popover-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-sheet {
  --tw-shadow: 0 -2px 8px -2px rgba(60, 45, 20, 0.18), 0 -20px 48px -16px rgba(60, 45, 20, 0.42);
  --tw-shadow-colored: 0 -2px 8px -2px var(--tw-shadow-color), 0 -20px 48px -16px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-sm {
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-xl {
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.outline-none {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.\!outline {
  outline-style: solid !important;
}
.outline {
  outline-style: solid;
}
.ring {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-1 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-2 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-inset {
  --tw-ring-inset: inset;
}
.ring-amber-400\/30 {
  --tw-ring-color: rgb(251 191 36 / 0.3);
}
.ring-black\/10 {
  --tw-ring-color: rgb(0 0 0 / 0.1);
}
.ring-black\/20 {
  --tw-ring-color: rgb(0 0 0 / 0.2);
}
.ring-brp-gold {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(241 168 23 / var(--tw-ring-opacity, 1));
}
.ring-brp-gold\/20 {
  --tw-ring-color: rgb(241 168 23 / 0.2);
}
.ring-brp-gold\/30 {
  --tw-ring-color: rgb(241 168 23 / 0.3);
}
.ring-brp-gold\/40 {
  --tw-ring-color: rgb(241 168 23 / 0.4);
}
.ring-brp-gold\/50 {
  --tw-ring-color: rgb(241 168 23 / 0.5);
}
.ring-brp-white\/80 {
  --tw-ring-color: rgb(33 29 22 / 0.8);
}
.ring-emerald-400\/30 {
  --tw-ring-color: rgb(52 211 153 / 0.3);
}
.ring-offset-1 {
  --tw-ring-offset-width: 1px;
}
.ring-offset-brp-paper {
  --tw-ring-offset-color: #f6f1e6;
}
.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);
}
.drop-shadow {
  --tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / 0.1)) drop-shadow(0 1px 1px rgb(0 0 0 / 0.06));
  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 {
  --tw-backdrop-blur: blur(8px);
  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-blur-sm {
  --tw-backdrop-blur: blur(4px);
  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-blur-xl {
  --tw-backdrop-blur: blur(24px);
  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 {
  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, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[width\] {
  transition-property: width;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-all {
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-colors {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-opacity {
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-transform {
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.duration-100 {
  transition-duration: 100ms;
}
.duration-150 {
  transition-duration: 150ms;
}
.duration-200 {
  transition-duration: 200ms;
}
.duration-300 {
  transition-duration: 300ms;
}
.duration-\[340ms\] {
  transition-duration: 340ms;
}
.duration-\[420ms\] {
  transition-duration: 420ms;
}
.ease-in-out {
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.ease-out {
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
.glass {
  border: none;
  backdrop-filter: blur(var(--glass-blur, 40px));
  background-color: #0000;
  background-image: linear-gradient(135deg, oklch(100% 0 0 / var(--glass-opacity, 30%)) 0%, oklch(0% 0 0 / 0%) 100%), linear-gradient( var(--glass-reflect-degree, 100deg), oklch(100% 0 0 / var(--glass-reflect-opacity, 5%)) 25%, oklch(0% 0 0 / 0%) 25% );
  box-shadow: 0 0 0 1px oklch(100% 0 0 / var(--glass-border-opacity, 20%)) inset, 0 0 0 2px oklch(0% 0 0 / 5%);
  text-shadow: 0 1px oklch(0% 0 0 / var(--glass-text-shadow-opacity, 5%));
}
.join {
  display: inline-flex;
  align-items: stretch;
  --join-ss: 0;
  --join-se: 0;
  --join-es: 0;
  --join-ee: 0;
}
.join :where(.join-item) {
  border-start-start-radius: var(--join-ss, 0);
  border-start-end-radius: var(--join-se, 0);
  border-end-start-radius: var(--join-es, 0);
  border-end-end-radius: var(--join-ee, 0);
}
.join :where(.join-item) * {
  --join-ss: var(--radius-field);
  --join-se: var(--radius-field);
  --join-es: var(--radius-field);
  --join-ee: var(--radius-field);
}
.join > .join-item:where(:first-child) {
  --join-ss: var(--radius-field);
  --join-se: 0;
  --join-es: var(--radius-field);
  --join-ee: 0;
}
.join :first-child:not(:last-child) :where(.join-item) {
  --join-ss: var(--radius-field);
  --join-se: 0;
  --join-es: var(--radius-field);
  --join-ee: 0;
}
.join > .join-item:where(:last-child) {
  --join-ss: 0;
  --join-se: var(--radius-field);
  --join-es: 0;
  --join-ee: var(--radius-field);
}
.join :last-child:not(:first-child) :where(.join-item) {
  --join-ss: 0;
  --join-se: var(--radius-field);
  --join-es: 0;
  --join-ee: var(--radius-field);
}
.join > .join-item:where(:only-child) {
  --join-ss: var(--radius-field);
  --join-se: var(--radius-field);
  --join-es: var(--radius-field);
  --join-ee: var(--radius-field);
}
.join :only-child :where(.join-item) {
  --join-ss: var(--radius-field);
  --join-se: var(--radius-field);
  --join-es: var(--radius-field);
  --join-ee: var(--radius-field);
}
.join-item:where(*:not(:first-child, :disabled, [disabled], .btn-disabled)) {
  margin-inline-start: calc(var(--border, 1px) * -1);
  margin-block-start: 0;
}
.join-item:where(*:is(:disabled, [disabled], .btn-disabled)) {
  border-width: var(--border, 1px) 0 var(--border, 1px) var(--border, 1px);
}
.join-vertical {
  flex-direction: column;
}
.join-vertical > .join-item:first-child {
  --join-ss: var(--radius-field);
  --join-se: var(--radius-field);
  --join-es: 0;
  --join-ee: 0;
}
.join-vertical :first-child:not(:last-child) .join-item {
  --join-ss: var(--radius-field);
  --join-se: var(--radius-field);
  --join-es: 0;
  --join-ee: 0;
}
.join-vertical > .join-item:last-child {
  --join-ss: 0;
  --join-se: 0;
  --join-es: var(--radius-field);
  --join-ee: var(--radius-field);
}
.join-vertical :last-child:not(:first-child) .join-item {
  --join-ss: 0;
  --join-se: 0;
  --join-es: var(--radius-field);
  --join-ee: var(--radius-field);
}
.join-vertical > .join-item:only-child {
  --join-ss: var(--radius-field);
  --join-se: var(--radius-field);
  --join-es: var(--radius-field);
  --join-ee: var(--radius-field);
}
.join-vertical :only-child .join-item {
  --join-ss: var(--radius-field);
  --join-se: var(--radius-field);
  --join-es: var(--radius-field);
  --join-ee: var(--radius-field);
}
.join-vertical .join-item:where(*:not(:first-child)) {
  margin-inline-start: 0;
  margin-block-start: calc(var(--border, 1px) * -1);
}
.join-horizontal > .join-item:first-child {
  --join-ss: var(--radius-field);
  --join-se: 0;
  --join-es: var(--radius-field);
  --join-ee: 0;
}
.join-horizontal :first-child:not(:last-child) .join-item {
  --join-ss: var(--radius-field);
  --join-se: 0;
  --join-es: var(--radius-field);
  --join-ee: 0;
}
.join-horizontal > .join-item:last-child {
  --join-ss: 0;
  --join-se: var(--radius-field);
  --join-es: 0;
  --join-ee: var(--radius-field);
}
.join-horizontal :last-child:not(:first-child) .join-item {
  --join-ss: 0;
  --join-se: var(--radius-field);
  --join-es: 0;
  --join-ee: var(--radius-field);
}
.join-horizontal > .join-item:only-child {
  --join-ss: var(--radius-field);
  --join-se: var(--radius-field);
  --join-es: var(--radius-field);
  --join-ee: var(--radius-field);
}
.join-horizontal :only-child .join-item {
  --join-ss: var(--radius-field);
  --join-se: var(--radius-field);
  --join-es: var(--radius-field);
  --join-ee: var(--radius-field);
}
.join-horizontal .join-item:where(*:not(:first-child)) {
  margin-inline-start: calc(var(--border, 1px) * -1);
  margin-block-start: 0;
}
:root .prose {
  --tw-prose-body: color-mix(in oklab, var(--color-base-content) 80%, #0000);
  --tw-prose-headings: var(--color-base-content);
  --tw-prose-lead: var(--tw-prose-body);
  --tw-prose-links: var(--color-primary);
  --tw-prose-kbd: var(--tw-prose-body);
  --tw-prose-bold: var(--tw-prose-headings);
  --tw-prose-counters: var(--tw-prose-headings);
  --tw-prose-bullets: color-mix(in oklab, var(--color-base-content) 50%, #0000);
  --tw-prose-hr: color-mix(in oklab, var(--color-base-content) 20%, #0000);
  --tw-prose-quotes: var(--tw-prose-headings);
  --tw-prose-quote-borders: color-mix(in oklab, var(--color-base-content) 20%, #0000);
  --tw-prose-captions: color-mix(in oklab, var(--color-base-content) 40%, #0000);
  --tw-prose-code: #e83e8c;
  --tw-prose-pre-code: var(--color-neutral-content);
  --tw-prose-pre-bg: var(--color-neutral);
  --tw-prose-th-borders: color-mix(in oklab, var(--color-base-content) 24%, #0000);
  --tw-prose-td-borders: var(--tw-prose-th-borders);
  line-height: 1.5rem;
}
.prose :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *))::before, .prose :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *))::after {
  display: none;
}
.prose pre code {
  border-radius: 0;
  padding: 0;
}
.prose :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
  font-weight: 500;
  font-size: 0.875rem;
}
.prose :where(kbd):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
  padding: calc(0.25rem * 0);
  --tw-shadow: 0 0 #0000;
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
  .no-scrollbar {
    scrollbar-width: none;
  }
  .no-scrollbar::-webkit-scrollbar {
    display: none;
  }

  /* ── The Colophon glass ───────────────────────────────────────────────────
   * The app chrome turns the warm paper translucent so page content reads
   * faintly through it. Values are tuned, not guessed:
   *   74%  — below ~70% the navbar's tracked capitals lose contrast against a
   *          busy row passing beneath; above ~80% it stops reading as glass.
   *   14px — enough to dissolve body text into tone. 8px leaves ghost words
   *          legible; 24px costs more and gains nothing.
   *   118% — blur desaturates, so a small lift keeps the gold seam and the
   *          oxblood notification dot from going chalky.
   * Elevation is carried by the single hairline stepping one notch firmer with
   * the glass, NOT by a shadow — DESIGN.md's Flat Rule allows only four shadows
   * and a generic one here would read cheap.
   * ---------------------------------------------------------------------- */
  .chrome-glass {
    background-color: rgba(236, 228, 212, 0.74);
    backdrop-filter: blur(14px) saturate(118%);
  }

  /* Where backdrop-filter is unsupported, fall back to opaque paper. Never a
     semi-transparent bar with unblurred text crawling behind it. */
  @supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
    .chrome-glass {
      background-color: #ece4d4;
    }
  }
.\[--anchor-gap\:0\.25rem\] {
  --anchor-gap: 0.25rem;
}
.\[--anchor-gap\:0\.35rem\] {
  --anchor-gap: 0.35rem;
}
.\[--anchor-gap\:0\.6rem\] {
  --anchor-gap: 0.6rem;
}
.\[overflow-wrap\:anywhere\] {
  overflow-wrap: anywhere;
}
.\[scrollbar-gutter\:stable_both-edges\] {
  scrollbar-gutter: stable both-edges;
}
.\[text-wrap\:balance\] {
  text-wrap: balance;
}
.\[text-wrap\:pretty\] {
  text-wrap: pretty;
}

:root {
  color-scheme: light;
  /* Single source for the gold keyboard-focus ring used app-wide (see the
     base layer below). */
  --brp-focus: #f1a817;

  /* The Popover Lift (DESIGN.md § Elevation). Declared here rather than only in
     tailwind.config so the vendor overrides further down this file — the Quill
     tooltips, which are floating panels the utility class can't reach — share
     the one value. `theme.boxShadow.popover` reads this var. */
  --brp-popover-shadow:
    0 2px 6px -2px rgba(60, 45, 20, 0.22), 0 18px 40px -16px rgba(60, 45, 20, 0.42);

  /* ---------------------------------------------------------------------------
   * Chart marks (admin dashboard). Every value below was validated against the
   * warm-paper card surface (#f6f1e6) with the data-viz six-checks validator —
   * lightness band, chroma floor, protan/deutan separation, normal-vision floor,
   * and WCAG contrast. Do not hand-tune these; re-run the validator if they change.
   *
   * Two findings are baked in here:
   *   · Bright gold (#f1a817) is NOT a data mark — 1.8:1 on paper and outside the
   *     lightness band. `--brp-chart-line` is brass-deep, which passes at 3:1+.
   *   · Brand `info` (#35636c) and `success` (#3f6d3d) both fall under the chroma
   *     floor (they read gray) and sit 8.8 ΔE apart in NORMAL vision — they cannot
   *     be two adjacent series. `--brp-chart-ok` is `success` re-stepped to clear
   *     the floor, and the ingestion bar is ordered problems-first so it never
   *     lands beside `--brp-chart-warn` (a protanope collision).
   * ------------------------------------------------------------------------- */
  --brp-chart-line: #8a5e08; /* single-series line + columns (brass-deep) */
  --brp-chart-fill: rgba(138, 94, 8, 0.1); /* area under the line */
  --brp-chart-ok: #4a8544; /* ready / healthy */
  --brp-chart-warn: #b9791a; /* no text found */
  --brp-chart-err: #a53b26; /* failed */
  --brp-chart-run: #94886f; /* processing — passes 3:1 */
  --brp-chart-idle: #cdc1a8; /* pending — sub-3:1, legal ONLY because the
                                legend direct-labels it with a count */
  --brp-chart-grid: rgba(33, 29, 22, 0.08);
  --brp-chart-axis: rgba(33, 29, 22, 0.66); /* tick text, >= 4.5:1 */
}
html,
body,
#root {
  height: 100%;
} /* No page may ever pan horizontally: one over-wide element (a long pasted URL,
   a wide grid track) would otherwise push the whole document past the viewport
   on phones, leaving the sticky navbar looking cut short. `clip` (unlike
   `hidden`) doesn't create a scroll container, so `position: sticky` keeps
   working; the `hidden` line is the fallback for browsers without `clip`. */
html {
  overflow-x: hidden;
  overflow-x: clip;
}
body {
  font-family: 'Hanken Grotesk', ui-sans-serif, system-ui, sans-serif;
  background-color: #ece4d4; /* warm paper — Marble & Gold ground */
  color: #211d16; /* warm ink */
} /* Hide the scrollbar on horizontally-scrollable control strips (e.g. the Ask
   composer's control bar on narrow screens) while keeping them scrollable —
   a visible scrollbar inside a compact toolbar reads as broken chrome. */ /* ---------------------------------------------------------------------------
 * Baseline element defaults (adopted from the Claude Design "FlyonUI Baseline"
 * — docs/design-system/). Additive only: these set app-wide typography, focus,
 * and form defaults. The brand component classes (btn-brand, card-brand, …)
 * below are intentionally untouched and migrate to FlyonUI classes
 * incrementally — see docs/design-system/MAPPING.md.
 * ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------------
 * FlyonUI theme — "brp" (matched by <html data-theme="brp">).
 *
 * The installed FlyonUI (2.4.1) is the CSS-first generation: themes are
 * `[data-theme]{ --color-*: … }` blocks, NOT a tailwind.config `flyonui.themes`
 * array (that older API is silently ignored by this version — which is why the
 * brand palette has to live here, in CSS). This block maps the Bruised Reed
 * tokens onto the variables FlyonUI's components (btn, card, modal, dropdown,
 * tabs, tooltip, badge, …) actually read. Color mapping refined from the
 * Claude Design "FlyonUI Baseline" output — see docs/design-system/MAPPING.md.
 *
 * Only stock FlyonUI components consume these; the hand-tuned brand classes
 * (btn-brand, card-brand, …) are independent and migrate over incrementally.
 * ------------------------------------------------------------------------- */
[data-theme='brp'] {
  color-scheme: light;

  /* Brand accents (Marble & Gold light world — 2026-07-27) */
  --color-primary: #f1a817; /* gold — CTAs, focus, active */
  --color-primary-content: #211d16; /* warm ink text on gold */
  --color-secondary: #2a332b; /* forest green — dark brand surfaces, Admin */
  --color-secondary-content: #f3efe4; /* paper-light text on forest */
  --color-accent: #c2850a; /* brass — links / small highlights (readable on paper) */
  --color-accent-content: #fdf3dd;
  --color-neutral: #e4dbc7; /* paper-2 — btn-neutral / chrome surface */
  --color-neutral-content: #211d16; /* ink on the light neutral */

  /* Base surfaces (warm paper, elevation 100 → 300) */
  --color-base-100: #ece4d4; /* warm paper — page background */
  --color-base-200: #f6f1e6; /* raised panel — cards, modals, dropdowns, popovers */
  --color-base-300: #e4dbc7; /* nested panels / hairline source */
  --color-base-content: #211d16; /* warm ink — default text */

  /* Semantic status — tuned as solid fills on paper (light *-content text);
     warning kept distinct from the gold primary and the amber BetaBadge. */
  --color-info: #35636c;
  --color-info-content: #eef5f6;
  --color-success: #3f6d3d;
  --color-success-content: #eef5ee;
  --color-warning: #b9791a;
  --color-warning-content: #fff6e6;
  --color-error: #a53b26;
  --color-error-content: #fbeae6;

  /* Shape tokens — match the shipped app: rounded-md controls, rounded-xl
     cards. (FlyonUI 2.x names: selector = toggles/checkboxes/badges,
     field = buttons/inputs, box = cards/modals.) */
  --radius-selector: 0.375rem;
  --radius-field: 0.375rem;
  --radius-box: 0.75rem;
  --border: 1px;
  /* Flat surfaces — switch off daisyUI's 3D bevel/gradient (--depth) and
     texture (--noise) so FlyonUI buttons/controls read as flat like the brand
     buttons, instead of the default raised look. */
  --depth: 0;
  --noise: 0;
} /* Brand-aware utilities */
[data-theme='brp'] .btn-xs {
  font-size: 0.75rem; /* 11px */
  line-height: 1rem;
} /* ---------------------------------------------------------------------------
 * FlyonUI form fields + card → brand skin.
 *
 * These plain rules are scoped under `[data-theme="brp"]` so they reliably win
 * over FlyonUI's own component rules (the ancestor attribute selector adds
 * specificity) without `!important`. Both the raw FlyonUI components
 * (.input / .select / .textarea / .card) AND the legacy `*-brand` aliases get
 * identical styling, so the bespoke components are eliminated — FlyonUI is used
 * everywhere, skinned to the brand: inset-ink fields with a gold focus ring,
 * and paper-on-ink cards with a soft hairline.
 * ------------------------------------------------------------------------- */
[data-theme='brp'] .input,
[data-theme='brp'] .select,
[data-theme='brp'] .textarea,
[data-theme='brp'] .input-brand,
[data-theme='brp'] select.input-brand,
[data-theme='brp'] textarea.input-brand {
  border-radius: 0.375rem;
  border: 1px solid rgba(33, 29, 22, 0.16);
  background-color: #fbf8f1; /* light inset — a touch brighter than paper */
  color: #211d16;
}
[data-theme='brp'] .input::-moz-placeholder, [data-theme='brp'] .select::-moz-placeholder, [data-theme='brp'] .textarea::-moz-placeholder, [data-theme='brp'] .input-brand::-moz-placeholder, [data-theme='brp'] textarea.input-brand::-moz-placeholder {
  color: rgba(33, 29, 22, 0.38);
}
[data-theme='brp'] .input::placeholder,
[data-theme='brp'] .select::placeholder,
[data-theme='brp'] .textarea::placeholder,
[data-theme='brp'] .input-brand::placeholder,
[data-theme='brp'] textarea.input-brand::placeholder {
  color: rgba(33, 29, 22, 0.38);
}
[data-theme='brp'] .input:focus,
[data-theme='brp'] .select:focus,
[data-theme='brp'] .textarea:focus,
[data-theme='brp'] .input-brand:focus,
[data-theme='brp'] select.input-brand:focus,
[data-theme='brp'] textarea.input-brand:focus {
  border-color: #f1a817;
  outline: none;
  box-shadow: 0 0 0 1px #f1a817;
}
[data-theme='brp'] .card {
  border-radius: 0.75rem;
  border: 1px solid rgba(33, 29, 22, 0.08);
  /* Raised panel (#f6f1e6) sits just above the warm-paper page ground
     (#ece4d4) — gentle separation via fill + hairline, not a heavy drop. */
  background-color: #f6f1e6;
  box-shadow: 0 1px 2px 0 rgba(33, 29, 22, 0.06);
} /* FlyonUI card titles use the brand display serif (Cormorant) at weight 500
   to match our card headings — FlyonUI defaults them to the sans heading face
   at 600, which reads thicker. */
[data-theme='brp'] .card-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 500;
} /* ---------------------------------------------------------------------------
 * Native <select> styling intentionally removed.
 *
 * All dropdowns now use the React `BrandSelect` component (Headless UI
 * `Listbox`, brand-themed rounded panel) — see src/components/UI/BrandSelect.tsx.
 * There are no `<select>` elements left in the app, so the old native-select
 * skin (and the earlier `appearance: base-select` experiment) is gone. If a raw
 * `<select>` is ever reintroduced it will fall back to FlyonUI's `.select`
 * defaults; prefer `BrandSelect` instead.
 * ------------------------------------------------------------------------- */

/* ---------------------------------------------------------------------------
 * Rich text editor (Quill snow theme) — brand-themed dark overrides.
 * Scoped under .brp-rte so the third-party styles never leak elsewhere.
 * ------------------------------------------------------------------------- */
.brp-rte .ql-toolbar.ql-snow {
  border-color: rgba(33, 29, 22, 0.1);
  border-top-left-radius: 0.375rem;
  border-top-right-radius: 0.375rem;
  background-color: #f6f1e6;
}
.brp-rte .ql-container.ql-snow {
  border-color: rgba(33, 29, 22, 0.1);
  border-bottom-left-radius: 0.375rem;
  border-bottom-right-radius: 0.375rem;
  background-color: #fbf8f1;
  color: #211d16;
  font-family: 'Hanken Grotesk', ui-sans-serif, system-ui, sans-serif;
  font-size: 0.95rem;
}
.brp-rte .ql-editor {
  min-height: 180px;
} /* Bare variant (no toolbar, e.g. deck comments): the container is the only
   surface, so round all four corners and use a shorter default height. */
.brp-rte--bare .ql-container.ql-snow {
  border-top-left-radius: 0.375rem;
  border-top-right-radius: 0.375rem;
}
.brp-rte--bare .ql-editor {
  min-height: 90px;
} /* Right-align RTL passages (Arabic / Hebrew). Quill's core stylesheet forces
   `.ql-editor{ text-align: left }`, which overrides the dir-based default and
   any Tailwind `text-right` class, so scope a higher-specificity override to the
   RTL editing surface. */
.brp-rte .ql-editor[dir='rtl'] {
  text-align: right;
}
.brp-rte .ql-editor.ql-blank::before {
  color: rgba(33, 29, 22, 0.3);
  font-style: normal;
} /* Toolbar glyphs */
.brp-rte .ql-snow .ql-stroke {
  stroke: rgba(33, 29, 22, 0.6);
}
.brp-rte .ql-snow .ql-fill {
  fill: rgba(33, 29, 22, 0.6);
}
.brp-rte .ql-snow .ql-picker {
  color: rgba(33, 29, 22, 0.6);
}
.brp-rte .ql-snow.ql-toolbar button:hover .ql-stroke,
.brp-rte .ql-snow.ql-toolbar button:focus .ql-stroke,
.brp-rte .ql-snow.ql-toolbar button.ql-active .ql-stroke,
.brp-rte .ql-snow .ql-picker-label:hover .ql-stroke,
.brp-rte .ql-snow .ql-picker-label.ql-active .ql-stroke {
  stroke: #c2850a;
}
.brp-rte .ql-snow.ql-toolbar button:hover .ql-fill,
.brp-rte .ql-snow.ql-toolbar button:focus .ql-fill,
.brp-rte .ql-snow.ql-toolbar button.ql-active .ql-fill {
  fill: #c2850a;
}
.brp-rte .ql-snow.ql-toolbar button:hover,
.brp-rte .ql-snow.ql-toolbar button:focus,
.brp-rte .ql-snow.ql-toolbar button.ql-active,
.brp-rte .ql-snow .ql-picker-label:hover,
.brp-rte .ql-snow .ql-picker-label.ql-active,
.brp-rte .ql-snow .ql-picker-item:hover,
.brp-rte .ql-snow .ql-picker-item.ql-selected {
  color: #c2850a;
} /* Dropdown popups + link tooltip */
.brp-rte .ql-snow .ql-picker-options {
  background-color: #f6f1e6;
  border-color: rgba(33, 29, 22, 0.1);
  border-radius: 0.375rem;
}
.brp-rte .ql-snow .ql-tooltip {
  background-color: #f6f1e6;
  border-color: rgba(33, 29, 22, 0.1);
  color: #211d16;
  border-radius: 0.375rem;
  box-shadow: var(--brp-popover-shadow);
}
.brp-rte .ql-snow .ql-tooltip input[type='text'] {
  background-color: #fbf8f1;
  border-color: rgba(33, 29, 22, 0.1);
  color: #211d16;
  border-radius: 0.25rem;
}
.brp-rte .ql-snow .ql-tooltip a.ql-action,
.brp-rte .ql-snow .ql-tooltip a.ql-remove {
  color: #c2850a;
} /* Editor content styling */
.brp-rte .ql-editor a {
  color: #c2850a;
}
.brp-rte .ql-editor blockquote {
  border-left: 2px solid rgba(241, 168, 23, 0.6);
  color: rgba(33, 29, 22, 0.8);
} /* ---------------------------------------------------------------------------
 * Note body editor (Quill bubble theme) — a seamless, boxless writing surface
 * with a floating selection toolbar. Scoped to .brp-note-rte so it never
 * touches the boxed .brp-rte editors elsewhere.
 * ------------------------------------------------------------------------- */
.brp-note-rte .ql-container.ql-bubble {
  border: none;
  font-family: 'Hanken Grotesk', ui-sans-serif, system-ui, sans-serif;
  font-size: 16.5px;
}
.brp-note-rte .ql-editor {
  padding: 0;
  min-height: 260px;
  line-height: 1.75;
  color: rgba(33, 29, 22, 0.92);
}
.brp-note-rte .ql-editor.ql-blank::before {
  left: 0;
  right: 0;
  color: rgba(33, 29, 22, 0.35);
  font-style: normal;
} /* Block elements — headings sit in the brand display serif, spacing tuned for
   a document-like read. */
.brp-note-rte .ql-editor h2 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 600;
  font-size: 1.5rem;
  line-height: 1.25;
  letter-spacing: -0.01em;
  color: #211d16;
  margin: 1.4em 0 0.4em;
}
.brp-note-rte .ql-editor h3 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 600;
  font-size: 1.2rem;
  line-height: 1.3;
  color: #211d16;
  margin: 1.2em 0 0.35em;
}
.brp-note-rte .ql-editor a {
  color: #c2850a;
}
.brp-note-rte .ql-editor blockquote {
  margin: 1rem 0;
  padding-left: 0.85rem;
  border-left: 2px solid rgba(241, 168, 23, 0.6);
  color: rgba(33, 29, 22, 0.75);
  font-style: italic;
} /* Tables — flat, hairline-ruled, on-brand. */
.brp-note-rte .ql-editor table {
  border-collapse: collapse;
  width: 100%;
  margin: 1rem 0;
  font-size: 0.95em;
}
.brp-note-rte .ql-editor td {
  border: 1px solid rgba(33, 29, 22, 0.14);
  padding: 0.4rem 0.6rem;
  vertical-align: top;
} /* Floating pill toolbar (bubble tooltip). */
.brp-note-rte .ql-bubble .ql-tooltip {
  border-radius: 9999px;
  background-color: #f6f1e6;
  border: 1px solid rgba(33, 29, 22, 0.14);
  box-shadow: var(--brp-popover-shadow);
} /* The bubble theme draws a little arrow caret below the pill; a round pill
   reads cleaner without it. */
.brp-note-rte .ql-bubble .ql-tooltip-arrow {
  display: none;
}
.brp-note-rte .ql-bubble .ql-toolbar {
  padding: 4px 6px;
}
.brp-note-rte .ql-bubble .ql-toolbar button,
.brp-note-rte .ql-bubble .ql-toolbar .ql-picker-label {
  border-radius: 9999px;
}
.brp-note-rte .ql-bubble .ql-stroke {
  stroke: rgba(33, 29, 22, 0.8);
}
.brp-note-rte .ql-bubble .ql-fill {
  fill: rgba(33, 29, 22, 0.8);
}
.brp-note-rte .ql-bubble .ql-picker {
  color: rgba(33, 29, 22, 0.8);
}
.brp-note-rte .ql-bubble .ql-toolbar button:hover,
.brp-note-rte .ql-bubble .ql-toolbar button.ql-active,
.brp-note-rte .ql-bubble .ql-toolbar button:focus {
  background-color: rgba(241, 168, 23, 0.16);
}
.brp-note-rte .ql-bubble .ql-toolbar button:hover .ql-stroke,
.brp-note-rte .ql-bubble .ql-toolbar button.ql-active .ql-stroke,
.brp-note-rte .ql-bubble .ql-toolbar button:focus .ql-stroke {
  stroke: #c2850a;
}
.brp-note-rte .ql-bubble .ql-toolbar button:hover .ql-fill,
.brp-note-rte .ql-bubble .ql-toolbar button.ql-active .ql-fill,
.brp-note-rte .ql-bubble .ql-toolbar button:focus .ql-fill {
  fill: #c2850a;
} /* Markdown/slash H1 (a touch larger than H2) and the slash-menu divider. */
.brp-note-rte .ql-editor h1 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 600;
  font-size: 2rem;
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: #211d16;
  margin: 1.5em 0 0.4em;
}
.brp-note-rte .ql-editor hr {
  border: none;
  border-top: 1px solid rgba(33, 29, 22, 0.16);
  margin: 1.6rem 0;
} /* Contextual table control bar — floats just above the active cell. */
.brp-note-tablebar {
  position: absolute;
  z-index: 20;
  transform: translateY(-100%) translateY(-8px);
  display: flex;
  align-items: center;
  gap: 2px;
  padding: 4px;
  border-radius: 9999px;
  background: #f6f1e6;
  border: 1px solid rgba(33, 29, 22, 0.14);
  box-shadow: var(--brp-popover-shadow);
}
.brp-note-tablebar button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 9999px;
  color: rgba(33, 29, 22, 0.8);
}
.brp-note-tablebar button:hover {
  background: rgba(241, 168, 23, 0.16);
  color: #c2850a;
}
.brp-note-tablebar__danger:hover {
  background: rgba(165, 59, 38, 0.14);
  color: var(--color-error);
}
.brp-note-tablebar__plus,
.brp-note-tablebar__minus {
  position: absolute;
  right: 2px;
  bottom: 1px;
  font-size: 11px;
  line-height: 1;
  font-weight: 700;
}
.brp-note-tablebar__sep {
  width: 1px;
  height: 16px;
  background: rgba(33, 29, 22, 0.14);
  margin: 0 2px;
} /* Touch: enlarge tap targets on the floating toolbars for coarse pointers. */
@media (pointer: coarse) {
  .brp-note-rte .ql-bubble .ql-toolbar button,
  .brp-note-tablebar button {
    width: 34px;
    height: 34px;
  }
} /* ---------------------------------------------------------------------------
 * Rendered rich text (read-only page bodies).
 * ------------------------------------------------------------------------- */
.brp-prose {
  line-height: 1.6;
  /* User-authored bodies can contain arbitrarily long unbroken tokens (pasted
     URLs, transliterations). `anywhere` both wraps them and — unlike
     `break-word` — shrinks the element's min-content size, so a long link
     can't widen a grid/flex column past the phone screen. */
  overflow-wrap: anywhere;
}
.brp-prose p {
  margin: 0 0 0.75rem;
}
.brp-prose p:last-child {
  margin-bottom: 0;
}
.brp-prose h2 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.5rem;
  margin: 1.25rem 0 0.5rem;
  color: #211d16;
}
.brp-prose h3 {
  font-size: 1.2rem;
  font-weight: 600;
  margin: 1rem 0 0.4rem;
  color: #211d16;
}
.brp-prose ul,
.brp-prose ol {
  margin: 0 0 0.75rem;
  padding-left: 1.4rem;
}
.brp-prose ul {
  list-style: disc;
}
.brp-prose ol {
  list-style: decimal;
} /* Nested lists (e.g. a sub-list under a bullet) tuck in without the block gap. */
.brp-prose li > ul,
.brp-prose li > ol {
  margin: 0.15rem 0 0.25rem;
}
.brp-prose li {
  margin: 0.15rem 0;
}
.brp-prose a {
  color: #c2850a; /* brass — readable link on paper (Readable-Gold rule) */
  text-decoration: underline;
}
.brp-prose a:hover {
  color: #9a6a0a;
} /* Inline scripture references (Bible / Qur'an) recognised in prose and in the
   editor. A quiet dotted-gold underline that reads as "hoverable" and warms up
   on hover/focus — see wrapVerseRefsInHtml + useVerseHovercards. */
.verse-ref {
  cursor: help;
  text-decoration: underline;
  text-decoration-style: dotted;
  text-decoration-color: rgba(241, 168, 23, 0.5);
  text-underline-offset: 2px;
  border-radius: 2px;
  transition:
    color 0.12s ease,
    text-decoration-color 0.12s ease;
}
.verse-ref:hover,
.verse-ref:focus-visible {
  color: #f1a817;
  text-decoration-color: #f1a817;
  outline: none;
}
.brp-prose blockquote {
  border-left: 2px solid rgba(241, 168, 23, 0.6);
  padding-left: 0.85rem;
  margin: 0 0 0.75rem;
  color: rgba(33, 29, 22, 0.74);
} /* Verse numbers / script formatting in read mode. */
.brp-prose sup,
.brp-prose .ql-script-super {
  vertical-align: super;
  font-size: 0.75em;
  line-height: 0;
}
.brp-prose sub,
.brp-prose .ql-script-sub {
  vertical-align: sub;
  font-size: 0.75em;
  line-height: 0;
} /* ---------------------------------------------------------------------------
 * Scripture highlights (annotation marks + palette + note popover).
 * The 7-colour palette is shared by the editor marks and rendered passages.
 * ------------------------------------------------------------------------- */
.brp-hl {
  /* Keep the surrounding text colour (warm ink) — override the browser's default
     black <mark> text. The hue shows through via the translucent background.
     Alpha re-tuned from 0.55 → 0.42 for the light paper world so dark ink text
     stays crisp over the mark (hues + data-hl order are a locked data contract —
     only the alpha changes). */
  color: inherit;
  border-radius: 2px;
  padding: 0 1px;
  cursor: help;
  transition: background-color 0.12s ease;
}
.brp-hl[data-hl='1'] {
  background-color: rgba(227, 179, 65, 0.42);
}
.brp-hl[data-hl='2'] {
  background-color: rgba(232, 131, 58, 0.42);
}
.brp-hl[data-hl='3'] {
  background-color: rgba(229, 72, 77, 0.42);
}
.brp-hl[data-hl='4'] {
  background-color: rgba(70, 167, 88, 0.42);
}
.brp-hl[data-hl='5'] {
  background-color: rgba(18, 165, 148, 0.42);
}
.brp-hl[data-hl='6'] {
  background-color: rgba(76, 159, 255, 0.42);
}
.brp-hl[data-hl='7'] {
  background-color: rgba(142, 78, 198, 0.42);
} /* "Hide highlights" toggle in read mode. */
.brp-annot--hide .brp-hl {
  background-color: transparent !important;
  cursor: inherit;
} /* Highlight palette (annotation editor toolbar). */
.brp-hl-palette {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem;
  margin-bottom: 0.4rem;
}
.brp-hl-palette__label {
  font-size: 0.75rem;
  color: rgba(33, 29, 22, 0.55);
  margin-right: 0.1rem;
}
.brp-hl-swatch {
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 9999px;
  border: 1px solid rgba(33, 29, 22, 0.28);
  cursor: pointer;
  transition:
    transform 0.1s ease,
    box-shadow 0.1s ease;
}
.brp-hl-swatch:hover {
  transform: scale(1.15);
  box-shadow: 0 0 0 2px rgba(33, 29, 22, 0.18);
}
.brp-hl-palette__hint {
  font-size: 0.7rem;
  color: #9a6a0a;
} /* Floating colour panel — hovers above the text selection in annotate mode so
   long passages can be highlighted without travelling back to the palette row.
   Positioned by RichTextEditor; --brp-pop-arrow keeps the caret pointing at the
   selection midpoint even when the pill is clamped at an editor edge. */
.brp-hl-pop {
  position: absolute;
  z-index: 30;
  display: flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.45rem 0.65rem;
  border-radius: 9999px;
  background-color: #f6f1e6;
  border: 1px solid rgba(33, 29, 22, 0.14);
  box-shadow: 0 10px 28px rgba(33, 29, 22, 0.18);
  animation: brp-hl-pop-in 0.12s ease-out;
}
.brp-hl-pop .brp-hl-swatch {
  width: 1.25rem;
  height: 1.25rem;
}
.brp-hl-pop::after {
  content: '';
  position: absolute;
  width: 8px;
  height: 8px;
  background-color: inherit;
  left: var(--brp-pop-arrow, 50%);
  margin-left: -4px;
  transform: rotate(45deg);
}
.brp-hl-pop[data-side='top']::after {
  bottom: -4.5px;
  border-right: 1px solid rgba(33, 29, 22, 0.14);
  border-bottom: 1px solid rgba(33, 29, 22, 0.14);
}
.brp-hl-pop[data-side='bottom']::after {
  top: -4.5px;
  border-left: 1px solid rgba(33, 29, 22, 0.14);
  border-top: 1px solid rgba(33, 29, 22, 0.14);
}
@keyframes brp-hl-pop-in {
  from {
    opacity: 0;
    transform: translateY(3px) scale(0.97);
  }
}
@media (prefers-reduced-motion: reduce) {
  .brp-hl-pop {
    animation: none;
  }
} /* -------------------------------------------------------------------------
 * Resource mention chips (notes) — inline @resource references rendered as a
 * non-editable pill carrying the resource id. Used in the note editor and in
 * read-only rendered note bodies.
 * ------------------------------------------------------------------------- */
.resource-mention {
  display: inline;
  white-space: nowrap;
  border-radius: 4px;
  padding: 0 4px;
  margin: 0 1px;
  font-weight: 500;
  color: #8a5e08; /* brass — readable chip text on the light amber wash */
  background-color: rgba(227, 179, 65, 0.2);
  border: 1px solid rgba(194, 133, 10, 0.4);
  cursor: pointer;
  text-decoration: none;
}
.resource-mention:hover {
  background-color: rgba(227, 179, 65, 0.32);
} /* When rendered as a link (read view), keep the chip look. */
a.resource-mention {
  cursor: pointer;
} /* Note popover shown on hover/tap over a highlight. */
.brp-annot-pop {
  position: absolute;
  z-index: 30;
  max-width: 22rem;
  margin-top: 0.35rem;
  padding: 0.6rem 0.75rem;
  border-radius: 0.5rem;
  border: 1px solid rgba(33, 29, 22, 0.12);
  background-color: #f6f1e6;
  color: #211d16;
  font-family: 'Hanken Grotesk', ui-sans-serif, system-ui, sans-serif;
  font-size: 0.85rem;
  line-height: 1.5;
  box-shadow: 0 14px 36px -12px rgba(33, 29, 22, 0.2);
}
.brp-annot-pop .brp-prose p:last-child {
  margin-bottom: 0;
} /* ===========================================================================
 * Landing / home page — decorative, brand-aware flourishes.
 * ======================================================================== */

/* Gold accent word — a solid warm gold (no gradient text). */
.text-gradient-gold {
  color: #c98a0e;
} /* Soft conic/aurora glow behind the hero headline. */
.hero-aurora {
  background:
    radial-gradient(42% 38% at 50% 8%, rgba(241, 168, 23, 0.22) 0%, transparent 70%),
    radial-gradient(30% 40% at 82% 20%, rgba(42, 51, 43, 0.55) 0%, transparent 70%),
    radial-gradient(28% 36% at 14% 28%, rgba(241, 168, 23, 0.1) 0%, transparent 70%);
  filter: saturate(115%);
} /* Thin gold rule that flanks the eyebrow label. */
.rule-gold {
  height: 1px;
  width: 2.5rem;
  background: linear-gradient(90deg, transparent, rgba(241, 168, 23, 0.7));
}
.rule-gold--right {
  background: linear-gradient(90deg, rgba(241, 168, 23, 0.7), transparent);
} /* Entrance animations. */
@keyframes brp-fade-up {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes brp-float {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-6px);
  }
}
.animate-fade-up {
  opacity: 0;
  animation: brp-fade-up 0.7s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
.animate-float {
  animation: brp-float 6s ease-in-out infinite;
}
.delay-1 {
  animation-delay: 0.08s;
}
.delay-2 {
  animation-delay: 0.18s;
}
.delay-3 {
  animation-delay: 0.3s;
}
.delay-4 {
  animation-delay: 0.42s;
}
.delay-5 {
  animation-delay: 0.54s;
}
@media (prefers-reduced-motion: reduce) {
  .animate-fade-up,
  .animate-float {
    animation: none;
    opacity: 1;
  }
} /* ===========================================================================
 * The mending seam — the app's loading moment (see LoadingScreen.tsx).
 *
 * A hairline fracture lies in the paper; gold travels along it and fills the
 * break, then holds mended and dims. This is DESIGN.md's kintsugi seam in
 * motion, and it replaces the former rotating gold ring + shimmer bar (a
 * generic spinner that also still carried the pre-rebrand dark backdrop).
 *
 * How the reveal works: the gold artwork is STATIC svg, and a CSS mask with a
 * soft leading edge sweeps across it left → right. Everything under the front —
 * the vein, the spurs, the flecks — therefore lights in true spatial order with
 * a single animation and no per-element timing to drift out of sync.
 * ======================================================================== */

/* Held at zero opacity for 160ms, so a route chunk that resolves in ~100ms
   never flashes a loader. `both` supplies the backwards fill. */
.brp-loader-in {
  animation: brp-loader-in 0.34s cubic-bezier(0.22, 1, 0.36, 1) 0.16s both;
}
@keyframes brp-loader-in {
  from {
    opacity: 0;
    transform: translateY(4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ===========================================================================
 * Spotlight — the scrim and the launcher's entry (see Spotlight.tsx).
 * ======================================================================== */

/* Warm ink, blurred. The former `bg-black/50` was the one cold surface in the
   app: a neutral scrim over warm paper reads as a hole, not a dimming. */
.brp-scrim {
  background-color: rgba(33, 29, 22, 0.46);
  backdrop-filter: blur(3px) saturate(108%);
  animation: brp-scrim-in 0.22s ease-out both;
}
@keyframes brp-scrim-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* The launcher panel, and the seam that ties it to the trigger.
   `::before` is the gold rule on the panel's top edge, wiping out from centre —
   the identical gesture `Seam` gives the trigger on hover, so the bar and the
   launcher read as one move without animating anything between them. */
.brp-seam-panel {
  position: relative;
  animation: brp-panel-in 0.3s cubic-bezier(0.22, 1, 0.36, 1) both;
}
.brp-seam-panel::before {
  content: '';
  position: absolute;
  /* Inset to match `Seam`'s own `inset-x-4`, so the rule on the panel is
     recognisably the same object as the rule on the trigger — and so it never
     has to be clipped by the panel's rounded corners. */
  inset-inline: 1rem;
  top: 0;
  z-index: 1;
  height: 2px;
  transform-origin: center;
  background-color: #f1a817;
  animation: brp-panel-seam 0.42s cubic-bezier(0.22, 1, 0.36, 1) 0.06s both;
}
@keyframes brp-panel-in {
  from {
    opacity: 0;
    transform: translateY(-6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes brp-panel-seam {
  from {
    transform: scaleX(0);
  }
  to {
    transform: scaleX(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .brp-scrim,
  .brp-seam-panel,
  .brp-seam-panel::before {
    animation: none;
  }
}

/* Page-light behind the fullscreen composition: panel warmth lifted off the
   paper ground. Not a glow and not the landing page's aurora (whose forest
   radial reads as a dark smudge on paper) — the functional register is flat. */
.brp-reed-lift {
  background: radial-gradient(
    46% 38% at 50% 46%,
    rgba(246, 241, 230, 0.95) 0%,
    rgba(246, 241, 230, 0) 72%
  );
}

/* ===========================================================================
 * The mark, drawing itself — the app's loading moment (LoadingScreen.tsx).
 *
 * The same animation the video-to-deck wizard runs inside its processing orb
 * (`.cdv-mark-*` in pages/Decks/VideoDeck/videoDeck.css): the outline traces
 * itself via `pathLength`, the solid fill washes in behind it, then both settle
 * and repeat.
 *
 * Deliberately declared here rather than shared with the wizard's stylesheet.
 * The two sit on opposite grounds — the orb is a near-black disc, this is warm
 * paper — so they need different stroke colours and different cycle lengths.
 * Folding them into one rule would mean breaking one of the two. What IS shared
 * is the geometry: both draw `REED_MARK_PATH` from `lib/brandMark`.
 * ======================================================================== */
.brp-reed {
  display: block;
  width: auto;
  overflow: visible;
}

/* The outline draws, holds, then hands off to the fill and fades out.
   `stroke-dasharray: 100` against `pathLength="100"` normalises the path so the
   offset is a straight percentage. The default butt linecap matters here: with
   a round cap the zero-length dash at offset 100 would render as a dot before
   the line has started. */
.brp-reed__stroke {
  stroke-dasharray: 100;
  animation: brp-reed-stroke 3s ease-in-out infinite;
}
@keyframes brp-reed-stroke {
  0% {
    stroke-dashoffset: 100;
    opacity: 1;
  }
  55% {
    stroke-dashoffset: 0;
    opacity: 1;
  }
  80%,
  100% {
    stroke-dashoffset: 0;
    opacity: 0;
  }
}

/* The fill arrives behind the outline, overlapping it so the mark is never
   half-drawn-half-solid — it resolves, rather than swapping. */
.brp-reed__fill {
  animation: brp-reed-fill 3s ease-in-out infinite;
}
@keyframes brp-reed-fill {
  0%,
  40% {
    opacity: 0;
  }
  70%,
  92% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .brp-loader-in,
  .brp-reed__stroke,
  .brp-reed__fill {
    animation: none;
  }
  /* The finished mark, held — not a frame of it being drawn. */
  .brp-reed__stroke {
    opacity: 0;
  }
  .brp-reed__fill {
    opacity: 1;
  }
}

/* Feature card with a gradient hairline border + hover lift. */
.feature-card {
  position: relative;
  border-radius: 0.75rem;
  padding: 1.4rem;
  background:
    linear-gradient(180deg, rgba(28, 31, 34, 0.9), rgba(21, 23, 26, 0.9)) padding-box,
    linear-gradient(160deg, rgba(241, 168, 23, 0.35), rgba(255, 255, 255, 0.04) 40%)
      border-box;
  border: 1px solid transparent;
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease;
}
.feature-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 40px -22px rgba(241, 168, 23, 0.45);
} /* Opt out of the hover lift — keeps the gradient-hairline surface but stays put,
   for interactive/form feature-cards where a rising card would feel wrong. */
.feature-card-static:hover {
  transform: none;
}
.feature-icon {
  display: inline-flex;
  height: 2.6rem;
  width: 2.6rem;
  align-items: center;
  justify-content: center;
  border-radius: 0.5rem;
  color: #f1a817;
  background: radial-gradient(
    circle at 30% 25%,
    rgba(241, 168, 23, 0.28),
    rgba(241, 168, 23, 0.08)
  );
  box-shadow: inset 0 0 0 1px rgba(241, 168, 23, 0.25);
} /* Decorative center divider with a diamond node. */
.brp-divider {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  color: rgba(241, 168, 23, 0.55);
}
.brp-divider::before,
.brp-divider::after {
  content: '';
  height: 1px;
  flex: 1;
  background: linear-gradient(90deg, transparent, rgba(241, 168, 23, 0.35), transparent);
} /* ---------------------------------------------------------------------------
   PDF reader text layer (see renderTextLayerInto in src/lib/pdfjs.ts).
   pdf.js positions one transparent <span> per glyph run over the rendered
   canvas so the user selects real text (mouse or long-press) exactly where
   it's painted. This block is a faithful adaptation of the .textLayer rules
   in pdfjs-dist/web/pdf_viewer.css — the layer's geometry is a CONTRACT with
   pdf.js: the container is sized via --total-scale-factor (derived from the
   --scale-factor our renderer sets), spans are placed at percentage offsets
   with font-size/scaleX driven by the custom properties TextLayer sets
   (--font-height, --scale-x, --rotate, --min-font-size). Dropping any of
   these desynchronizes selection geometry from the painted glyphs. Keep in
   sync with the installed pdf.js version. */
.pdf-text-layer {
  --min-font-size: 1;
  --min-font-size-inv: calc(1 / var(--min-font-size));
  --user-unit: 1;
  --total-scale-factor: calc(var(--scale-factor, 1) * var(--user-unit));
  --text-scale-factor: calc(var(--total-scale-factor) * var(--min-font-size));
  --scale-round-x: 1px;
  --scale-round-y: 1px;

  position: absolute;
  inset: 0;
  overflow: clip;
  line-height: 1;
  letter-spacing: normal;
  word-spacing: normal;
  text-align: initial;
  transform-origin: 0 0;
  caret-color: CanvasText;
  -webkit-text-size-adjust: none;
  -moz-text-size-adjust: none;
       text-size-adjust: none;
  forced-color-adjust: none;
  z-index: 1;
}
.pdf-text-layer :is(span, br) {
  position: absolute;
  transform-origin: 0% 0%;
  white-space: pre;
  color: transparent;
  cursor: text;
  -webkit-user-select: text;
  -moz-user-select: text;
       user-select: text;
}
.pdf-text-layer > :not(.markedContent),
.pdf-text-layer .markedContent span:not(.markedContent) {
  z-index: 1;
  --font-height: 0;
  --scale-x: 1;
  --rotate: 0deg;
  font-size: calc(var(--text-scale-factor) * var(--font-height));
  transform: rotate(var(--rotate)) scaleX(var(--scale-x)) scale(var(--min-font-size-inv));
}
.pdf-text-layer ::-moz-selection {
  background: rgba(241, 168, 23, 0.4); /* brand gold, translucent */
  color: transparent;
}
.pdf-text-layer ::selection {
  background: rgba(241, 168, 23, 0.4); /* brand gold, translucent */
  color: transparent;
} /* ===========================================================================
 * "Marble & Gold" — the committed expressive brand world (light / warm paper).
 *
 * A warm, low-contrast PAPER world: a stylized pale marble David veined in gold
 * (kintsugi = Isaiah 42:3, "a bruised reed he will not break"), Cormorant
 * display over Hanken body, oxblood + brass accents. Scoped under
 * `.marble-world`. This is the EXPRESSIVE tier (landing / marketing / campaign
 * surfaces); the functional app tier keeps higher contrast for long reading.
 * Documented in DESIGN.md.
 * ======================================================================== */
.marble-world {
  --mg-ground: #ece4d4; /* warm paper — page ground */
  --mg-panel: #f6f1e6; /* raised card surface */
  --mg-panel-2: #efe8da;
  --mg-bone: #211d16; /* primary text — warm ink on paper */
  --mg-soft: rgba(33, 29, 22, 0.72);
  --mg-faint: rgba(33, 29, 22, 0.58);
  --mg-hair: rgba(33, 29, 22, 0.14);
  --mg-hair-2: rgba(33, 29, 22, 0.22);
  --mg-gold: #c2850a; /* deep gold — legible for text/accents on paper */
  --mg-gold-br: #f1a817; /* bright gold — the button fill + kintsugi veins */
  --mg-oxblood: #7c2f2a;
  --mg-forest: #2a332b; /* the second brand accent — the cool counterpoint to gold */
  --mg-forest-line: rgba(42, 51, 43, 0.46); /* forest as a hairline / type stroke */
  color-scheme: light;
  background-color: var(--mg-ground);
  color: var(--mg-bone);
  font-family: 'Hanken Grotesk', ui-sans-serif, system-ui, sans-serif;
}
.marble-world ::-moz-selection {
  background: rgba(241, 168, 23, 0.32);
  color: #211d16;
}
.marble-world ::selection {
  background: rgba(241, 168, 23, 0.32);
  color: #211d16;
}
.mg-h1 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.015em;
  color: var(--mg-bone);
  text-wrap: balance;
} /* The second headline line is an outline word — the modern, "mended" register
   against the solid classical first line — struck in forest green, the brand's
   second accent, so the two brand colours (gold veins + green type) both carry. */
.mg-h1 .mg-out {
  /* A faint forest fill under a stronger forest stroke — reads as the "mended"
     outline register while staying legible (it's the headline's payoff word), and
     holds up over paper down to 390px. */
  color: rgba(42, 51, 43, 0.13);
  -webkit-text-stroke: 1.25px rgba(42, 51, 43, 0.64);
}
.mg-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 500;
  color: var(--mg-bone);
} /* Inline source-citation chip (the grounded-answer specimen). */
.mg-cite {
  font-size: 0.7rem;
  font-weight: 700;
  color: var(--mg-gold);
  background: rgba(241, 168, 23, 0.14);
  border: 1px solid rgba(241, 168, 23, 0.32);
  border-radius: 4px;
  padding: 0 0.28rem;
  margin: 0 1px;
  vertical-align: 1px;
} /* ---------------------------------------------------------------------------
 * Landing bands — the full scrolling expressive page (hero → loop → living
 * argument → provenance → the whole field → Isaiah close). Distinct, asymmetric,
 * spacious; gold stays to seams, the one CTA, and citation chips.
 * ------------------------------------------------------------------------- */

/* The Cormorant lead line used to open each band. */
.mg-lead {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 500;
  line-height: 1.08;
  letter-spacing: -0.01em;
  color: var(--mg-bone);
  text-wrap: balance;
} /* The authored entrance — one orchestrated sequence on first load: the aura
   blooms and the marble settles in, then the copy rises in staged beats. */
@keyframes mg-rise {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.mg-rise {
  animation: mg-rise 0.9s cubic-bezier(0.16, 0.84, 0.44, 1) both;
  animation-delay: 0.15s;
}
.mg-rise-2 {
  animation-delay: 0.32s;
}
@media (prefers-reduced-motion: reduce) {
  .mg-rise,
  .mg-rise-2 {
    animation: none;
  }
} /* ===========================================================================
 * Reference landing (rw-*) — the composed "Marble & Gold" home. Warm-paper
 * expressive register: kintsugi David collage, textured gold buttons, feature
 * grid, scholarly-by-design panel, app mockup, wheat CTA + footer. Built on the
 * --mg-* tokens; the paper is warmed a touch to sit with the marble collage.
 * ======================================================================== */
.rw-landing {
  --mg-ground: #f1ead9; /* warm cream — matches the marble collage paper */
  --mg-panel: #faf6ec;
  --mg-panel-2: #f4eddd;
  --rw-line: rgba(42, 33, 21, 0.14);
  --rw-line-2: rgba(42, 33, 21, 0.22);
  /* Gold-as-text on this warm ground: the standard brass (#c2850a) only reaches
     2.6:1 here, so the landing steps down to the documented brass-deep, which
     clears AA on both the paper (4.7:1) and the panels (5.1:1). Bright gold
     (--mg-gold-br) is untouched — it stays the fill for the CTA and the veins. */
  --mg-gold: #8a5e08;
  background: var(--mg-ground);
  color: var(--mg-bone);
  font-family: 'Hanken Grotesk', ui-sans-serif, system-ui, sans-serif;
} /* Stacked TBRP wordmark (nav + footer). */
.rw-mark {
  display: inline-flex;
  flex-direction: column;
  line-height: 1;
  text-decoration: none;
}
.rw-mark b {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 600;
  font-size: 1.55rem;
  letter-spacing: 0.02em;
  color: var(--mg-bone, #211d16);
}
.rw-mark span {
  font-size: 0.6rem; /* documented micro step */
  font-weight: 600;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--mg-soft, rgba(33, 29, 22, 0.72));
  margin-top: 3px;
} /* Textured gold button — the one gold fill, with a hand-hammered grain + a soft
   top sheen so it reads as gilded metal, not a flat swatch. */
.rw-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-weight: 600;
  font-size: 0.95rem;
  border: none;
  border-radius: 3px;
  padding: 0.7rem 1.3rem;
  cursor: pointer;
  color: var(--mg-gold-ink, #1a1408);
  text-decoration: none;
  background: var(--mg-gold-br, #f1a817);
  box-shadow: 0 10px 30px -10px rgba(241, 168, 23, 0.35);
  transition:
    background 0.16s ease,
    box-shadow 0.16s ease;
}
.rw-btn:hover {
  background: #e0a022;
}
.rw-btn:focus-visible {
  outline: 2px solid var(--mg-gold-br, #f1a817);
  outline-offset: 2px;
} /* Outline button — paper with an ink hairline; the quiet secondary action. */
.rw-btn--outline {
  background: var(--mg-panel);
  color: var(--mg-bone);
  border: 1px solid var(--rw-line-2);
  box-shadow: 0 1px 2px rgba(42, 33, 21, 0.05);
}
.rw-btn--outline::after {
  display: none;
}
.rw-btn--outline:hover {
  border-color: var(--mg-bone);
  background: #fffdf7;
} /* Section eyebrow — a single tracked brass kicker (centered on section bands). */
.rw-eyebrow {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--mg-gold);
} /* Hero — the composed marble collage bleeds to the very TOP and RIGHT edges
   (behind the floating nav), feathered only on its left into the copy. */
.rw-hero {
  position: relative;
  overflow: hidden;
}
.rw-hero__art {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 56%;
  max-width: 780px;
  z-index: 0;
  pointer-events: none;
}
.rw-collage {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: right top;
     object-position: right top;
  /* Feather the left (into the copy) AND the bottom (into the paper) so there is
     no hard rectangle edge — the kintsugi seam alone divides hero from body. */
  -webkit-mask-image:
    linear-gradient(to right, transparent, var(--mg-bone) 28%),
    linear-gradient(to bottom, var(--mg-bone) 72%, transparent);
  mask-image:
    linear-gradient(to right, transparent, var(--mg-bone) 28%),
    linear-gradient(to bottom, var(--mg-bone) 72%, transparent);
  -webkit-mask-composite: source-in;
  mask-composite: intersect;
} /* Tablet & mobile: the marble recedes to a faded, atmospheric backdrop pinned to
   the top-right, behind the copy — legibility first. */
@media (max-width: 1023px) {
  .rw-hero__art {
    width: 118%;
    max-width: none;
    bottom: auto;
    height: 82%;
    opacity: 0.24;
  }
  .rw-collage {
    -webkit-mask-image:
      linear-gradient(to bottom, var(--mg-bone) 42%, transparent 94%),
      linear-gradient(to left, var(--mg-bone) 64%, transparent);
    mask-image:
      linear-gradient(to bottom, var(--mg-bone) 42%, transparent 94%),
      linear-gradient(to left, var(--mg-bone) 64%, transparent);
    -webkit-mask-composite: source-in;
    mask-composite: intersect;
  }
} /* Grounded-answer specimen — the floating "receipt" over the marble. */
.rw-answer {
  background: color-mix(in srgb, var(--mg-panel) 92%, transparent);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border: 1px solid var(--rw-line);
  border-radius: 12px;
  box-shadow: 0 30px 70px -34px rgba(60, 45, 20, 0.55);
  padding: 1.1rem 1.2rem;
}
.rw-verified {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.72rem;
  font-weight: 600;
  color: #2e552c;
}
.rw-verified::before {
  content: '';
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #2e552c;
  box-shadow: 0 0 0 3px rgba(63, 109, 61, 0.16);
} /* Source chip — S# tag + the citation label. */
.rw-chip {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  border: 1px solid var(--rw-line);
  background: var(--mg-ground);
  border-radius: 6px;
  padding: 0.4rem 0.55rem;
  font-size: 0.82rem;
  color: var(--mg-soft);
}
.rw-chip b {
  flex: none;
  font-size: 0.62rem;
  font-weight: 700;
  color: var(--mg-gold);
  background: rgba(241, 168, 23, 0.14);
  border: 1px solid rgba(241, 168, 23, 0.3);
  border-radius: 4px;
  padding: 0.05rem 0.32rem;
} /* Feature tool card. */
.rw-tool {
  background: var(--mg-panel);
  border: 1px solid var(--rw-line);
  border-radius: 12px;
  padding: 1.4rem;
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    border-color 0.18s ease;
}
.rw-tool:hover {
  transform: translateY(-3px);
  border-color: rgba(241, 168, 23, 0.4);
  box-shadow: 0 18px 40px -26px rgba(60, 45, 20, 0.4);
}
.rw-tool__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  color: var(--mg-gold);
}
.rw-tool__icon .ar {
  font-size: 1.5rem;
  line-height: 1;
} /* Scholarly-by-design panel — one large bordered panel, four columns divided by
   hairlines (a specimen wall, not a card grid). */
.rw-panel {
  background: var(--mg-panel);
  border: 1px solid var(--rw-line);
  border-radius: 12px;
  overflow: hidden;
}
.rw-panel__grid {
  display: grid;
  gap: 0;
}
@media (min-width: 900px) {
  .rw-panel__grid {
    grid-template-columns: repeat(4, 1fr);
  }
  .rw-panel__col + .rw-panel__col {
    border-left: 1px solid var(--rw-line);
  }
}
.rw-panel__col {
  padding: 1.4rem 1.5rem;
}
.rw-panel__col + .rw-panel__col {
  border-top: 1px solid var(--rw-line);
}
@media (min-width: 900px) {
  .rw-panel__col + .rw-panel__col {
    border-top: none;
  }
}
.rw-metric {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.32rem 0;
  font-size: 0.85rem;
  color: var(--mg-soft);
}
.rw-metric .n {
  margin-left: auto;
  font-weight: 700;
  color: var(--mg-bone);
  font-variant-numeric: tabular-nums;
}
.rw-metric svg {
  color: var(--mg-gold);
  flex: none;
}
.rw-grade {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 50%;
  background: rgba(63, 109, 61, 0.14);
  color: #2e552c;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.5rem;
  font-weight: 600;
} /* App mockup — a browser-chrome frame around a live-styled deck panel. */
.rw-appframe {
  background: var(--mg-panel);
  border: 1px solid var(--rw-line);
  border-radius: 12px;
  box-shadow: 0 40px 80px -40px rgba(60, 45, 20, 0.5);
  overflow: hidden;
}
.rw-appframe__bar {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.7rem 0.95rem;
  border-bottom: 1px solid var(--rw-line);
  background: var(--mg-panel-2);
  font-size: 0.85rem;
}
.rw-appframe__panes {
  display: grid;
  grid-template-columns: 0.9fr 1.2fr 0.9fr;
}
.rw-appframe__pane {
  padding: 0.9rem 1rem;
}
.rw-appframe__pane + .rw-appframe__pane {
  border-left: 1px solid var(--rw-line);
}
@media (max-width: 640px) {
  .rw-appframe__panes {
    grid-template-columns: 1fr;
  }
  .rw-appframe__pane + .rw-appframe__pane {
    border-left: none;
    border-top: 1px solid var(--rw-line);
  }
}
.rw-navrow {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.4rem 0.5rem;
  border-radius: 6px;
  font-size: 0.82rem;
  color: var(--mg-soft);
}
.rw-navrow--active {
  background: rgba(241, 168, 23, 0.12);
  color: var(--mg-bone);
  font-weight: 600;
}
.rw-navrow .num {
  width: 1.1rem;
  color: var(--mg-faint);
  font-variant-numeric: tabular-nums;
} /* CTA band — a warmer tinted strip flanked by kintsugi cracks. */
.rw-cta {
  background: color-mix(in srgb, var(--mg-ground) 90%, var(--mg-gold));
}
.rw-reed-ring {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 4.5rem;
  height: 4.5rem;
  border-radius: 50%;
  border: 1px solid rgba(241, 168, 23, 0.5);
  color: var(--mg-gold);
  flex: none;
} /* Marketing footer. */
.rw-footer {
  background: var(--mg-panel);
  border-top: 1px solid var(--rw-line);
}
.rw-footcol h3 {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--mg-gold);
  margin-bottom: 0.85rem;
}
.rw-footcol a {
  display: block;
  font-size: 0.95rem;
  color: var(--mg-soft);
  text-decoration: none;
  padding: 0.28rem 0;
  transition: color 0.14s ease;
}
.rw-footcol a:hover {
  color: var(--mg-bone);
} /* Kintsugi border — a full-width gold "crack" on a torn-paper edge, between
   bands. Drawn as SVG; this only sets its colour + glow. */
.rw-seam {
  display: block;
  width: 100%;
  /* The traced vein (viewBox 1254×170, preserveAspectRatio=none) stretches
     full-width; clamp keeps the band shallow so it reads thin and subtle. */
  height: clamp(72px, 10vw, 140px);
  /* Nestle up into the hero's feathered bottom so the vein IS the torn edge,
     not a band below it. */
  margin-top: -44px;
  position: relative;
  z-index: 5;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
} /* One authored entrance for the landing (respects reduced-motion via the block
   above; these reuse mg-rise timing). */
.rw-wheat {
  color: var(--mg-gold);
  opacity: 0.5;
} /* Kintsugi veins used as page watermarks — the mended-crack motif carried
   quietly through the page. Deliberately faint: gold stays meaningful, and the
   Kintsugi Rule forbids gilding a screen. Hidden on small screens, where they
   would crowd the copy rather than accompany it. */
.rw-vein {
  position: absolute;
  z-index: 0;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  opacity: 0.74;
  -o-object-fit: contain;
     object-fit: contain;
}
@media (max-width: 767px) {
  .rw-vein {
    display: none;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .rw-vein {
    transition: opacity 0.4s ease;
  }
}

/* ===========================================================================
 * The Works catalogue — the object vocabulary (see src/lib/workForms.ts).
 *
 * Six kinds live in the works table and only two are codices, so each is drawn
 * in the form it actually has. Everything here is material the object needs to
 * be legible AS that object — a stack of leaves, a staple, a dog-ear, an index
 * tab — and none of it is available as a Tailwind utility.
 * ======================================================================== */

/* The board's cut. A bound board is square where it meets the spine and rounded
   at the fore-edge — the asymmetry is most of what makes a rectangle read as a
   cover. The foot is left square because the text block below continues it: the
   two are one silhouette, not a picture with a bar under it. Logical corners, so
   an RTL catalogue cuts the board the other way round. */
.wk-board {
  border-start-start-radius: 2px; /* rounded.mark — the spine side */
  border-start-end-radius: 3px; /* rounded.sm — the fore-edge */
  border-end-start-radius: 0;
  border-end-end-radius: 0;
}

/* The bound board's leading edge: the hinge where the cover meets the spine.
   Without it a cover reads as a flat picture rather than a bound object. */
.wk-board::before {
  content: '';
  position: absolute;
  inset-block: 0;
  inset-inline-start: 0;
  width: 7%;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(to right, rgba(33, 29, 22, 0.22), rgba(33, 29, 22, 0.02));
}

/* The text block, seen edge-on, continuing the board without a break.
   Height is set inline from the work's extent (pageBlockHeight) — the
   thickness is real bibliographic data.

   Two layers do the work. The lower is a VERTICAL gradient: leaves catch light
   along their middle and fall away above and below, and that curve is what
   makes a strip of pixels read as a stack of paper. The upper is the
   striation, at HALF a pixel and a tenth of its former contrast — the previous
   1px at 0.16 alpha rendered as a barcode at thumbnail size, which was the
   worst thing about the old object.

   `.wk-edge--smooth` is the e-book: the same block, no striation, because it
   has no leaves to catch the light. */
.wk-edge {
  position: relative;
  /* Symmetric, so the leaves sit just inside both boards. The old one-sided
     inset read as a misalignment rather than a binding. */
  margin: 0 1px;
  border-end-start-radius: 3px;
  border-end-end-radius: 3px;
  background:
    repeating-linear-gradient(
      to right,
      rgba(33, 29, 22, 0.1) 0 0.5px,
      rgba(33, 29, 22, 0) 0.5px 2px
    ),
    linear-gradient(to bottom, #ded4be, #f0e9d8 45%, #cfc4ab);
  box-shadow: inset 0 -1px 0 rgba(33, 29, 22, 0.18);
}
.wk-edge--smooth {
  background: linear-gradient(to bottom, #ded4be, #f0e9d8 45%, #cfc4ab);
}

/* The reading ribbon starts INSIDE the block, at the depth actually reached,
   and emerges below it — a marker between the leaves rather than a tick
   floating beneath the object.

   Drawn only when the fraction is honestly known (a PDF with a stored extent);
   a reflowable EPUB gets `.wk-ribbon--mark` at the head instead, which asserts
   a bookmark exists without inventing a percentage. */
.wk-ribbon {
  position: absolute;
  top: 0;
  bottom: -4px;
  width: 2px;
  /* `rounded.mark` — the smallest documented step; on a 2px ribbon it reads as
     a soft tip rather than a corner. */
  border-end-start-radius: 2px;
  border-end-end-radius: 2px;
  background: #f1a817;
}
.wk-ribbon--mark {
  inset-inline-start: 0;
  width: 3px;
}

/* The offprint: loose leaves, fanned, stapled at the corner. The two pseudo-
   elements are the sheets underneath — a journal article was never bound, and
   drawing it as boards is the exact lie this vocabulary exists to avoid.

   Both leaves are pinned to z-index 0 and the face to 1. Generated content
   counts as the first and last child in DOM order, so ::after would otherwise
   paint OVER a positioned face and the article would render as a blank sheet. */
.wk-offprint::before,
.wk-offprint::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: 2px;
  background: #e9e1cf;
  border: 1px solid rgba(33, 29, 22, 0.16);
}
.wk-offprint > * {
  position: relative;
  z-index: 1;
}
.wk-offprint::before {
  transform: rotate(1.4deg) translate(2px, 2px);
}
.wk-offprint::after {
  transform: rotate(0.7deg) translate(1px, 1px);
}

/* The staple through the top-left corner. */
.wk-staple::before {
  content: '';
  position: absolute;
  top: 0.3rem;
  inset-inline-start: 0.3rem;
  width: 8px;
  height: 2px;
  background: rgba(33, 29, 22, 0.45);
  transform: rotate(-42deg);
}

/* The clipping's dog-ear. The border colour must match the page ground, so the
   folded corner reads as removed paper rather than a coloured triangle. */
.wk-dogear::after {
  content: '';
  position: absolute;
  top: 0;
  inset-inline-end: 0;
  border-width: 0 0.8rem 0.8rem 0;
  border-style: solid;
  border-color: transparent var(--mg-paper, #ece4d4) transparent transparent;
  filter: drop-shadow(-1px 1px 0 rgba(33, 29, 22, 0.2));
}

/* Faint body rules — enough printed texture to read as a page of type at
   thumbnail size, without pretending to be legible text. */
.wk-rules i {
  display: block;
  height: 1px;
  background: rgba(33, 29, 22, 0.15);
}
.wk-rules i:last-child {
  width: 62%;
}

/* The Logos index tab down the leading edge: the resource lives in another
   application, so it is filed, not shelved. */
.wk-tab::before {
  content: '';
  position: absolute;
  inset-block: 0;
  inset-inline-start: 0;
  width: 0.34rem;
  background: #2a332b;
}

/* Optical top alignment for a catalogue entry's title.

   Measured rather than guessed: at the catalogue's title step (20px) Cormorant's
   cap top lands 8.75px below the line box top — 3.75px of half-leading plus 5px
   between the font's em top and its cap height. Left alone, every title floats
   nearly nine pixels beneath the top edge of the board beside it, and the two
   read as misaligned even though their boxes start on exactly the same line.
   Trimming that leading lifts the cap onto the board's edge.

   In em, so it tracks the type step instead of pinning to a pixel size. Only
   the first line moves; the rest of the record keeps its rhythm, and the foot
   still meets the object's bottom because the column stretches. */
.wk-title {
  margin-block-start: -0.4375em;
}

/* Attention tints.
   Tailwind's `/opacity` modifier does NOT apply to an arbitrary `var()` colour
   — `bg-[color:var(--color-error)]/30` silently drops the alpha and paints a
   solid block (or nothing). These are the washes at their intended strengths,
   spelled out once. Values are `--color-error` (#a53b26) at low alpha; keep
   them in step if that token ever moves. */
.wk-raised {
  background-color: rgba(165, 59, 38, 0.045);
}
.wk-alert {
  background-color: rgba(165, 59, 38, 0.05);
  border-color: rgba(165, 59, 38, 0.25);
}
.wk-counter {
  background-color: rgba(165, 59, 38, 0.07);
  border-color: rgba(165, 59, 38, 0.3);
  color: var(--color-error);
}
.wk-counter:hover {
  border-color: rgba(165, 59, 38, 0.55);
}

/* A 24px tap target on a control that is deliberately smaller than one.
   The foot-row chips (the Codex fleck, the stance chip) are ~18px tall on
   purpose: they are captions that happen to be pressable, and growing them to
   meet the target would turn the caption into a toolbar and pull the eye off
   the title — the opposite of "the catalogue leads".

   So the overlay extends the HIT area only. Layout is untouched, the chips keep
   their caption scale, and a thumb still lands on them. Requires `position:
   relative` on the control, and a stacking context above the row's stretched
   primary target (the foot controls already sit in `relative z-10` wrappers).
   WCAG 2.5.8 Target Size (Minimum). */
.wk-tap::after {
  content: '';
  position: absolute;
  inset-inline: 0;
  top: 50%;
  height: 24px;
  transform: translateY(-50%);
}

/* Pulling a work off the shelf. One orchestrated gesture for the whole
   catalogue — the object rises and its shadow deepens, nothing else moves. */
.wk-object {
  filter: drop-shadow(0 9px 16px rgba(60, 45, 20, 0.26));
}
@media (prefers-reduced-motion: no-preference) {
  .wk-object {
    transition:
      transform 0.22s cubic-bezier(0.22, 1, 0.36, 1),
      filter 0.22s ease;
  }
  .wk-entry:hover .wk-object,
  .wk-entry:focus-within .wk-object {
    transform: translateY(-4px);
    filter: drop-shadow(0 16px 24px rgba(60, 45, 20, 0.34));
  }
}
.marker\:content-none *::marker {
  --tw-content: none;
  content: var(--tw-content);
}
.marker\:content-none::marker {
  --tw-content: none;
  content: var(--tw-content);
}
.placeholder\:text-brp-white\/25::-moz-placeholder {
  color: rgb(33 29 22 / 0.25);
}
.placeholder\:text-brp-white\/25::placeholder {
  color: rgb(33 29 22 / 0.25);
}
.placeholder\:text-brp-white\/30::-moz-placeholder {
  color: rgb(33 29 22 / 0.3);
}
.placeholder\:text-brp-white\/30::placeholder {
  color: rgb(33 29 22 / 0.3);
}
.placeholder\:text-brp-white\/35::-moz-placeholder {
  color: rgb(33 29 22 / 0.35);
}
.placeholder\:text-brp-white\/35::placeholder {
  color: rgb(33 29 22 / 0.35);
}
.placeholder\:text-brp-white\/40::-moz-placeholder {
  color: rgb(33 29 22 / 0.4);
}
.placeholder\:text-brp-white\/40::placeholder {
  color: rgb(33 29 22 / 0.4);
}
.before\:absolute::before {
  content: var(--tw-content);
  position: absolute;
}
.before\:-left-\[5px\]::before {
  content: var(--tw-content);
  left: -5px;
}
.before\:top-0::before {
  content: var(--tw-content);
  top: 0px;
}
.before\:h-0\.5::before {
  content: var(--tw-content);
  height: 0.125rem;
}
.before\:w-0\.5::before {
  content: var(--tw-content);
  width: 0.125rem;
}
.before\:bg-brp-gold::before {
  content: var(--tw-content);
  --tw-bg-opacity: 1;
  background-color: rgb(241 168 23 / var(--tw-bg-opacity, 1));
}
.after\:absolute::after {
  content: var(--tw-content);
  position: absolute;
}
.after\:inset-0::after {
  content: var(--tw-content);
  inset: 0px;
}
.after\:-right-\[5px\]::after {
  content: var(--tw-content);
  right: -5px;
}
.after\:top-0::after {
  content: var(--tw-content);
  top: 0px;
}
.after\:h-0\.5::after {
  content: var(--tw-content);
  height: 0.125rem;
}
.after\:w-0\.5::after {
  content: var(--tw-content);
  width: 0.125rem;
}
.after\:bg-brp-gold::after {
  content: var(--tw-content);
  --tw-bg-opacity: 1;
  background-color: rgb(241 168 23 / var(--tw-bg-opacity, 1));
}
.after\:content-\[\'\'\]::after {
  --tw-content: '';
  content: var(--tw-content);
}
.first\:mt-0:first-child {
  margin-top: 0px;
}
.first\:border-t-0:first-child {
  border-top-width: 0px;
}
.first\:pt-0:first-child {
  padding-top: 0px;
}
.first\:font-medium:first-child {
  font-weight: 500;
}
.first\:text-brp-white:first-child {
  --tw-text-opacity: 1;
  color: rgb(33 29 22 / var(--tw-text-opacity, 1));
}
.last\:mb-0:last-child {
  margin-bottom: 0px;
}
.last\:border-b-0:last-child {
  border-bottom-width: 0px;
}
.last\:border-e-0:last-child {
  border-inline-end-width: 0px;
}
.empty\:invisible:empty {
  visibility: hidden;
}
.focus-within\:border-brp-gold\/40:focus-within {
  border-color: rgb(241 168 23 / 0.4);
}
.focus-within\:border-brp-gold\/50:focus-within {
  border-color: rgb(241 168 23 / 0.5);
}
.focus-within\:bg-black\/\[0\.035\]:focus-within {
  background-color: rgb(0 0 0 / 0.035);
}
.hover\:-translate-y-0\.5:hover {
  --tw-translate-y: -0.125rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:scale-105:hover {
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:border-black\/10:hover {
  border-color: rgb(0 0 0 / 0.1);
}
.hover\:border-black\/25:hover {
  border-color: rgb(0 0 0 / 0.25);
}
.hover\:border-black\/30:hover {
  border-color: rgb(0 0 0 / 0.3);
}
.hover\:border-brp-brass:hover {
  --tw-border-opacity: 1;
  border-color: rgb(194 133 10 / var(--tw-border-opacity, 1));
}
.hover\:border-brp-brass\/45:hover {
  border-color: rgb(194 133 10 / 0.45);
}
.hover\:border-brp-brass\/60:hover {
  border-color: rgb(194 133 10 / 0.6);
}
.hover\:border-brp-gold\/25:hover {
  border-color: rgb(241 168 23 / 0.25);
}
.hover\:border-brp-gold\/40:hover {
  border-color: rgb(241 168 23 / 0.4);
}
.hover\:border-brp-gold\/45:hover {
  border-color: rgb(241 168 23 / 0.45);
}
.hover\:border-brp-gold\/50:hover {
  border-color: rgb(241 168 23 / 0.5);
}
.hover\:border-brp-gold\/60:hover {
  border-color: rgb(241 168 23 / 0.6);
}
.hover\:border-brp-white\/20:hover {
  border-color: rgb(33 29 22 / 0.2);
}
.hover\:border-brp-white\/30:hover {
  border-color: rgb(33 29 22 / 0.3);
}
.hover\:border-emerald-500\/30:hover {
  border-color: rgb(16 185 129 / 0.3);
}
.hover\:border-red-400\/40:hover {
  border-color: rgb(248 113 113 / 0.4);
}
.hover\:bg-\[\#4752c4\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(71 82 196 / var(--tw-bg-opacity, 1));
}
.hover\:bg-\[\#e0a022\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(224 160 34 / var(--tw-bg-opacity, 1));
}
.hover\:bg-black\/10:hover {
  background-color: rgb(0 0 0 / 0.1);
}
.hover\:bg-black\/5:hover {
  background-color: rgb(0 0 0 / 0.05);
}
.hover\:bg-black\/80:hover {
  background-color: rgb(0 0 0 / 0.8);
}
.hover\:bg-black\/\[0\.025\]:hover {
  background-color: rgb(0 0 0 / 0.025);
}
.hover\:bg-black\/\[0\.035\]:hover {
  background-color: rgb(0 0 0 / 0.035);
}
.hover\:bg-black\/\[0\.03\]:hover {
  background-color: rgb(0 0 0 / 0.03);
}
.hover\:bg-black\/\[0\.04\]:hover {
  background-color: rgb(0 0 0 / 0.04);
}
.hover\:bg-black\/\[0\.05\]:hover {
  background-color: rgb(0 0 0 / 0.05);
}
.hover\:bg-black\/\[0\.06\]:hover {
  background-color: rgb(0 0 0 / 0.06);
}
.hover\:bg-black\/\[0\.07\]:hover {
  background-color: rgb(0 0 0 / 0.07);
}
.hover\:bg-brp-gold:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(241 168 23 / var(--tw-bg-opacity, 1));
}
.hover\:bg-brp-gold\/10:hover {
  background-color: rgb(241 168 23 / 0.1);
}
.hover\:bg-brp-gold\/15:hover {
  background-color: rgb(241 168 23 / 0.15);
}
.hover\:bg-brp-gold\/20:hover {
  background-color: rgb(241 168 23 / 0.2);
}
.hover\:bg-brp-gold\/25:hover {
  background-color: rgb(241 168 23 / 0.25);
}
.hover\:bg-brp-gold\/5:hover {
  background-color: rgb(241 168 23 / 0.05);
}
.hover\:bg-emerald-500\/20:hover {
  background-color: rgb(16 185 129 / 0.2);
}
.hover\:bg-red-500\/15:hover {
  background-color: rgb(239 68 68 / 0.15);
}
.hover\:text-amber-100:hover {
  --tw-text-opacity: 1;
  color: rgb(254 243 199 / var(--tw-text-opacity, 1));
}
.hover\:text-amber-200\/80:hover {
  color: rgb(253 230 138 / 0.8);
}
.hover\:text-brp-brass:hover {
  --tw-text-opacity: 1;
  color: rgb(194 133 10 / var(--tw-text-opacity, 1));
}
.hover\:text-brp-brass-deep:hover {
  --tw-text-opacity: 1;
  color: rgb(138 94 8 / var(--tw-text-opacity, 1));
}
.hover\:text-brp-gold:hover {
  --tw-text-opacity: 1;
  color: rgb(241 168 23 / var(--tw-text-opacity, 1));
}
.hover\:text-brp-gold\/80:hover {
  color: rgb(241 168 23 / 0.8);
}
.hover\:text-brp-white:hover {
  --tw-text-opacity: 1;
  color: rgb(33 29 22 / var(--tw-text-opacity, 1));
}
.hover\:text-brp-white\/60:hover {
  color: rgb(33 29 22 / 0.6);
}
.hover\:text-brp-white\/70:hover {
  color: rgb(33 29 22 / 0.7);
}
.hover\:text-brp-white\/80:hover {
  color: rgb(33 29 22 / 0.8);
}
.hover\:text-brp-white\/85:hover {
  color: rgb(33 29 22 / 0.85);
}
.hover\:text-brp-white\/90:hover {
  color: rgb(33 29 22 / 0.9);
}
.hover\:text-emerald-300:hover {
  --tw-text-opacity: 1;
  color: rgb(110 231 183 / var(--tw-text-opacity, 1));
}
.hover\:text-red-200:hover {
  --tw-text-opacity: 1;
  color: rgb(254 202 202 / var(--tw-text-opacity, 1));
}
.hover\:text-red-300:hover {
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}
.hover\:text-red-400:hover {
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}
.hover\:underline:hover {
  text-decoration-line: underline;
}
.hover\:decoration-brp-brass-deep:hover {
  text-decoration-color: #8a5e08;
}
.hover\:decoration-current:hover {
  text-decoration-color: currentColor;
}
.hover\:opacity-80:hover {
  opacity: 0.8;
}
.hover\:shadow-brand:hover {
  --tw-shadow: 0 10px 30px -10px rgba(241, 168, 23, 0.35);
  --tw-shadow-colored: 0 10px 30px -10px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:ring-1:hover {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.hover\:ring-brp-gold\/50:hover {
  --tw-ring-color: rgb(241 168 23 / 0.5);
}
.hover\:ring-brp-gold\/60:hover {
  --tw-ring-color: rgb(241 168 23 / 0.6);
}
.focus\:border-brp-gold:focus {
  --tw-border-opacity: 1;
  border-color: rgb(241 168 23 / var(--tw-border-opacity, 1));
}
.focus\:border-brp-gold\/50:focus {
  border-color: rgb(241 168 23 / 0.5);
}
.focus\:border-brp-gold\/60:focus {
  border-color: rgb(241 168 23 / 0.6);
}
.focus\:bg-black\/25:focus {
  background-color: rgb(0 0 0 / 0.25);
}
.focus\:text-brp-gold:focus {
  --tw-text-opacity: 1;
  color: rgb(241 168 23 / var(--tw-text-opacity, 1));
}
.focus\:text-brp-white:focus {
  --tw-text-opacity: 1;
  color: rgb(33 29 22 / var(--tw-text-opacity, 1));
}
.focus\:outline-none:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.focus\:ring-1:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus\:ring-2:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus\:ring-brp-gold:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(241 168 23 / var(--tw-ring-opacity, 1));
}
.focus\:ring-offset-2:focus {
  --tw-ring-offset-width: 2px;
}
.focus\:ring-offset-brp-ink:focus {
  --tw-ring-offset-color: #ece4d4;
}
.focus-visible\:border-brp-gold\/60:focus-visible {
  border-color: rgb(241 168 23 / 0.6);
}
.focus-visible\:text-brp-white\/80:focus-visible {
  color: rgb(33 29 22 / 0.8);
}
.focus-visible\:opacity-100:focus-visible {
  opacity: 1;
}
.focus-visible\:outline:focus-visible {
  outline-style: solid;
}
.focus-visible\:outline-1:focus-visible {
  outline-width: 1px;
}
.focus-visible\:outline-2:focus-visible {
  outline-width: 2px;
}
.focus-visible\:outline-offset-2:focus-visible {
  outline-offset: 2px;
}
.focus-visible\:outline-brp-gold:focus-visible {
  outline-color: #f1a817;
}
.focus-visible\:outline-brp-gold\/60:focus-visible {
  outline-color: rgb(241 168 23 / 0.6);
}
.focus-visible\:ring-1:focus-visible {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus-visible\:ring-2:focus-visible {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus-visible\:ring-inset:focus-visible {
  --tw-ring-inset: inset;
}
.focus-visible\:ring-brp-gold\/40:focus-visible {
  --tw-ring-color: rgb(241 168 23 / 0.4);
}
.focus-visible\:ring-brp-gold\/50:focus-visible {
  --tw-ring-color: rgb(241 168 23 / 0.5);
}
.focus-visible\:ring-brp-gold\/60:focus-visible {
  --tw-ring-color: rgb(241 168 23 / 0.6);
}
.disabled\:cursor-default:disabled {
  cursor: default;
}
.disabled\:cursor-not-allowed:disabled {
  cursor: not-allowed;
}
.disabled\:no-underline:disabled {
  text-decoration-line: none;
}
.disabled\:opacity-30:disabled {
  opacity: 0.3;
}
.disabled\:opacity-40:disabled {
  opacity: 0.4;
}
.disabled\:opacity-50:disabled {
  opacity: 0.5;
}
.disabled\:opacity-60:disabled {
  opacity: 0.6;
}
.disabled\:opacity-70:disabled {
  opacity: 0.7;
}
.disabled\:hover\:bg-transparent:hover:disabled {
  background-color: transparent;
}
.disabled\:hover\:text-brp-white\/50:hover:disabled {
  color: rgb(33 29 22 / 0.5);
}
.group[open] .group-open\:rotate-180 {
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group\/hc:focus-within .group-focus-within\/hc\:pointer-events-auto {
  pointer-events: auto;
}
.group\/info:focus-within .group-focus-within\/info\:visible {
  visibility: visible;
}
.group:focus-within .group-focus-within\:visible {
  visibility: visible;
}
.group\/info:focus-within .group-focus-within\/info\:translate-y-0 {
  --tw-translate-y: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:focus-within .group-focus-within\:translate-y-0 {
  --tw-translate-y: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group\/hc:focus-within .group-focus-within\/hc\:opacity-100 {
  opacity: 1;
}
.group\/info:focus-within .group-focus-within\/info\:opacity-100 {
  opacity: 1;
}
.group\/tip:focus-within .group-focus-within\/tip\:opacity-100 {
  opacity: 1;
}
.group:focus-within .group-focus-within\:opacity-100 {
  opacity: 1;
}
.group\/hc:hover .group-hover\/hc\:pointer-events-auto {
  pointer-events: auto;
}
.group\/info:hover .group-hover\/info\:visible {
  visibility: visible;
}
.group:hover .group-hover\:visible {
  visibility: visible;
}
.group\/info:hover .group-hover\/info\:translate-y-0 {
  --tw-translate-y: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:translate-x-1 {
  --tw-translate-x: 0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:translate-y-0 {
  --tw-translate-y: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:translate-y-\[0\.1em\] {
  --tw-translate-y: 0.1em;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:scale-105 {
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:scale-110 {
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:scale-x-100 {
  --tw-scale-x: 1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:border-brp-gold\/40 {
  border-color: rgb(241 168 23 / 0.4);
}
.group:hover .group-hover\:border-brp-white\/40 {
  border-color: rgb(33 29 22 / 0.4);
}
.group:hover .group-hover\:bg-black\/15 {
  background-color: rgb(0 0 0 / 0.15);
}
.group:hover .group-hover\:bg-brp-gold\/60 {
  background-color: rgb(241 168 23 / 0.6);
}
.group:hover .group-hover\:text-brp-gold {
  --tw-text-opacity: 1;
  color: rgb(241 168 23 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-brp-gold\/90 {
  color: rgb(241 168 23 / 0.9);
}
.group:hover .group-hover\:text-brp-white {
  --tw-text-opacity: 1;
  color: rgb(33 29 22 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-brp-white\/70 {
  color: rgb(33 29 22 / 0.7);
}
.group:hover .group-hover\:text-brp-white\/80 {
  color: rgb(33 29 22 / 0.8);
}
.group\/hc:hover .group-hover\/hc\:opacity-100 {
  opacity: 1;
}
.group\/info:hover .group-hover\/info\:opacity-100 {
  opacity: 1;
}
.group\/item:hover .group-hover\/item\:opacity-100 {
  opacity: 1;
}
.group\/tip:hover .group-hover\/tip\:opacity-100 {
  opacity: 1;
}
.group:hover .group-hover\:opacity-100 {
  opacity: 1;
}
.group:focus-visible .group-focus-visible\:bg-brp-gold {
  --tw-bg-opacity: 1;
  background-color: rgb(241 168 23 / var(--tw-bg-opacity, 1));
}
.data-\[closed\]\:scale-95[data-closed] {
  --tw-scale-x: .95;
  --tw-scale-y: .95;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[disabled\]\:cursor-not-allowed[data-disabled] {
  cursor: not-allowed;
}
.data-\[focus\]\:bg-black\/5[data-focus] {
  background-color: rgb(0 0 0 / 0.05);
}
.data-\[focus\]\:bg-black\/\[0\.06\][data-focus] {
  background-color: rgb(0 0 0 / 0.06);
}
.data-\[focus\]\:bg-brp-gold\/15[data-focus] {
  background-color: rgb(241 168 23 / 0.15);
}
.data-\[focus\]\:bg-red-500\/15[data-focus] {
  background-color: rgb(239 68 68 / 0.15);
}
.data-\[open\]\:bg-black\/5[data-open] {
  background-color: rgb(0 0 0 / 0.05);
}
.data-\[focus\]\:text-brp-white[data-focus] {
  --tw-text-opacity: 1;
  color: rgb(33 29 22 / var(--tw-text-opacity, 1));
}
.data-\[focus\]\:text-red-200[data-focus] {
  --tw-text-opacity: 1;
  color: rgb(254 202 202 / var(--tw-text-opacity, 1));
}
.data-\[open\]\:text-brp-white[data-open] {
  --tw-text-opacity: 1;
  color: rgb(33 29 22 / var(--tw-text-opacity, 1));
}
.data-\[selected\]\:text-brp-brass-deep[data-selected] {
  --tw-text-opacity: 1;
  color: rgb(138 94 8 / var(--tw-text-opacity, 1));
}
.data-\[selected\]\:text-brp-gold[data-selected] {
  --tw-text-opacity: 1;
  color: rgb(241 168 23 / var(--tw-text-opacity, 1));
}
.data-\[closed\]\:opacity-0[data-closed] {
  opacity: 0;
}
.data-\[disabled\]\:opacity-40[data-disabled] {
  opacity: 0.4;
}
.group[data-selected] .group-data-\[selected\]\:opacity-100 {
  opacity: 1;
}
@supports (backdrop-filter: var(--tw)) {

  .supports-\[backdrop-filter\]\:bg-brp-paper\/80 {
    background-color: rgb(246 241 230 / 0.8);
  }
}
@media (prefers-reduced-motion: no-preference) {

  @keyframes deck-row-in {

    from {
      opacity: 0;
      transform: translateY(4px);
    }

    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  .motion-safe\:animate-\[deck-row-in_150ms_ease-out\] {
    animation: deck-row-in 150ms ease-out;
  }

  @keyframes deck-row-in {

    from {
      opacity: 0;
      transform: translateY(4px);
    }

    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  .motion-safe\:animate-deck-row-in {
    animation: deck-row-in 0.35s ease-out;
  }

  @keyframes page-in {

    from {
      opacity: 0;
    }

    to {
      opacity: 1;
    }
  }

  .motion-safe\:animate-page-in {
    animation: page-in 0.4s ease;
  }

  @keyframes page-settle {

    from {
      opacity: 0;
      transform: translateY(-10px) scale(1.02);
    }

    to {
      opacity: 1;
      transform: translateY(0) scale(1);
    }
  }

  .motion-safe\:animate-page-settle {
    animation: page-settle 0.5s ease-out;
  }

  @keyframes pulse {

    50% {
      opacity: .5;
    }
  }

  .motion-safe\:animate-pulse {
    animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
  }

  @keyframes pulse-glow {

    0%, 100% {
      box-shadow: 0 0 0 5px rgba(241, 168, 23, 0.14);
    }

    50% {
      box-shadow: 0 0 0 9px rgba(241, 168, 23, 0.05);
    }
  }

  .motion-safe\:animate-pulse-glow {
    animation: pulse-glow 2.4s ease-in-out infinite;
  }

  @keyframes rail-sheen {

    from {
      transform: translateX(-100%);
    }

    to {
      transform: translateX(400%);
    }
  }

  .motion-safe\:animate-rail-sheen {
    animation: rail-sheen 2.6s linear infinite;
  }
}
@media (prefers-reduced-motion: reduce) {

  .motion-reduce\:animate-none {
    animation: none;
  }

  .motion-reduce\:transition-none {
    transition-property: none;
  }
}
@media (min-width: 640px) {

  .sm\:right-12 {
    right: 3rem;
  }

  .sm\:right-5 {
    right: 1.25rem;
  }

  .sm\:right-6 {
    right: 1.5rem;
  }

  .sm\:col-span-1 {
    grid-column: span 1 / span 1;
  }

  .sm\:col-span-2 {
    grid-column: span 2 / span 2;
  }

  .sm\:col-start-2 {
    grid-column-start: 2;
  }

  .sm\:ml-auto {
    margin-left: auto;
  }

  .sm\:mt-2 {
    margin-top: 0.5rem;
  }

  .sm\:mt-3 {
    margin-top: 0.75rem;
  }

  .sm\:mt-5 {
    margin-top: 1.25rem;
  }

  .sm\:block {
    display: block;
  }

  .sm\:inline {
    display: inline;
  }

  .sm\:flex {
    display: flex;
  }

  .sm\:inline-flex {
    display: inline-flex;
  }

  .sm\:hidden {
    display: none;
  }

  .sm\:w-10 {
    width: 2.5rem;
  }

  .sm\:w-\[15rem\] {
    width: 15rem;
  }

  .sm\:w-\[22rem\] {
    width: 22rem;
  }

  .sm\:w-\[5\.5rem\] {
    width: 5.5rem;
  }

  .sm\:w-\[8\.5rem\] {
    width: 8.5rem;
  }

  .sm\:w-auto {
    width: auto;
  }

  .sm\:min-w-\[10rem\] {
    min-width: 10rem;
  }

  .sm\:min-w-\[160px\] {
    min-width: 160px;
  }

  .sm\:min-w-\[180px\] {
    min-width: 180px;
  }

  .sm\:min-w-\[200px\] {
    min-width: 200px;
  }

  .sm\:min-w-\[240px\] {
    min-width: 240px;
  }

  .sm\:max-w-64 {
    max-width: 16rem;
  }

  .sm\:max-w-\[200px\] {
    max-width: 200px;
  }

  .sm\:max-w-md {
    max-width: 28rem;
  }

  .sm\:flex-none {
    flex: none;
  }

  .sm\:shrink-0 {
    flex-shrink: 0;
  }

  .sm\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sm\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .sm\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .sm\:grid-cols-\[6\.5rem_minmax\(0\2c 1fr\)\] {
    grid-template-columns: 6.5rem minmax(0,1fr);
  }

  .sm\:grid-cols-\[8\.5rem_minmax\(0\2c 1fr\)_auto\] {
    grid-template-columns: 8.5rem minmax(0,1fr) auto;
  }

  .sm\:grid-cols-\[minmax\(0\2c 1fr\)_minmax\(0\2c 2fr\)_minmax\(0\2c 1\.2fr\)_auto\] {
    grid-template-columns: minmax(0,1fr) minmax(0,2fr) minmax(0,1.2fr) auto;
  }

  .sm\:grid-cols-\[minmax\(0\2c 2fr\)_minmax\(0\2c 1fr\)_minmax\(0\2c 1fr\)_auto\] {
    grid-template-columns: minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) auto;
  }

  .sm\:flex-row {
    flex-direction: row;
  }

  .sm\:flex-wrap {
    flex-wrap: wrap;
  }

  .sm\:flex-nowrap {
    flex-wrap: nowrap;
  }

  .sm\:items-start {
    align-items: flex-start;
  }

  .sm\:items-end {
    align-items: flex-end;
  }

  .sm\:items-center {
    align-items: center;
  }

  .sm\:items-baseline {
    align-items: baseline;
  }

  .sm\:justify-end {
    justify-content: flex-end;
  }

  .sm\:justify-between {
    justify-content: space-between;
  }

  .sm\:gap-3 {
    gap: 0.75rem;
  }

  .sm\:gap-4 {
    gap: 1rem;
  }

  .sm\:gap-5 {
    gap: 1.25rem;
  }

  .sm\:gap-7 {
    gap: 1.75rem;
  }

  .sm\:gap-x-3 {
    -moz-column-gap: 0.75rem;
         column-gap: 0.75rem;
  }

  .sm\:border-l {
    border-left-width: 1px;
  }

  .sm\:border-t-0 {
    border-top-width: 0px;
  }

  .sm\:p-4 {
    padding: 1rem;
  }

  .sm\:p-5 {
    padding: 1.25rem;
  }

  .sm\:p-6 {
    padding: 1.5rem;
  }

  .sm\:p-7 {
    padding: 1.75rem;
  }

  .sm\:p-8 {
    padding: 2rem;
  }

  .sm\:px-1 {
    padding-left: 0.25rem;
    padding-right: 0.25rem;
  }

  .sm\:px-2 {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }

  .sm\:px-4 {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .sm\:px-7 {
    padding-left: 1.75rem;
    padding-right: 1.75rem;
  }

  .sm\:px-8 {
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .sm\:py-0 {
    padding-top: 0px;
    padding-bottom: 0px;
  }

  .sm\:py-1 {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
  }

  .sm\:py-1\.5 {
    padding-top: 0.375rem;
    padding-bottom: 0.375rem;
  }

  .sm\:pt-2 {
    padding-top: 0.5rem;
  }

  .sm\:text-left {
    text-align: left;
  }

  .sm\:text-2xl {
    font-size: 1.5rem;
    line-height: 2rem;
  }

  .sm\:text-2xs {
    font-size: 0.6rem;
    line-height: 0.85rem;
  }

  .sm\:text-3xl {
    font-size: 2rem;
    line-height: 2.25rem;
  }

  .sm\:text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem;
  }

  .sm\:text-5xl {
    font-size: 3rem;
    line-height: 1;
  }

  .sm\:text-\[11px\] {
    font-size: 11px;
  }

  .sm\:text-sm {
    font-size: 0.85rem;
    line-height: 1.25rem;
  }

  .sm\:text-xs {
    font-size: 0.72rem;
    line-height: 1rem;
  }
}
@media (min-width: 768px) {

  .md\:sticky {
    position: sticky;
  }

  .md\:-end-\[27px\] {
    inset-inline-end: -27px;
  }

  .md\:top-20 {
    top: 5rem;
  }

  .md\:order-1 {
    order: 1;
  }

  .md\:order-2 {
    order: 2;
  }

  .md\:col-span-1 {
    grid-column: span 1 / span 1;
  }

  .md\:col-span-2 {
    grid-column: span 2 / span 2;
  }

  .md\:ml-auto {
    margin-left: auto;
  }

  .md\:mt-1 {
    margin-top: 0.25rem;
  }

  .md\:block {
    display: block;
  }

  .md\:inline {
    display: inline;
  }

  .md\:flex {
    display: flex;
  }

  .md\:grid {
    display: grid;
  }

  .md\:hidden {
    display: none;
  }

  .md\:h-\[30px\] {
    height: 30px;
  }

  .md\:h-\[68px\] {
    height: 68px;
  }

  .md\:max-h-\[52vh\] {
    max-height: 52vh;
  }

  .md\:max-h-none {
    max-height: none;
  }

  .md\:w-64 {
    width: 16rem;
  }

  .md\:w-80 {
    width: 20rem;
  }

  .md\:w-auto {
    width: auto;
  }

  .md\:flex-1 {
    flex: 1 1 0%;
  }

  .md\:shrink-0 {
    flex-shrink: 0;
  }

  .md\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .md\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .md\:grid-cols-\[1\.5fr_1fr_1fr_1fr\] {
    grid-template-columns: 1.5fr 1fr 1fr 1fr;
  }

  .md\:grid-cols-\[11rem_minmax\(0\2c 1fr\)\] {
    grid-template-columns: 11rem minmax(0,1fr);
  }

  .md\:grid-cols-\[13rem_minmax\(0\2c 1fr\)\] {
    grid-template-columns: 13rem minmax(0,1fr);
  }

  .md\:grid-cols-\[minmax\(0\2c 15rem\)_minmax\(0\2c 1fr\)\] {
    grid-template-columns: minmax(0,15rem) minmax(0,1fr);
  }

  .md\:grid-cols-\[minmax\(0\2c 1fr\)_10rem_10rem_auto\] {
    grid-template-columns: minmax(0,1fr) 10rem 10rem auto;
  }

  .md\:grid-cols-\[minmax\(0\2c 1fr\)_7\.5rem_10rem_11rem_auto\] {
    grid-template-columns: minmax(0,1fr) 7.5rem 10rem 11rem auto;
  }

  .md\:flex-row {
    flex-direction: row;
  }

  .md\:flex-col {
    flex-direction: column;
  }

  .md\:items-start {
    align-items: flex-start;
  }

  .md\:items-end {
    align-items: flex-end;
  }

  .md\:items-center {
    align-items: center;
  }

  .md\:justify-start {
    justify-content: flex-start;
  }

  .md\:justify-end {
    justify-content: flex-end;
  }

  .md\:justify-between {
    justify-content: space-between;
  }

  .md\:gap-2\.5 {
    gap: 0.625rem;
  }

  .md\:gap-4 {
    gap: 1rem;
  }

  .md\:justify-self-start {
    justify-self: start;
  }

  .md\:border-b-0 {
    border-bottom-width: 0px;
  }

  .md\:border-e {
    border-inline-end-width: 1px;
  }

  .md\:border-l {
    border-left-width: 1px;
  }

  .md\:border-r {
    border-right-width: 1px;
  }

  .md\:border-black\/\[0\.12\] {
    border-color: rgb(0 0 0 / 0.12);
  }

  .md\:px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .md\:py-10 {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }

  .md\:py-3 {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
  }

  .md\:pb-0 {
    padding-bottom: 0px;
  }

  .md\:pe-6 {
    padding-inline-end: 1.5rem;
  }

  .md\:pe-9 {
    padding-inline-end: 2.25rem;
  }

  .md\:ps-7 {
    padding-inline-start: 1.75rem;
  }

  .md\:pt-7 {
    padding-top: 1.75rem;
  }

  .md\:text-end {
    text-align: end;
  }

  .md\:text-\[2\.75rem\] {
    font-size: 2.75rem;
  }

  .md\:text-sm {
    font-size: 0.85rem;
    line-height: 1.25rem;
  }

  .md\:text-xs {
    font-size: 0.72rem;
    line-height: 1rem;
  }

  .md\:opacity-0 {
    opacity: 0;
  }

  .group:focus-within .md\:group-focus-within\:opacity-100 {
    opacity: 1;
  }

  .group:hover .md\:group-hover\:opacity-100 {
    opacity: 1;
  }

  .md\:has-\[\[data-open\]\]\:opacity-100:has([data-open]) {
    opacity: 1;
  }
}
@media (min-width: 1024px) {

  .lg\:absolute {
    position: absolute;
  }

  .lg\:sticky {
    position: sticky;
  }

  .lg\:bottom-16 {
    bottom: 4rem;
  }

  .lg\:right-5 {
    right: 1.25rem;
  }

  .lg\:top-0 {
    top: 0px;
  }

  .lg\:top-20 {
    top: 5rem;
  }

  .lg\:top-5 {
    top: 1.25rem;
  }

  .lg\:top-6 {
    top: 1.5rem;
  }

  .lg\:mx-6 {
    margin-left: 1.5rem;
    margin-right: 1.5rem;
  }

  .lg\:mt-0 {
    margin-top: 0px;
  }

  .lg\:mt-0\.5 {
    margin-top: 0.125rem;
  }

  .lg\:block {
    display: block;
  }

  .lg\:flex {
    display: flex;
  }

  .lg\:grid {
    display: grid;
  }

  .lg\:hidden {
    display: none;
  }

  .lg\:max-h-\[calc\(100dvh-6rem\)\] {
    max-height: calc(100dvh - 6rem);
  }

  .lg\:min-h-\[44rem\] {
    min-height: 44rem;
  }

  .lg\:w-80 {
    width: 20rem;
  }

  .lg\:max-w-none {
    max-width: none;
  }

  .lg\:flex-1 {
    flex: 1 1 0%;
  }

  .lg\:shrink {
    flex-shrink: 1;
  }

  .lg\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lg\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .lg\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .lg\:grid-cols-\[0\.85fr_1\.15fr\] {
    grid-template-columns: 0.85fr 1.15fr;
  }

  .lg\:grid-cols-\[1\.5rem_minmax\(0\2c 1fr\)_auto\] {
    grid-template-columns: 1.5rem minmax(0,1fr) auto;
  }

  .lg\:grid-cols-\[260px_minmax\(0\2c 1fr\)\] {
    grid-template-columns: 260px minmax(0,1fr);
  }

  .lg\:grid-cols-\[280px_minmax\(0\2c 1fr\)\] {
    grid-template-columns: 280px minmax(0,1fr);
  }

  .lg\:grid-cols-\[minmax\(0\2c 1fr\)_20rem\] {
    grid-template-columns: minmax(0,1fr) 20rem;
  }

  .lg\:grid-cols-\[minmax\(0\2c 1fr\)_260px\] {
    grid-template-columns: minmax(0,1fr) 260px;
  }

  .lg\:grid-cols-\[minmax\(0\2c 1fr\)_300px\] {
    grid-template-columns: minmax(0,1fr) 300px;
  }

  .lg\:grid-cols-\[minmax\(0\2c 1fr\)_320px\] {
    grid-template-columns: minmax(0,1fr) 320px;
  }

  .lg\:grid-cols-\[minmax\(0\2c 22rem\)_minmax\(0\2c 1fr\)\] {
    grid-template-columns: minmax(0,22rem) minmax(0,1fr);
  }

  .lg\:grid-cols-\[minmax\(300px\2c 460px\)_minmax\(300px\2c 1fr\)\] {
    grid-template-columns: minmax(300px,460px) minmax(300px,1fr);
  }

  .lg\:flex-col {
    flex-direction: column;
  }

  .lg\:items-start {
    align-items: flex-start;
  }

  .lg\:gap-14 {
    gap: 3.5rem;
  }

  .lg\:gap-5 {
    gap: 1.25rem;
  }

  .lg\:gap-6 {
    gap: 1.5rem;
  }

  .lg\:self-start {
    align-self: flex-start;
  }

  .lg\:overflow-y-auto {
    overflow-y: auto;
  }

  .lg\:overflow-x-visible {
    overflow-x: visible;
  }

  .lg\:whitespace-normal {
    white-space: normal;
  }

  .lg\:px-4 {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .lg\:py-20 {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

  .lg\:pb-20 {
    padding-bottom: 5rem;
  }

  .lg\:pb-24 {
    padding-bottom: 6rem;
  }

  .lg\:pb-28 {
    padding-bottom: 7rem;
  }

  .lg\:pl-4 {
    padding-left: 1rem;
  }

  .lg\:pr-4 {
    padding-right: 1rem;
  }

  .lg\:pt-44 {
    padding-top: 11rem;
  }

  .lg\:text-6xl {
    font-size: 3.75rem;
    line-height: 1;
  }
}
.\[\&\:\:-webkit-details-marker\]\:hidden::-webkit-details-marker {
  display: none;
}
.\[\&\:has\(\>input\)\]\:list-none:has(>input) {
  list-style-type: none;
}
.\[\&\>\*\+\*\]\:pt-5>*+* {
  padding-top: 1.25rem;
}
.\[\&\>svg\]\:h-4>svg {
  height: 1rem;
}
.\[\&\>svg\]\:w-4>svg {
  width: 1rem;
}
.\[\&_\.lane-ar\]\:font-display .lane-ar {
  font-family: "Cormorant Garamond", Georgia, serif;
}
.\[\&_\.lane-ar\]\:text-brp-white .lane-ar {
  --tw-text-opacity: 1;
  color: rgb(33 29 22 / var(--tw-text-opacity, 1));
}
.\[\&_\.lane-cite\]\:hidden .lane-cite {
  display: none;
}
.\[\&_\.lane-cite\]\:text-brp-white\/35 .lane-cite {
  color: rgb(33 29 22 / 0.35);
}
.\[\&_\.lane-src\]\:cursor-help .lane-src {
  cursor: help;
}
.\[\&_\.lane-src\]\:no-underline .lane-src {
  text-decoration-line: none;
}
.\[\&_em\]\:italic em {
  font-style: italic;
}
.\[\&_em\]\:text-brp-white\/90 em {
  color: rgb(33 29 22 / 0.9);
}
.\[\&_mark\]\:rounded mark {
  border-radius: 0.25rem;
}
.\[\&_mark\]\:bg-brp-gold\/30 mark {
  background-color: rgb(241 168 23 / 0.3);
}
.\[\&_mark\]\:px-0\.5 mark {
  padding-left: 0.125rem;
  padding-right: 0.125rem;
}
.\[\&_mark\]\:font-medium mark {
  font-weight: 500;
}
.\[\&_mark\]\:text-brp-gold mark {
  --tw-text-opacity: 1;
  color: rgb(241 168 23 / var(--tw-text-opacity, 1));
}
.\[\&_summary\:\:-webkit-details-marker\]\:hidden summary::-webkit-details-marker {
  display: none;
}
