/* ============================================================================
 * Aurora Pro — global stylesheet entry point.
 *
 * This file is intentionally THIN: it imports the ordered, single-
 * responsibility partials below. The import ORDER is load-bearing — it
 * reproduces the exact source order (and therefore the exact cascade) of the
 * pre-split monolith:
 *
 *   tailwind        → the three `@tailwind base/components/utilities` directives
 *   tokens          → `@layer base` design tokens (:root / .dark)
 *   base            → `@layer base` element/body + base `@layer utilities`
 *                     helpers + global focus-visible / shadow aesthetics
 *   markdown        → `@layer components` markdown typography + KaTeX/Shiki
 *   clinical-tables → `@layer components` clinical table suite + mobile breakout
 *   animations      → keyframes, animation utilities, reduced-motion handling
 *
 * `@layer` content hoists to the matching `@tailwind` directive regardless of
 * file; plain CSS lands after the utilities layer in import order. Do not
 * reorder these imports without re-checking the cascade (see
 * analysis/PHASE_B4_CSS_DETANGLE.md). Imports MUST stay at the top of this file
 * (postcss-import requirement); layout.tsx imports only this file.
 * ========================================================================== */

/* ============================================================================
 * tailwind.css — the Tailwind layer entry.
 * Imported FIRST by globals.css. Declaring the three `@tailwind` directives in
 * the first partial (rather than in globals.css after the @import list) keeps
 * the import statements at the very top of globals.css — required by
 * postcss-import — while still emitting the base/components/utilities layers
 * ahead of every partial, so the partials' plain CSS lands after the utilities
 * layer exactly as in the pre-split monolith.
 * ========================================================================== */

*, ::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.17 | 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 */
  tab-size: 4; /* 3 */
  font-family: var(--font-sans), 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]) {
  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::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;
}

:root {
    /*
     * Aurora Design Tokens — Light Mode
     * Refined per 2026-ai-interface-design-research.md §2.1 "Cognitive Calm"
     * Warmer off-white background in the #F7F7F5–#FAFAF9 range.
     */
    --background: 40 20% 99%;       /* Warm off-white — cognitive calm */
    --foreground: 210 14% 15%;      /* Near-black — 95% legibility */
    --card: 0 0% 100%;              /* Pure white cards for clean separation */
    --card-foreground: 210 14% 15%;
    --popover: 0 0% 100%;
    --popover-foreground: 210 14% 15%;
    --primary: 211 100% 50%;        /* Clarity Blue #0D6EFD */
    --primary-foreground: 0 0% 100%;
    --secondary: 40 10% 96%;        /* Warm ash — reduced visual weight */
    --secondary-foreground: 210 14% 15%;
    --muted: 40 10% 96%;
    --muted-foreground: 210 11% 46%;/* Mineral Gray — slightly darker for AAA aim */
    --accent: 211 100% 50%;
    --accent-foreground: 0 0% 100%;
    --destructive: 0 84.2% 60.2%;
    --destructive-foreground: 0 0% 98%;
    --success: 162 72% 37%;         /* Serene Teal 600 — positive / confirm (mirrors --destructive) */
    --success-foreground: 0 0% 100%;
    --warning: 38 92% 50%;          /* Amber — caution / file warnings */
    --warning-foreground: 30 74% 22%;
    --border: 40 8% 91%;            /* Warm subtle border */
    --input: 40 8% 94%;
    --ring: 211 100% 50%;
    --chart-1: 211 100% 50%;        /* Clarity Blue */
    --chart-2: 162 76% 47%;         /* Serene Teal */
    --chart-3: 262 48% 51%;         /* Academic Plum */
    --chart-4: 210 11% 49%;         /* Mineral Gray */
    --chart-5: 210 11% 25%;         /* Deep Charcoal */
    --radius: 0.75rem;              /* 12px — "soft corners" per research §2.1 */
    --sidebar-background: 40 20% 99%;
    --sidebar-foreground: 210 14% 15%;
    --sidebar-primary: 211 100% 50%;
    --sidebar-primary-foreground: 0 0% 100%;
    --sidebar-accent: 40 10% 96%;
    --sidebar-accent-foreground: 210 14% 15%;
    --sidebar-border: 40 8% 91%;
    --sidebar-ring: 211 100% 50%;
    /* User message bubble colors — muted neutral for minimal aesthetic */
    --user-bubble-bg: 40 8% 94%;    /* Warm ash bubble */
    --user-bubble-text: 210 14% 15%;
    --user-border: 40 8% 78%;       /* Warm ash, darker — left-border accent */

    /* Animation duration tokens — research §1.1 */
    --duration-instant: 100ms;
    --duration-quick: 200ms;
    --duration-normal: 300ms;
    --duration-slow: 500ms;

    /* Easing tokens — research §1.1 */
    --ease-standard: cubic-bezier(0.4, 0, 0.2, 1);
    --ease-enter: cubic-bezier(0, 0, 0.2, 1);
    --ease-exit: cubic-bezier(0.4, 0, 1, 1);
  }

.dark {
    /*
     * Aurora Design Tokens — Dark Mode
     * Enhanced contrast per research §6.1 accessibility benchmarks.
     */
    --background: 220 14% 10%;      /* Deep dark — less blue-tint for rest */
    --foreground: 220 14% 95%;      /* Light text */
    --card: 220 14% 13%;            /* Slightly lighter than background */
    --card-foreground: 220 14% 95%;
    --popover: 220 14% 13%;
    --popover-foreground: 220 14% 95%;
    --primary: 211 100% 65%;        /* Lighter Clarity Blue for dark mode */
    --primary-foreground: 0 0% 100%;
    --secondary: 220 14% 16%;
    --secondary-foreground: 220 14% 95%;
    --muted: 220 14% 16%;
    --muted-foreground: 220 10% 62%;/* Brighter secondary text for dark */
    --accent: 211 100% 65%;
    --accent-foreground: 0 0% 100%;
    --destructive: 0 62.8% 50%;
    --destructive-foreground: 220 14% 98%;
    --success: 162 70% 48%;
    --success-foreground: 0 0% 100%;
    --warning: 38 92% 56%;
    --warning-foreground: 38 90% 78%;
    --border: 220 14% 18%;
    --input: 220 14% 16%;
    --ring: 211 100% 65%;
    --chart-1: 211 100% 65%;
    --chart-2: 162 76% 55%;
    --chart-3: 262 48% 65%;
    --chart-4: 210 11% 65%;
    --chart-5: 210 17% 85%;
    --sidebar-background: 220 14% 11%;
    --sidebar-foreground: 220 14% 95%;
    --sidebar-primary: 211 100% 65%;
    --sidebar-primary-foreground: 0 0% 100%;
    --sidebar-accent: 220 14% 16%;
    --sidebar-accent-foreground: 220 14% 95%;
    --sidebar-border: 220 14% 20%;
    --sidebar-ring: 211 100% 65%;
    /* User message bubble colors — Dark Mode — subtle elevation */
    --user-bubble-bg: 220 14% 18%;
    --user-bubble-text: 220 14% 95%;
    --user-border: 220 14% 28%;     /* Raised neutral — left-border accent */

    /* Animation duration tokens (same as light) */
    --duration-instant: 100ms;
    --duration-quick: 200ms;
    --duration-normal: 300ms;
    --duration-slow: 500ms;

    /* Easing tokens */
    --ease-standard: cubic-bezier(0.4, 0, 0.2, 1);
    --ease-enter: cubic-bezier(0, 0, 0.2, 1);
    --ease-exit: cubic-bezier(0.4, 0, 1, 1);
  }

* {
  border-color: hsl(var(--border));
}

body {
  background-color: hsl(var(--background));
  color: hsl(var(--foreground));
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    /* Inter optical features — quiet luxury (Linear/Stripe/Raycast 2026) */
    font-feature-settings: "ss01", "cv11", "cv02", "cv03", "cv04";
    text-rendering: optimizeLegibility;
}

/* CSS-17: gate the decorative paper texture behind prefers-reduced-data so
   * metered/Save-Data connections skip the image download. The bg-background
   * colour underneath remains the fallback. background-repeat is harmless when
   * no image loads, so it stays outside the query. */

@media (prefers-reduced-data: no-preference) {
    body:not(.dark) {
      background-image: url('/paper-texture.png');
    }
  }

body:not(.dark) {
    background-repeat: repeat;
  }

.dark body {
    background-color: hsl(var(--background));
  }

/* Optimización de fuentes: Simular peso 500 usando 400 + font-synthesis */

.font-medium,
  [class*="font-medium"] {
    font-weight: 500;
    font-synthesis: weight;
  }

/* ── Light clínico (héroe) ─────────────────────────────────────────────── */

[data-aurora-redesign] {
    /* IBM Plex Mono is injected by app/layout.tsx as --font-mono-pc (next/font).
       Robust fallback if the font network fails. */
    --font-mono: var(--font-mono-pc), ui-monospace, "SFMono-Regular", "IBM Plex Mono", monospace;

    --pc-paper: 210 30% 99%;       /* papel blanco frío */
    --pc-surface: 0 0% 100%;       /* superficie pura */
    --pc-surface-2: 210 24% 97%;   /* relleno sutil (hover, code) */
    --pc-ink: 216 33% 12%;         /* tinta casi negra, grafito azulado */
    --pc-ink-2: 216 15% 33%;       /* secundaria — AA en texto pequeño */
    --pc-ink-3: 216 12% 46%;       /* terciaria — AA en texto normal */
    --pc-line: 216 22% 90%;        /* hairline */
    --pc-line-2: 216 18% 82%;      /* hairline fuerte / hover */
    --pc-accent: 211 62% 38%;      /* azul-instrumento (enlaces/foco/envío/activo) */
    --pc-accent-2: 211 66% 31%;    /* acento profundo (hover) */
    --pc-accent-weak: 211 70% 95%; /* relleno de acento tenue */
    --pc-danger: 0 58% 44%;        /* error tinta */
    --pc-danger-weak: 0 70% 97%;   /* relleno de error tenue */
    --pc-agent-perspectiva: 211 64% 42%;
    --pc-agent-memoria: 170 68% 28%;
    --pc-agent-evidencia: 262 40% 50%;
    --pc-agent-sistema: 216 14% 40%;
    --pc-radius: 7px;

    /* Aurora boreal — LOS colores, en un solo sitio.
       Los tres usos (el borde vivo de una acción, el borde fijo del canvas y
       la aparición del paciente en la cabecera) tienen que ser el MISMO
       degradado: si se copian, divergen. Lo único que cambia entre ellos es
       si se mueve. */
    --pc-aurora-stops:
      hsl(var(--pc-accent) / 0.55),
      hsl(168 62% 52% / 0.85),
      hsl(276 58% 62% / 0.75),
      hsl(168 62% 52% / 0.85),
      hsl(var(--pc-accent) / 0.55);

    background: hsl(var(--pc-paper));
    color: hsl(var(--pc-ink));
    font-family: var(--font-sans), ui-sans-serif, system-ui, sans-serif;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    /* Nunca sintetizar oblicuas/negritas: si una cara real no carga (Plex
       italic, p. ej.) preferimos heredar del fallback declarado (Georgia /
       system-ui, ambos con itálicas reales) en lugar de inclinar la cara
       upright. Esto evita el "Times-like" sintético que rompe la jerarquía. */
    font-synthesis-weight: none;
    font-synthesis-style: none;
  }

/* ── Dark (secundario) — atado al .dark real de next-themes ─────────────── */

.dark [data-aurora-redesign] {
    --pc-paper: 220 20% 9%;
    --pc-surface: 220 18% 12%;
    --pc-surface-2: 220 16% 16%;
    --pc-ink: 213 22% 93%;
    --pc-ink-2: 214 14% 68%;
    --pc-ink-3: 214 12% 54%;
    --pc-line: 216 16% 22%;
    --pc-line-2: 216 14% 30%;
    --pc-accent: 211 76% 64%;
    --pc-accent-2: 211 82% 72%;
    --pc-accent-weak: 211 50% 18%;
    --pc-danger: 0 66% 64%;
    --pc-danger-weak: 0 40% 18%;
    --pc-agent-perspectiva: 211 76% 62%;
    --pc-agent-memoria: 168 58% 50%;
    --pc-agent-evidencia: 262 58% 72%;
    --pc-agent-sistema: 214 14% 62%;
  }

/* ── Foco accesible (un anillo de acento, sin glow) ────────────────────── */

[data-aurora-redesign] :focus-visible {
    outline: 2px solid hsl(var(--pc-accent));
    outline-offset: 2px;
    border-radius: 3px;
  }

[data-aurora-redesign] ::selection {
    background: hsl(var(--pc-accent) / 0.18);
  }

.\!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;
  }
}

.prose {
  color: var(--tw-prose-body);
  max-width: 65ch;
}

.prose :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.25em;
  margin-bottom: 1.25em;
}

.prose :where([class~="lead"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-lead);
  font-size: 1.25em;
  line-height: 1.6;
  margin-top: 1.2em;
  margin-bottom: 1.2em;
}

.prose :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-links);
  text-decoration: underline;
  font-weight: 500;
}

.prose :where(strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-bold);
  font-weight: 600;
}

.prose :where(a strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(blockquote strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(thead th strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: decimal;
  margin-top: 1.25em;
  margin-bottom: 1.25em;
  padding-inline-start: 1.625em;
}

.prose :where(ol[type="A"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: upper-alpha;
}

.prose :where(ol[type="a"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: lower-alpha;
}

.prose :where(ol[type="A" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: upper-alpha;
}

.prose :where(ol[type="a" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: lower-alpha;
}

.prose :where(ol[type="I"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: upper-roman;
}

.prose :where(ol[type="i"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: lower-roman;
}

.prose :where(ol[type="I" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: upper-roman;
}

.prose :where(ol[type="i" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: lower-roman;
}

.prose :where(ol[type="1"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: decimal;
}

.prose :where(ul):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: disc;
  margin-top: 1.25em;
  margin-bottom: 1.25em;
  padding-inline-start: 1.625em;
}

.prose :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker {
  font-weight: 400;
  color: var(--tw-prose-counters);
}

.prose :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker {
  color: var(--tw-prose-bullets);
}

.prose :where(dt):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-headings);
  font-weight: 600;
  margin-top: 1.25em;
}

.prose :where(hr):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  border-color: var(--tw-prose-hr);
  border-top-width: 1px;
  margin-top: 3em;
  margin-bottom: 3em;
}

.prose :where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-weight: 500;
  font-style: italic;
  color: var(--tw-prose-quotes);
  border-inline-start-width: 0.25rem;
  border-inline-start-color: var(--tw-prose-quote-borders);
  quotes: "\201C""\201D""\2018""\2019";
  margin-top: 1.6em;
  margin-bottom: 1.6em;
  padding-inline-start: 1em;
}

.prose :where(blockquote p:first-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::before {
  content: open-quote;
}

.prose :where(blockquote p:last-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::after {
  content: close-quote;
}

.prose :where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-headings);
  font-weight: 800;
  font-size: 2.25em;
  margin-top: 0;
  margin-bottom: 0.8888889em;
  line-height: 1.1111111;
}

.prose :where(h1 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-weight: 900;
  color: inherit;
}

.prose :where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-headings);
  font-weight: 700;
  font-size: 1.5em;
  margin-top: 2em;
  margin-bottom: 1em;
  line-height: 1.3333333;
}

.prose :where(h2 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-weight: 800;
  color: inherit;
}

.prose :where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-headings);
  font-weight: 600;
  font-size: 1.25em;
  margin-top: 1.6em;
  margin-bottom: 0.6em;
  line-height: 1.6;
}

.prose :where(h3 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-weight: 700;
  color: inherit;
}

.prose :where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-headings);
  font-weight: 600;
  margin-top: 1.5em;
  margin-bottom: 0.5em;
  line-height: 1.5;
}

.prose :where(h4 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-weight: 700;
  color: inherit;
}

.prose :where(img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 2em;
  margin-bottom: 2em;
}

.prose :where(picture):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  display: block;
  margin-top: 2em;
  margin-bottom: 2em;
}

.prose :where(video):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 2em;
  margin-bottom: 2em;
}

.prose :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-weight: 500;
  font-family: inherit;
  color: var(--tw-prose-kbd);
  box-shadow: 0 0 0 1px var(--tw-prose-kbd-shadows), 0 3px 0 var(--tw-prose-kbd-shadows);
  font-size: 0.875em;
  border-radius: 0.3125rem;
  padding-top: 0.1875em;
  padding-inline-end: 0.375em;
  padding-bottom: 0.1875em;
  padding-inline-start: 0.375em;
}

.prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-code);
  font-weight: 600;
  font-size: 0.875em;
}

.prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before {
  content: "`";
}

.prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after {
  content: "`";
}

.prose :where(a code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(h1 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(h2 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
  font-size: 0.875em;
}

.prose :where(h3 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
  font-size: 0.9em;
}

.prose :where(h4 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(blockquote code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(thead th code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-pre-code);
  background-color: var(--tw-prose-pre-bg);
  overflow-x: auto;
  font-weight: 400;
  font-size: 0.875em;
  line-height: 1.7142857;
  margin-top: 1.7142857em;
  margin-bottom: 1.7142857em;
  border-radius: 0.375rem;
  padding-top: 0.8571429em;
  padding-inline-end: 1.1428571em;
  padding-bottom: 0.8571429em;
  padding-inline-start: 1.1428571em;
}

.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  background-color: transparent;
  border-width: 0;
  border-radius: 0;
  padding: 0;
  font-weight: inherit;
  color: inherit;
  font-size: inherit;
  font-family: inherit;
  line-height: inherit;
}

.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before {
  content: none;
}

.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after {
  content: none;
}

.prose :where(table):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  width: 100%;
  table-layout: auto;
  margin-top: 2em;
  margin-bottom: 2em;
  font-size: 0.875em;
  line-height: 1.7142857;
}

.prose :where(thead):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  border-bottom-width: 1px;
  border-bottom-color: var(--tw-prose-th-borders);
}

.prose :where(thead th):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-headings);
  font-weight: 600;
  vertical-align: bottom;
  padding-inline-end: 0.5714286em;
  padding-bottom: 0.5714286em;
  padding-inline-start: 0.5714286em;
}

.prose :where(tbody tr):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  border-bottom-width: 1px;
  border-bottom-color: var(--tw-prose-td-borders);
}

.prose :where(tbody tr:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  border-bottom-width: 0;
}

.prose :where(tbody td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  vertical-align: baseline;
}

.prose :where(tfoot):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  border-top-width: 1px;
  border-top-color: var(--tw-prose-th-borders);
}

.prose :where(tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  vertical-align: top;
}

.prose :where(th, td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  text-align: start;
}

.prose :where(figure > *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
  margin-bottom: 0;
}

.prose :where(figcaption):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-captions);
  font-size: 0.875em;
  line-height: 1.4285714;
  margin-top: 0.8571429em;
}

.prose {
  --tw-prose-body: #374151;
  --tw-prose-headings: #111827;
  --tw-prose-lead: #4b5563;
  --tw-prose-links: #111827;
  --tw-prose-bold: #111827;
  --tw-prose-counters: #6b7280;
  --tw-prose-bullets: #d1d5db;
  --tw-prose-hr: #e5e7eb;
  --tw-prose-quotes: #111827;
  --tw-prose-quote-borders: #e5e7eb;
  --tw-prose-captions: #6b7280;
  --tw-prose-kbd: #111827;
  --tw-prose-kbd-shadows: rgb(17 24 39 / 10%);
  --tw-prose-code: #111827;
  --tw-prose-pre-code: #e5e7eb;
  --tw-prose-pre-bg: #1f2937;
  --tw-prose-th-borders: #d1d5db;
  --tw-prose-td-borders: #e5e7eb;
  --tw-prose-invert-body: #d1d5db;
  --tw-prose-invert-headings: #fff;
  --tw-prose-invert-lead: #9ca3af;
  --tw-prose-invert-links: #fff;
  --tw-prose-invert-bold: #fff;
  --tw-prose-invert-counters: #9ca3af;
  --tw-prose-invert-bullets: #4b5563;
  --tw-prose-invert-hr: #374151;
  --tw-prose-invert-quotes: #f3f4f6;
  --tw-prose-invert-quote-borders: #374151;
  --tw-prose-invert-captions: #9ca3af;
  --tw-prose-invert-kbd: #fff;
  --tw-prose-invert-kbd-shadows: rgb(255 255 255 / 10%);
  --tw-prose-invert-code: #fff;
  --tw-prose-invert-pre-code: #d1d5db;
  --tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);
  --tw-prose-invert-th-borders: #4b5563;
  --tw-prose-invert-td-borders: #374151;
  font-size: 1rem;
  line-height: 1.75;
}

.prose :where(picture > img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
  margin-bottom: 0;
}

.prose :where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

.prose :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0.375em;
}

.prose :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0.375em;
}

.prose :where(.prose > ul > li p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.75em;
  margin-bottom: 0.75em;
}

.prose :where(.prose > ul > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.25em;
}

.prose :where(.prose > ul > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-bottom: 1.25em;
}

.prose :where(.prose > ol > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.25em;
}

.prose :where(.prose > ol > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-bottom: 1.25em;
}

.prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.75em;
  margin-bottom: 0.75em;
}

.prose :where(dl):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.25em;
  margin-bottom: 1.25em;
}

.prose :where(dd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.5em;
  padding-inline-start: 1.625em;
}

.prose :where(hr + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}

.prose :where(h2 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}

.prose :where(h3 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}

.prose :where(h4 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}

.prose :where(thead th:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0;
}

.prose :where(thead th:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-end: 0;
}

.prose :where(tbody td, tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-top: 0.5714286em;
  padding-inline-end: 0.5714286em;
  padding-bottom: 0.5714286em;
  padding-inline-start: 0.5714286em;
}

.prose :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0;
}

.prose :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-end: 0;
}

.prose :where(figure):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 2em;
  margin-bottom: 2em;
}

.prose :where(.prose > :first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}

.prose :where(.prose > :last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-bottom: 0;
}

.prose-sm {
  font-size: 0.875rem;
  line-height: 1.7142857;
}

.prose-sm :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.1428571em;
  margin-bottom: 1.1428571em;
}

.prose-sm :where([class~="lead"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 1.2857143em;
  line-height: 1.5555556;
  margin-top: 0.8888889em;
  margin-bottom: 0.8888889em;
}

.prose-sm :where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.3333333em;
  margin-bottom: 1.3333333em;
  padding-inline-start: 1.1111111em;
}

.prose-sm :where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 2.1428571em;
  margin-top: 0;
  margin-bottom: 0.8em;
  line-height: 1.2;
}

.prose-sm :where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 1.4285714em;
  margin-top: 1.6em;
  margin-bottom: 0.8em;
  line-height: 1.4;
}

.prose-sm :where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 1.2857143em;
  margin-top: 1.5555556em;
  margin-bottom: 0.4444444em;
  line-height: 1.5555556;
}

.prose-sm :where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.4285714em;
  margin-bottom: 0.5714286em;
  line-height: 1.4285714;
}

.prose-sm :where(img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.7142857em;
  margin-bottom: 1.7142857em;
}

.prose-sm :where(picture):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.7142857em;
  margin-bottom: 1.7142857em;
}

.prose-sm :where(picture > img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
  margin-bottom: 0;
}

.prose-sm :where(video):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.7142857em;
  margin-bottom: 1.7142857em;
}

.prose-sm :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.8571429em;
  border-radius: 0.3125rem;
  padding-top: 0.1428571em;
  padding-inline-end: 0.3571429em;
  padding-bottom: 0.1428571em;
  padding-inline-start: 0.3571429em;
}

.prose-sm :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.8571429em;
}

.prose-sm :where(h2 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.9em;
}

.prose-sm :where(h3 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.8888889em;
}

.prose-sm :where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.8571429em;
  line-height: 1.6666667;
  margin-top: 1.6666667em;
  margin-bottom: 1.6666667em;
  border-radius: 0.25rem;
  padding-top: 0.6666667em;
  padding-inline-end: 1em;
  padding-bottom: 0.6666667em;
  padding-inline-start: 1em;
}

.prose-sm :where(ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.1428571em;
  margin-bottom: 1.1428571em;
  padding-inline-start: 1.5714286em;
}

.prose-sm :where(ul):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.1428571em;
  margin-bottom: 1.1428571em;
  padding-inline-start: 1.5714286em;
}

.prose-sm :where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.2857143em;
  margin-bottom: 0.2857143em;
}

.prose-sm :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0.4285714em;
}

.prose-sm :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0.4285714em;
}

.prose-sm :where(.prose-sm > ul > li p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.5714286em;
  margin-bottom: 0.5714286em;
}

.prose-sm :where(.prose-sm > ul > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.1428571em;
}

.prose-sm :where(.prose-sm > ul > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-bottom: 1.1428571em;
}

.prose-sm :where(.prose-sm > ol > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.1428571em;
}

.prose-sm :where(.prose-sm > ol > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-bottom: 1.1428571em;
}

.prose-sm :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.5714286em;
  margin-bottom: 0.5714286em;
}

.prose-sm :where(dl):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.1428571em;
  margin-bottom: 1.1428571em;
}

.prose-sm :where(dt):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.1428571em;
}

.prose-sm :where(dd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.2857143em;
  padding-inline-start: 1.5714286em;
}

.prose-sm :where(hr):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 2.8571429em;
  margin-bottom: 2.8571429em;
}

.prose-sm :where(hr + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}

.prose-sm :where(h2 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}

.prose-sm :where(h3 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}

.prose-sm :where(h4 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}

.prose-sm :where(table):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.8571429em;
  line-height: 1.5;
}

.prose-sm :where(thead th):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-end: 1em;
  padding-bottom: 0.6666667em;
  padding-inline-start: 1em;
}

.prose-sm :where(thead th:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0;
}

.prose-sm :where(thead th:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-end: 0;
}

.prose-sm :where(tbody td, tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-top: 0.6666667em;
  padding-inline-end: 1em;
  padding-bottom: 0.6666667em;
  padding-inline-start: 1em;
}

.prose-sm :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0;
}

.prose-sm :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-end: 0;
}

.prose-sm :where(figure):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.7142857em;
  margin-bottom: 1.7142857em;
}

.prose-sm :where(figure > *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
  margin-bottom: 0;
}

.prose-sm :where(figcaption):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.8571429em;
  line-height: 1.3333333;
  margin-top: 0.6666667em;
}

.prose-sm :where(.prose-sm > :first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}

.prose-sm :where(.prose-sm > :last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-bottom: 0;
}

.markdown-content {
  font-size: 1rem;
  line-height: 1.5rem;
  line-height: 1.625;
    /* 🔥 CRÍTICO: Evitar que CUALQUIER contenido expanda el contenedor.
     * The clamp via utilities replaces the former triple `!important` (CSS-12):
     * no `.prose` plugin or library default fights these here, so plain
     * utilities inside @layer components are enough. */
    min-width: 0px;
    max-width: 100%;
    overflow: hidden;
    /* Optimización para mejor renderizado */
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.markdown-content h1,
  .markdown-content h2,
  .markdown-content h3,
  .markdown-content h4,
  .markdown-content h5,
  .markdown-content h6 {
  margin-top: 0.75rem;
  margin-bottom: 0.5rem;
  font-weight: 600;
  color: hsl(var(--foreground));
}

.markdown-content h1:first-child,
  .markdown-content h2:first-child,
  .markdown-content h3:first-child,
  .markdown-content h4:first-child,
  .markdown-content h5:first-child,
  .markdown-content h6:first-child {
  margin-top: 0px;
}

.markdown-content h1,
  .markdown-content h2,
  .markdown-content h3,
  .markdown-content h4,
  .markdown-content h5,
  .markdown-content h6 {
    line-height: 1.3;
  }

.markdown-content h1 {
  margin-bottom: 0.75rem;
  border-bottom-width: 1px;
  border-color: hsl(var(--border));
  padding-bottom: 0.25rem;
  font-size: 1.125rem;
  line-height: 1.75rem;
}

.markdown-content h2 {
  margin-bottom: 0.5rem;
  font-size: 1rem;
  line-height: 1.5rem;
}

.markdown-content h3 {
  margin-bottom: 0.25rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.markdown-content p {
  margin-bottom: 0.75rem;
}

.markdown-content p:last-child {
  margin-bottom: 0px;
}

.markdown-content p {
    line-height: 1.6;
    font-size: inherit;
  }

.markdown-content ul,
  .markdown-content ol {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  margin-left: 1rem;
}

.markdown-content ul > :not([hidden]) ~ :not([hidden]),
  .markdown-content ol > :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));
}

.markdown-content ul,
  .markdown-content ol {
    padding-left: 1rem;
  }

.markdown-content ul {
  list-style-type: disc;
}

.markdown-content ol {
  list-style-type: decimal;
}

.markdown-content li {
  font-size: 1rem;
  line-height: 1.5rem;
    line-height: 1.5;
    margin-bottom: 0.25rem;
}

.markdown-content li:last-child {
    margin-bottom: 0;
  }

.markdown-content code {
  border-radius: 0.25rem;
  background-color: hsl(var(--muted));
  padding-left: 0.25rem;
  padding-right: 0.25rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 0.75rem;
  line-height: 1rem;
  color: hsl(var(--foreground));
    word-break: break-word;
}

.markdown-content pre {
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
  overflow-x: auto;
  border-radius: 0.75rem;
  border-width: 1px;
  border-color: hsl(var(--border));
  background-color: hsl(var(--muted));
  padding: 0.75rem;
    line-height: 1.4;
}

.markdown-content pre code {
  background-color: transparent;
  padding: 0px;
  font-size: 0.75rem;
  line-height: 1rem;
    word-break: normal;
}

.markdown-content blockquote {
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
  border-left-width: 4px;
  border-color: hsl(var(--border));
  background-color: hsl(var(--secondary) / 0.6);
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1rem;
  font-style: italic;
    /* var(--radius) tracks the token (CSS-03); only the right corners round. */
    border-radius: 0 var(--radius) var(--radius) 0;
}

.markdown-content a {
  color: hsl(var(--primary));
  text-decoration-line: underline;
}

.markdown-content a:hover {
  text-decoration-line: underline;
}

.markdown-content a {
    /* Token-ized link colour transition (CSS-08): instant + standard easing. */
    transition: color var(--duration-instant) var(--ease-standard);
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
  }

.markdown-content a:hover {
    text-decoration-thickness: 2px;
  }

.markdown-content strong {
  font-weight: 600;
  color: hsl(var(--foreground));
}

.markdown-content em {
  font-style: italic;
  color: hsl(var(--muted-foreground));
}

.markdown-content hr {
    /* border-border/50 tracks the token in dark mode (CSS-02), lighter divider. */
    margin-top: 1rem;
    margin-bottom: 1rem;
    border-color: hsl(var(--border) / 0.5);
    border-width: 1px 0 0 0;
  }

/* Optimizaciones para mejor rendimiento */

.markdown-content * {
    box-sizing: border-box;
  }

.markdown-content img {
    max-width: 100%;
    height: auto;
    /* calc(var(--radius) - 4px) ≈ 0.375rem at the default 0.75rem token (CSS-04). */
    border-radius: calc(var(--radius) - 4px);
  }

/* 🔥 TABLAS CLÍNICAS PROFESIONALES - MOBILE FIRST */

.markdown-content table {
    /* CSS-01: border-border tracks the token in dark mode.
     * CSS-13: overflow-hidden clips the inner thead/cell fills to the rounded-lg
     * corners (border-collapse:separate would otherwise square them off). */
    margin-top: 0.75rem;
    margin-bottom: 0.75rem;
    width: 100%;
    overflow: hidden;
    border-radius: var(--radius);
    border-width: 1px;
    border-color: hsl(var(--border));
    border-collapse: separate;
    border-spacing: 0;
  }

.markdown-content thead {
  background-color: hsl(var(--muted));
}

.markdown-content th,
  .markdown-content td {
    /* CSS-01: border-border/50 — a lighter divider that tracks the token. */
    border-bottom-width: 1px;
    border-color: hsl(var(--border) / 0.5);
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    text-align: left;
  }

.markdown-content th {
    font-synthesis: weight;
    font-size: 0.75rem;
    line-height: 1rem;
    font-weight: 500;
    color: hsl(var(--foreground));
    background-color: transparent;
  }

.markdown-content td {
  font-size: 0.875rem;
  line-height: 1.25rem;
  color: hsl(var(--foreground));
    line-height: 1.5;
}

/* Estilos específicos para tablas clínicas generadas por agentes.
   * Specificity (0,2,0) already beats the base table rules (0,1,1) — no
   * !important needed (prose is not installed). */

.markdown-content .clinical-table-wrapper,
  .prose .clinical-table-wrapper {
    /* Base: scroll horizontal suave */
    position: relative;
    display: block;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    margin-top: 1rem;
    margin-bottom: 1rem;
  }

/* CSS-19: this file's table-density pivots are intentionally keyed to `sm`
   * (640px), NOT the app's `md` (768px) surface ladder. Rationale: clinical
   * tables live inside the chat message bubble, whose width is governed by the
   * @container message-bubble query (639px) below — so the table breaks out of
   * mobile scroll mode as soon as the BUBBLE is wide enough, which is the `sm`
   * threshold, not the viewport's `md`. The two are paired by design; do not
   * migrate to 768 without visual proof against the container pivot. */

@media (min-width: 640px) {
    .markdown-content .clinical-table-wrapper,
    .prose .clinical-table-wrapper {
      width: 100%;
      max-width: 100%;
      overflow-x: auto;
      overflow-y: visible;
      margin-left: 0;
      margin-right: 0;
      padding-left: 0;
      padding-right: 0;
    }
  }

.markdown-content .clinical-table-wrapper::before,
  .markdown-content .clinical-table-wrapper::after,
  .prose .clinical-table-wrapper::before,
  .prose .clinical-table-wrapper::after {
    /* Indicadores de scroll en mobile */
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: 20px;
    pointer-events: none;
    z-index: 5;
    opacity: 0;
    /* CSS-07: token-ized — normal duration + standard easing. */
    transition: opacity var(--duration-normal) var(--ease-standard);
  }

.markdown-content .clinical-table-wrapper::before,
  .prose .clinical-table-wrapper::before {
    left: 0;
    background: linear-gradient(to right, hsl(var(--background)), transparent);
  }

.markdown-content .clinical-table-wrapper::after,
  .prose .clinical-table-wrapper::after {
    right: 0;
    background: linear-gradient(to left, hsl(var(--background)), transparent);
  }

.markdown-content .clinical-table-wrapper:hover::before,
  .markdown-content .clinical-table-wrapper:hover::after,
  .prose .clinical-table-wrapper:hover::before,
  .prose .clinical-table-wrapper:hover::after {
    opacity: 1;
  }

.markdown-content .clinical-table,
  .prose .clinical-table {
    /* Base: diseño profesional y limpio */
    border-collapse: separate;
    border-spacing: 0;
    background: hsl(var(--card));
    font-variant-numeric: tabular-nums;
    /* Mobile: texto más pequeño pero legible */
    font-size: 0.75rem;
    /* CRÍTICO: La tabla debe tener su ancho natural, NO 100% */
    width: auto;
    min-width: 100%;
    max-width: none;
    table-layout: auto;
    display: table;
  }

/* CSS-19: `sm` pivot paired with the @container bubble query — see rationale
   * on the first @media (min-width: 640px) block above. */

@media (min-width: 640px) {
    .markdown-content .clinical-table,
    .prose .clinical-table {
      font-size: 0.875rem;
    }
  }

.markdown-content .clinical-table-header,
  .prose .clinical-table-header {
    /* Header sticky en scroll vertical */
    position: sticky;
    top: 0;
    background: hsl(var(--secondary) / 0.95);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    /* CSS-06: foreground-derived elevation so the sticky header shadow adapts
     * to dark mode instead of staying a fixed black rgb(). */
    box-shadow: 0 1px 3px 0 hsl(var(--foreground) / 0.1);
    z-index: 10;
  }

.markdown-content .clinical-table-th,
  .prose .clinical-table-th {
    /* Headers: profesional y destacado */
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.025em;
    color: hsl(var(--foreground) / 0.9);
    /* Mobile: padding reducido */
    padding: 0.5rem;
    white-space: nowrap;
    border-bottom: 2px solid hsl(var(--border) / 0.8);
  }

/* CSS-19: `sm` pivot paired with the @container bubble query — see rationale
   * on the first @media (min-width: 640px) block above. */

@media (min-width: 640px) {
    .markdown-content .clinical-table-th,
    .prose .clinical-table-th {
      padding: 0.75rem 1rem;
    }
  }

.markdown-content .clinical-table-td,
  .prose .clinical-table-td {
    /* Celdas: legible y espaciado */
    color: hsl(var(--foreground) / 0.85);
    line-height: 1.5;
    vertical-align: top;
    /* Mobile: padding reducido */
    padding: 0.5rem;
    /* Permitir wrap en mobile para contenido largo */
    word-break: break-word;
    hyphens: auto;
    border-bottom: 1px solid hsl(var(--border) / 0.5);
  }

/* CSS-19: `sm` pivot paired with the @container bubble query — see rationale
   * on the first @media (min-width: 640px) block above. */

@media (min-width: 640px) {
    .markdown-content .clinical-table-td,
    .prose .clinical-table-td {
      padding: 0.75rem 1rem;
      /* CSS-14: Desktop permite wrap (white-space: normal) para que celdas con
       * texto largo no fuercen scroll horizontal; el comentario previo decía
       * "nowrap", contradiciendo el código — corregido para reflejar la intención
       * real. Mobile conserva su scroll horizontal (overflow-x:auto). */
      white-space: normal;
    }
  }

.markdown-content .clinical-table-row,
  .prose .clinical-table-row {
    /* Hover effect profesional.
     * RETAINED !important: this transition-duration must win over the global
     * `*{transition-duration:.01ms!important}` reduced-motion rule (0,0,0) so the
     * row hover keeps its transition exactly as before the strip.
     * CSS-07: duration/easing token-ized (instant + standard) — !important kept. */
    transition: background-color var(--duration-instant) var(--ease-standard) !important;
  }

.markdown-content .clinical-table-row:hover,
  .prose .clinical-table-row:hover {
    background: hsl(var(--secondary) / 0.3);
  }

.markdown-content .clinical-table-row:last-child .clinical-table-td,
  .prose .clinical-table-row:last-child .clinical-table-td {
    border-bottom: none;
  }

/* Zebra striping para mejor legibilidad en tablas largas.
   * Winners are decided by specificity (even-hover > even > row-hover), which
   * is preserved with or without !important — so !important is dropped here. */

.markdown-content .clinical-table tbody .clinical-table-row:nth-child(even),
  .prose .clinical-table tbody .clinical-table-row:nth-child(even) {
    background: hsl(var(--secondary) / 0.1);
  }

.markdown-content .clinical-table tbody .clinical-table-row:nth-child(even):hover,
  .prose .clinical-table tbody .clinical-table-row:nth-child(even):hover {
    background: hsl(var(--secondary) / 0.35);
  }

/* Estilos para primera columna (típicamente labels) */

.markdown-content .clinical-table-td:first-child,
  .prose .clinical-table-td:first-child {
    font-weight: 500;
    color: hsl(var(--foreground));
  }

/* 🔥 CONTAINER QUERIES: Establecer contexto de contención en burbujas de mensaje
   * PERF: Scoped to .chat-message-bubble ONLY. Previously this selector also
   * included .markdown-content and .prose, which applied `contain: layout
   * inline-size style` to 2–3 additional nested elements per message. On long
   * conversations this multiplied layout work during animations/resizes and
   * was a dominant source of desktop jank. .chat-message-bubble still wraps
   * every message, so @container message-bubble queries continue to match. */

.chat-message-bubble {
    container-type: inline-size;
    container-name: message-bubble;
    /* Horizontal padding the clinical-table mobile breakout must escape to
       reach the bubble edge: the bubble's own p-3 (message-item.tsx) plus the
       message-list px-3 (chat-interface.tsx). Kept as tokens so the breakout
       tracks the padding instead of hardcoding the arithmetic. */
    --chat-bubble-pad-x: 0.75rem;  /* message-item.tsx p-3 */
    --chat-list-pad-x: 0.75rem;    /* chat-interface.tsx px-3 */
    --clinical-table-breakout-x: calc(var(--chat-bubble-pad-x) + var(--chat-list-pad-x));
  }

/* Responsive: scroll horizontal en mobile con indicador visual.
   * The @media (min-width: 640px) reset above and this @container breakout both
   * target .clinical-table-wrapper at equal specificity (0,2,0). When both match
   * (wide viewport + narrow bubble) the LATER rule (this one) wins by source
   * order — true with or without !important, so !important is dropped from both
   * uniformly and the breakout still wins.
   * CSS-19: the 639px @container threshold is a deliberate BUBBLE-width pivot
   * (not a viewport breakpoint) — it triggers mobile scroll mode whenever the
   * message bubble is narrow, regardless of viewport width, and is the partner
   * of the `sm` @media blocks above. Defensible as-is. */

@container message-bubble (max-width: 639px) {
    .markdown-content .clinical-table-wrapper,
    .prose .clinical-table-wrapper {
      /* CRÍTICO: Forzar scroll horizontal en mobile */
      display: block;
      width: 100vw; /* Ancho completo de la ventana */
      max-width: 100vw;
      overflow-x: auto;
      overflow-y: visible;
      /* Break out of the bubble + message-list padding so the table scrolls
         edge-to-edge, then re-apply equal inner padding. The offset is the
         --clinical-table-breakout-x token defined on .chat-message-bubble
         (0.75rem + 0.75rem = 1.5rem / 24px), so it stays in sync with the
         bubble/list padding instead of hardcoding the arithmetic. */
      margin-left: calc(-1 * var(--clinical-table-breakout-x));
      margin-right: calc(-1 * var(--clinical-table-breakout-x));
      padding-left: var(--clinical-table-breakout-x);
      padding-right: var(--clinical-table-breakout-x);
    }

    .markdown-content .clinical-table,
    .prose .clinical-table {
      /* Asegurar que la tabla tenga su ancho natural */
      min-width: 500px;
      width: auto;
    }

    /* Indicador visual de scroll en mobile.
     * RETAINED !important: the arrow overrides the gradient `::after` (content/
     * position/etc.), its `opacity: 0.5` must win over `:hover::after{opacity:1}`
     * (higher specificity) as before, and its `animation` must survive the
     * global reduced-motion rule. These are real tiebreaks, not prose defenses. */
    .markdown-content .clinical-table-wrapper::after,
    .prose .clinical-table-wrapper::after {
      content: '→' !important;
      position: sticky !important;
      right: 1rem !important;
      top: 50% !important;
      transform: translateY(-50%) !important;
      font-size: 1.5rem !important;
      color: hsl(var(--muted-foreground)) !important;
      opacity: 0.5 !important;
      animation: scroll-hint 2s ease-in-out infinite !important;
      pointer-events: none !important;
      z-index: 10 !important;
      float: right !important;
    }
  }

@keyframes scroll-hint {
    0%, 100% {
      opacity: 0.3;
      transform: translateY(-50%) translateX(0);
    }
    50% {
      opacity: 0.7;
      transform: translateY(-50%) translateX(5px);
    }
  }

/* Ocultar indicador cuando se ha scrolleado (paired with the arrow above —
   * RETAINED !important to keep hiding the !important arrow). */

.markdown-content .clinical-table-wrapper.scrolled::after,
  .prose .clinical-table-wrapper.scrolled::after {
    display: none !important;
  }

/* Accessibility (WCAG 2.2.2 / 2.3.3): neutralise the infinite scroll-hint arrow
   * under prefers-reduced-motion. The arrow's `animation … infinite !important`
   * lives in THIS @layer components block, so the neutraliser must ALSO be layered
   * and come later in source order — an unlayered !important rule (e.g. the global
   * reduced-motion block in animations.css) loses to a layered !important, which is
   * why the arrow previously kept bouncing for motion-sensitive users. */

@media (prefers-reduced-motion: reduce) {
    .markdown-content .clinical-table-wrapper::after,
    .prose .clinical-table-wrapper::after {
      animation: none !important;
    }
  }

/* 🔥 OPTIMIZACIÓN: Sombras de gradiente para indicar scroll disponible */

.clinical-table-wrapper {
    position: relative;
  }

/* Sombra derecha (indica que hay más contenido a la derecha).
   * CSS-19: 639px @container = deliberate bubble-width pivot — see note on the
   * breakout @container block above. */

@container message-bubble (max-width: 639px) {
    .clinical-table-wrapper::before {
      content: '';
      position: sticky;
      left: 0;
      top: 0;
      bottom: 0;
      width: 20px;
      background: linear-gradient(to right, hsl(var(--card)), transparent);
      pointer-events: none;
      z-index: 5;
      opacity: 0;
      /* CSS-07: token-ized — normal duration + standard easing. */
      transition: opacity var(--duration-normal) var(--ease-standard);
    }

    .clinical-table-wrapper.scrolled::before {
      opacity: 1;
    }
  }

/* Mejorar el wrapper de tablas para mejor UX */

.clinical-table-wrapper {
    /* Smooth scrolling */
    scroll-behavior: smooth;
    /* Snap to columns on mobile (opcional) */
    /* scroll-snap-type: x proximity; */
    /* Ocultar scrollbar pero mantener funcionalidad */
    scrollbar-width: thin;
    scrollbar-color: hsl(var(--muted-foreground) / 0.3) transparent;
  }

.clinical-table-wrapper::-webkit-scrollbar {
    height: 6px;
  }

.clinical-table-wrapper::-webkit-scrollbar-track {
    background: transparent;
  }

.clinical-table-wrapper::-webkit-scrollbar-thumb {
    background: hsl(var(--muted-foreground) / 0.3);
    border-radius: 3px;
  }

.clinical-table-wrapper::-webkit-scrollbar-thumb:hover {
    background: hsl(var(--muted-foreground) / 0.5);
  }

/* ── Tipografía de instrumento ───────────────────────────────────────────
   * Utilities are global class names (collision-free — `pc-*` is unused in the
   * codebase) but reference `--pc-*` / `--font-mono`, which only resolve inside
   * the redesign root; outside it they are inert. Agent E uses these for the
   * chat body's telemetry (durations, counts, timestamps, tags, cite indices). */

.pc-mono {
    font-family: var(--font-mono);
    font-feature-settings: "tnum" 1, "zero" 1, "cv02" 1;
  }

.pc-num {
    font-family: var(--font-mono);
    font-feature-settings: "tnum" 1, "zero" 1;
  }

.pc-tag {
    font-family: var(--font-mono);
    font-size: 0.6875rem; /* 11px */
    line-height: 1;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: hsl(var(--pc-ink-2));
  }

.pc-display {
    letter-spacing: -0.02em;
  }

/* ── Enlaces / citas ───────────────────────────────────────────────────── */

.pc-link {
    color: hsl(var(--pc-accent));
    text-decoration: none;
  }

.pc-link:hover {
    text-decoration: underline;
    text-underline-offset: 2px;
    text-decoration-thickness: 1px;
  }

/* ── Tick funcional de agente (2px, color = dato) ──────────────────────── */

.pc-tick {
    display: block;
    width: 2px;
    border-radius: 0;
    flex-shrink: 0;
  }

.pc-tick--perspectiva { background: hsl(var(--pc-agent-perspectiva)); }

.pc-tick--memoria { background: hsl(var(--pc-agent-memoria)); }

.pc-tick--evidencia { background: hsl(var(--pc-agent-evidencia)); }

.pc-tick--sistema { background: hsl(var(--pc-agent-sistema)); }

.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 !important;
}

.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-x-0 {
  left: 0px;
  right: 0px;
}

.inset-y-0 {
  top: 0px;
  bottom: 0px;
}

.-bottom-1 {
  bottom: -0.25rem;
}

.-bottom-12 {
  bottom: -3rem;
}

.-bottom-px {
  bottom: -1px;
}

.-left-12 {
  left: -3rem;
}

.-right-1 {
  right: -0.25rem;
}

.-right-12 {
  right: -3rem;
}

.-top-1 {
  top: -0.25rem;
}

.-top-10 {
  top: -2.5rem;
}

.-top-12 {
  top: -3rem;
}

.-top-14 {
  top: -3.5rem;
}

.bottom-0 {
  bottom: 0px;
}

.bottom-3 {
  bottom: 0.75rem;
}

.bottom-4 {
  bottom: 1rem;
}

.bottom-full {
  bottom: 100%;
}

.left-0 {
  left: 0px;
}

.left-1 {
  left: 0.25rem;
}

.left-1\/2 {
  left: 50%;
}

.left-2 {
  left: 0.5rem;
}

.left-2\.5 {
  left: 0.625rem;
}

.left-3 {
  left: 0.75rem;
}

.left-\[50\%\] {
  left: 50%;
}

.right-0 {
  right: 0px;
}

.right-1 {
  right: 0.25rem;
}

.right-1\.5 {
  right: 0.375rem;
}

.right-2 {
  right: 0.5rem;
}

.right-2\.5 {
  right: 0.625rem;
}

.right-3 {
  right: 0.75rem;
}

.right-4 {
  right: 1rem;
}

.top-0 {
  top: 0px;
}

.top-1\.5 {
  top: 0.375rem;
}

.top-1\/2 {
  top: 50%;
}

.top-2 {
  top: 0.5rem;
}

.top-2\.5 {
  top: 0.625rem;
}

.top-3 {
  top: 0.75rem;
}

.top-3\.5 {
  top: 0.875rem;
}

.top-4 {
  top: 1rem;
}

.top-\[1px\] {
  top: 1px;
}

.top-\[50\%\] {
  top: 50%;
}

.top-\[60\%\] {
  top: 60%;
}

.top-full {
  top: 100%;
}

.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-\[100\] {
  z-index: 100;
}

.z-\[1\] {
  z-index: 1;
}

.-mx-1 {
  margin-left: -0.25rem;
  margin-right: -0.25rem;
}

.-mx-2 {
  margin-left: -0.5rem;
  margin-right: -0.5rem;
}

.-mx-5 {
  margin-left: -1.25rem;
  margin-right: -1.25rem;
}

.mx-0\.5 {
  margin-left: 0.125rem;
  margin-right: 0.125rem;
}

.mx-1 {
  margin-left: 0.25rem;
  margin-right: 0.25rem;
}

.mx-1\.5 {
  margin-left: 0.375rem;
  margin-right: 0.375rem;
}

.mx-2 {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}

.mx-3\.5 {
  margin-left: 0.875rem;
  margin-right: 0.875rem;
}

.mx-4 {
  margin-left: 1rem;
  margin-right: 1rem;
}

.mx-auto {
  margin-left: auto;
  margin-right: auto;
}

.my-0\.5 {
  margin-top: 0.125rem;
  margin-bottom: 0.125rem;
}

.my-1 {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}

.my-2 {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}

.-ml-1 {
  margin-left: -0.25rem;
}

.-ml-4 {
  margin-left: -1rem;
}

.-mt-1 {
  margin-top: -0.25rem;
}

.-mt-4 {
  margin-top: -1rem;
}

.mb-0 {
  margin-bottom: 0px;
}

.mb-0\.5 {
  margin-bottom: 0.125rem;
}

.mb-1 {
  margin-bottom: 0.25rem;
}

.mb-1\.5 {
  margin-bottom: 0.375rem;
}

.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-7 {
  margin-bottom: 1.75rem;
}

.mb-8 {
  margin-bottom: 2rem;
}

.ml-0\.5 {
  margin-left: 0.125rem;
}

.ml-1 {
  margin-left: 0.25rem;
}

.ml-2 {
  margin-left: 0.5rem;
}

.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;
}

.mt-0 {
  margin-top: 0px;
}

.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-14 {
  margin-top: 3.5rem;
}

.mt-2 {
  margin-top: 0.5rem;
}

.mt-2\.5 {
  margin-top: 0.625rem;
}

.mt-24 {
  margin-top: 6rem;
}

.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-7 {
  margin-top: 1.75rem;
}

.mt-8 {
  margin-top: 2rem;
}

.mt-9 {
  margin-top: 2.25rem;
}

.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-5 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
}

.line-clamp-6 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 6;
}

.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-square {
  aspect-ratio: 1 / 1;
}

.aspect-video {
  aspect-ratio: 16 / 9;
}

.size-4 {
  width: 1rem;
  height: 1rem;
}

.h-0 {
  height: 0px;
}

.h-0\.5 {
  height: 0.125rem;
}

.h-1\.5 {
  height: 0.375rem;
}

.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-28 {
  height: 7rem;
}

.h-3 {
  height: 0.75rem;
}

.h-3\.5 {
  height: 0.875rem;
}

.h-4 {
  height: 1rem;
}

.h-5 {
  height: 1.25rem;
}

.h-6 {
  height: 1.5rem;
}

.h-64 {
  height: 16rem;
}

.h-7 {
  height: 1.75rem;
}

.h-8 {
  height: 2rem;
}

.h-9 {
  height: 2.25rem;
}

.h-\[1\.5px\] {
  height: 1.5px;
}

.h-\[100dvh\] {
  height: 100dvh;
}

.h-\[100svh\] {
  height: 100svh;
}

.h-\[18px\] {
  height: 18px;
}

.h-\[1px\] {
  height: 1px;
}

.h-\[2px\] {
  height: 2px;
}

.h-\[72svh\] {
  height: 72svh;
}

.h-\[88px\] {
  height: 88px;
}

.h-\[88vh\] {
  height: 88vh;
}

.h-\[Npx\] {
  height: Npx;
}

.h-\[var\(--radix-navigation-menu-viewport-height\)\] {
  height: var(--radix-navigation-menu-viewport-height);
}

.h-\[var\(--radix-select-trigger-height\)\] {
  height: var(--radix-select-trigger-height);
}

.h-auto {
  height: auto;
}

.h-full {
  height: 100%;
}

.h-px {
  height: 1px;
}

.h-screen {
  height: 100vh;
}

.h-svh {
  height: 100svh;
}

.max-h-48 {
  max-height: 12rem;
}

.max-h-96 {
  max-height: 24rem;
}

.max-h-\[300px\] {
  max-height: 300px;
}

.max-h-\[6\.5em\] {
  max-height: 6.5em;
}

.max-h-\[70svh\] {
  max-height: 70svh;
}

.max-h-\[80vh\] {
  max-height: 80vh;
}

.max-h-\[85vh\] {
  max-height: 85vh;
}

.max-h-\[90vh\] {
  max-height: 90vh;
}

.max-h-screen {
  max-height: 100vh;
}

.min-h-0 {
  min-height: 0px;
}

.min-h-\[100dvh\] {
  min-height: 100dvh;
}

.min-h-\[100svh\] {
  min-height: 100svh;
}

.min-h-\[36px\] {
  min-height: 36px;
}

.min-h-\[40px\] {
  min-height: 40px;
}

.min-h-\[44px\] {
  min-height: 44px;
}

.min-h-\[52px\] {
  min-height: 52px;
}

.min-h-\[55svh\] {
  min-height: 55svh;
}

.min-h-\[6\.25rem\] {
  min-height: 6.25rem;
}

.min-h-\[80px\] {
  min-height: 80px;
}

.min-h-screen {
  min-height: 100vh;
}

.min-h-svh {
  min-height: 100svh;
}

.w-0 {
  width: 0px;
}

.w-0\.5 {
  width: 0.125rem;
}

.w-1 {
  width: 0.25rem;
}

.w-1\.5 {
  width: 0.375rem;
}

.w-1\/2 {
  width: 50%;
}

.w-10 {
  width: 2.5rem;
}

.w-11 {
  width: 2.75rem;
}

.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\/5 {
  width: 40%;
}

.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-36 {
  width: 9rem;
}

.w-4 {
  width: 1rem;
}

.w-44 {
  width: 11rem;
}

.w-5 {
  width: 1.25rem;
}

.w-56 {
  width: 14rem;
}

.w-6 {
  width: 1.5rem;
}

.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-96 {
  width: 24rem;
}

.w-\[--sidebar-width\] {
  width: var(--sidebar-width);
}

.w-\[100px\] {
  width: 100px;
}

.w-\[18px\] {
  width: 18px;
}

.w-\[1px\] {
  width: 1px;
}

.w-\[2px\] {
  width: 2px;
}

.w-\[3px\] {
  width: 3px;
}

.w-\[55\%\] {
  width: 55%;
}

.w-\[85vw\] {
  width: 85vw;
}

.w-\[95vw\] {
  width: 95vw;
}

.w-auto {
  width: auto;
}

.w-fit {
  width: fit-content;
}

.w-full {
  width: 100%;
}

.w-max {
  width: max-content;
}

.w-px {
  width: 1px;
}

.min-w-0 {
  min-width: 0px;
}

.min-w-10 {
  min-width: 2.5rem;
}

.min-w-11 {
  min-width: 2.75rem;
}

.min-w-5 {
  min-width: 1.25rem;
}

.min-w-9 {
  min-width: 2.25rem;
}

.min-w-\[12rem\] {
  min-width: 12rem;
}

.min-w-\[232px\] {
  min-width: 232px;
}

.min-w-\[44px\] {
  min-width: 44px;
}

.min-w-\[8rem\] {
  min-width: 8rem;
}

.min-w-\[var\(--radix-select-trigger-width\)\] {
  min-width: var(--radix-select-trigger-width);
}

.max-w-2xl {
  max-width: 42rem;
}

.max-w-3xl {
  max-width: 48rem;
}

.max-w-4xl {
  max-width: 56rem;
}

.max-w-5xl {
  max-width: 64rem;
}

.max-w-6xl {
  max-width: 72rem;
}

.max-w-7xl {
  max-width: 80rem;
}

.max-w-\[--skeleton-width\] {
  max-width: var(--skeleton-width);
}

.max-w-\[11rem\] {
  max-width: 11rem;
}

.max-w-\[120px\] {
  max-width: 120px;
}

.max-w-\[220px\] {
  max-width: 220px;
}

.max-w-\[240px\] {
  max-width: 240px;
}

.max-w-\[26rem\] {
  max-width: 26rem;
}

.max-w-\[288px\] {
  max-width: 288px;
}

.max-w-\[320px\] {
  max-width: 320px;
}

.max-w-\[500px\] {
  max-width: 500px;
}

.max-w-\[75\%\] {
  max-width: 75%;
}

.max-w-\[88\%\] {
  max-width: 88%;
}

.max-w-full {
  max-width: 100%;
}

.max-w-lg {
  max-width: 32rem;
}

.max-w-max {
  max-width: max-content;
}

.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;
}

.flex-1 {
  flex: 1 1 0%;
}

.flex-none {
  flex: none;
}

.flex-shrink {
  flex-shrink: 1;
}

.flex-shrink-0 {
  flex-shrink: 0;
}

.shrink {
  flex-shrink: 1;
}

.shrink-0 {
  flex-shrink: 0;
}

.grow {
  flex-grow: 1;
}

.grow-0 {
  flex-grow: 0;
}

.basis-full {
  flex-basis: 100%;
}

.caption-bottom {
  caption-side: bottom;
}

.border-collapse {
  border-collapse: collapse;
}

.-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-x-px {
  --tw-translate-x: -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));
}

.-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-\[-50\%\] {
  --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-x-px {
  --tw-translate-x: 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));
}

.translate-y-\[-50\%\] {
  --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));
}

.-rotate-3 {
  --tw-rotate: -3deg;
  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-0 {
  --tw-rotate: 0deg;
  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-6 {
  --tw-rotate: 6deg;
  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));
}

.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 ping {

  75%, 100% {
    transform: scale(2);
    opacity: 0;
  }
}

.animate-ping {
  animation: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
}

@keyframes pulse {

  50% {
    opacity: .5;
  }
}

.animate-pulse {
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

@keyframes spin {

  to {
    transform: rotate(360deg);
  }
}

.animate-spin {
  animation: spin 1s linear infinite;
}

.cursor-default {
  cursor: default;
}

.cursor-not-allowed {
  cursor: not-allowed;
}

.cursor-pointer {
  cursor: pointer;
}

.touch-none {
  touch-action: none;
}

.touch-pan-y {
  --tw-pan-y: pan-y;
  touch-action: var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom);
}

.touch-manipulation {
  touch-action: manipulation;
}

.select-none {
  user-select: none;
}

.resize-none {
  resize: none;
}

.resize {
  resize: both;
}

.scroll-mt-16 {
  scroll-margin-top: 4rem;
}

.list-inside {
  list-style-position: inside;
}

.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-\[82px_1fr_82px\] {
  grid-template-columns: 82px 1fr 82px;
}

.grid-rows-\[auto_1fr\] {
  grid-template-rows: auto 1fr;
}

.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-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-x-1 {
  column-gap: 0.25rem;
}

.gap-x-3 {
  column-gap: 0.75rem;
}

.gap-x-4 {
  column-gap: 1rem;
}

.gap-x-5 {
  column-gap: 1.25rem;
}

.gap-x-6 {
  column-gap: 1.5rem;
}

.gap-x-8 {
  column-gap: 2rem;
}

.gap-y-1 {
  row-gap: 0.25rem;
}

.gap-y-2 {
  row-gap: 0.5rem;
}

.gap-y-6 {
  row-gap: 1.5rem;
}

.space-x-1 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(0.25rem * var(--tw-space-x-reverse));
  margin-left: calc(0.25rem * calc(1 - var(--tw-space-x-reverse)));
}

.space-x-4 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(1rem * var(--tw-space-x-reverse));
  margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));
}

.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-10 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(2.5rem * 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-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-px > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1px * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1px * 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-border\/30 > :not([hidden]) ~ :not([hidden]) {
  border-color: hsl(var(--border) / 0.3);
}

.divide-pc-line > :not([hidden]) ~ :not([hidden]) {
  border-color: hsl(var(--pc-line));
}

.self-center {
  align-self: center;
}

.overflow-auto {
  overflow: auto;
}

.overflow-hidden {
  overflow: hidden;
}

.overflow-visible {
  overflow: visible;
}

.overflow-x-auto {
  overflow-x: auto;
}

.overflow-y-auto {
  overflow-y: auto;
}

.overflow-x-hidden {
  overflow-x: hidden;
}

.overscroll-contain {
  overscroll-behavior: contain;
}

.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.text-ellipsis {
  text-overflow: ellipsis;
}

.hyphens-auto {
  hyphens: auto;
}

.whitespace-normal {
  white-space: normal;
}

.whitespace-nowrap {
  white-space: nowrap;
}

.whitespace-pre-wrap {
  white-space: pre-wrap;
}

.break-normal {
  overflow-wrap: normal;
  word-break: normal;
}

.break-words {
  overflow-wrap: break-word;
}

.break-all {
  word-break: break-all;
}

.rounded {
  border-radius: 0.25rem;
}

.rounded-2xl {
  border-radius: 1rem;
}

.rounded-\[2px\] {
  border-radius: 2px;
}

.rounded-\[4px\] {
  border-radius: 4px;
}

.rounded-\[5px\] {
  border-radius: 5px;
}

.rounded-\[inherit\] {
  border-radius: inherit;
}

.rounded-full {
  border-radius: 9999px;
}

.rounded-lg {
  border-radius: var(--radius);
}

.rounded-md {
  border-radius: calc(var(--radius) - 2px);
}

.rounded-none {
  border-radius: 0px;
}

.rounded-pc {
  border-radius: var(--pc-radius);
}

.rounded-sm {
  border-radius: calc(var(--radius) - 4px);
}

.rounded-xl {
  border-radius: 0.75rem;
}

.rounded-b-pc {
  border-bottom-right-radius: var(--pc-radius);
  border-bottom-left-radius: var(--pc-radius);
}

.rounded-r-full {
  border-top-right-radius: 9999px;
  border-bottom-right-radius: 9999px;
}

.rounded-t-\[10px\] {
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}

.rounded-t-xl {
  border-top-left-radius: 0.75rem;
  border-top-right-radius: 0.75rem;
}

.rounded-tl-md {
  border-top-left-radius: calc(var(--radius) - 2px);
}

.rounded-tl-sm {
  border-top-left-radius: calc(var(--radius) - 4px);
}

.rounded-tr-md {
  border-top-right-radius: calc(var(--radius) - 2px);
}

.border {
  border-width: 1px;
}

.border-0 {
  border-width: 0px;
}

.border-2 {
  border-width: 2px;
}

.border-\[1\.5px\] {
  border-width: 1.5px;
}

.border-y {
  border-top-width: 1px;
  border-bottom-width: 1px;
}

.border-b {
  border-bottom-width: 1px;
}

.border-l {
  border-left-width: 1px;
}

.border-l-0 {
  border-left-width: 0px;
}

.border-l-2 {
  border-left-width: 2px;
}

.border-r {
  border-right-width: 1px;
}

.border-r-0 {
  border-right-width: 0px;
}

.border-t {
  border-top-width: 1px;
}

.border-dashed {
  border-style: dashed;
}

.border-\[--color-border\] {
  border-color: var(--color-border);
}

.border-academic-plum-100 {
  --tw-border-opacity: 1;
  border-color: rgb(229 217 247 / var(--tw-border-opacity, 1));
}

.border-academic-plum-150 {
  --tw-border-opacity: 1;
  border-color: rgb(216 196 243 / var(--tw-border-opacity, 1));
}

.border-academic-plum-200 {
  --tw-border-opacity: 1;
  border-color: rgb(203 175 239 / var(--tw-border-opacity, 1));
}

.border-academic-plum-250 {
  --tw-border-opacity: 1;
  border-color: rgb(189 156 235 / var(--tw-border-opacity, 1));
}

.border-academic-plum-300 {
  --tw-border-opacity: 1;
  border-color: rgb(176 136 232 / var(--tw-border-opacity, 1));
}

.border-academic-plum-400 {
  --tw-border-opacity: 1;
  border-color: rgb(149 101 212 / var(--tw-border-opacity, 1));
}

.border-academic-plum-50 {
  --tw-border-opacity: 1;
  border-color: rgb(244 239 252 / var(--tw-border-opacity, 1));
}

.border-academic-plum-500 {
  --tw-border-opacity: 1;
  border-color: rgb(111 66 193 / var(--tw-border-opacity, 1));
}

.border-academic-plum-600 {
  --tw-border-opacity: 1;
  border-color: rgb(90 53 157 / var(--tw-border-opacity, 1));
}

.border-academic-plum-700 {
  --tw-border-opacity: 1;
  border-color: rgb(71 41 122 / var(--tw-border-opacity, 1));
}

.border-academic-plum-800 {
  --tw-border-opacity: 1;
  border-color: rgb(52 30 87 / var(--tw-border-opacity, 1));
}

.border-academic-plum-900 {
  --tw-border-opacity: 1;
  border-color: rgb(34 19 52 / var(--tw-border-opacity, 1));
}

.border-amber-200\/60 {
  border-color: rgb(253 230 138 / 0.6);
}

.border-amber-500\/40 {
  border-color: rgb(245 158 11 / 0.4);
}

.border-ash {
  --tw-border-opacity: 1;
  border-color: rgb(233 236 239 / var(--tw-border-opacity, 1));
}

.border-blue-200 {
  --tw-border-opacity: 1;
  border-color: rgb(191 219 254 / var(--tw-border-opacity, 1));
}

.border-blue-400 {
  --tw-border-opacity: 1;
  border-color: rgb(96 165 250 / var(--tw-border-opacity, 1));
}

.border-blue-700\/30 {
  border-color: rgb(29 78 216 / 0.3);
}

.border-border {
  border-color: hsl(var(--border));
}

.border-border\/20 {
  border-color: hsl(var(--border) / 0.2);
}

.border-border\/30 {
  border-color: hsl(var(--border) / 0.3);
}

.border-border\/40 {
  border-color: hsl(var(--border) / 0.4);
}

.border-border\/50 {
  border-color: hsl(var(--border) / 0.5);
}

.border-border\/60 {
  border-color: hsl(var(--border) / 0.6);
}

.border-clarity-blue-100 {
  --tw-border-opacity: 1;
  border-color: rgb(195 222 255 / var(--tw-border-opacity, 1));
}

.border-clarity-blue-150 {
  --tw-border-opacity: 1;
  border-color: rgb(167 207 255 / var(--tw-border-opacity, 1));
}

.border-clarity-blue-200 {
  --tw-border-opacity: 1;
  border-color: rgb(139 191 255 / var(--tw-border-opacity, 1));
}

.border-clarity-blue-250 {
  --tw-border-opacity: 1;
  border-color: rgb(110 175 255 / var(--tw-border-opacity, 1));
}

.border-clarity-blue-300 {
  --tw-border-opacity: 1;
  border-color: rgb(82 159 255 / var(--tw-border-opacity, 1));
}

.border-clarity-blue-400 {
  --tw-border-opacity: 1;
  border-color: rgb(38 132 255 / var(--tw-border-opacity, 1));
}

.border-clarity-blue-50 {
  --tw-border-opacity: 1;
  border-color: rgb(231 241 255 / var(--tw-border-opacity, 1));
}

.border-clarity-blue-500 {
  --tw-border-opacity: 1;
  border-color: rgb(13 110 253 / var(--tw-border-opacity, 1));
}

.border-clarity-blue-600 {
  --tw-border-opacity: 1;
  border-color: rgb(10 88 202 / var(--tw-border-opacity, 1));
}

.border-clarity-blue-700 {
  --tw-border-opacity: 1;
  border-color: rgb(8 70 159 / var(--tw-border-opacity, 1));
}

.border-clarity-blue-800 {
  --tw-border-opacity: 1;
  border-color: rgb(6 53 116 / var(--tw-border-opacity, 1));
}

.border-clarity-blue-900 {
  --tw-border-opacity: 1;
  border-color: rgb(4 35 73 / var(--tw-border-opacity, 1));
}

.border-cloud-white {
  --tw-border-opacity: 1;
  border-color: rgb(248 249 250 / var(--tw-border-opacity, 1));
}

.border-current {
  border-color: currentColor;
}

.border-deep-charcoal {
  --tw-border-opacity: 1;
  border-color: rgb(52 58 64 / var(--tw-border-opacity, 1));
}

.border-destructive {
  border-color: hsl(var(--destructive));
}

.border-destructive\/20 {
  border-color: hsl(var(--destructive) / 0.2);
}

.border-destructive\/30 {
  border-color: hsl(var(--destructive) / 0.3);
}

.border-destructive\/50 {
  border-color: hsl(var(--destructive) / 0.5);
}

.border-gray-200 {
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
}

.border-gray-300 {
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
}

.border-gray-700 {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
}

.border-gray-700\/50 {
  border-color: rgb(55 65 81 / 0.5);
}

.border-green-200 {
  --tw-border-opacity: 1;
  border-color: rgb(187 247 208 / var(--tw-border-opacity, 1));
}

.border-green-300 {
  --tw-border-opacity: 1;
  border-color: rgb(134 239 172 / var(--tw-border-opacity, 1));
}

.border-input {
  border-color: hsl(var(--input));
}

.border-mineral-gray {
  --tw-border-opacity: 1;
  border-color: rgb(108 117 125 / var(--tw-border-opacity, 1));
}

.border-orange-300 {
  --tw-border-opacity: 1;
  border-color: rgb(253 186 116 / var(--tw-border-opacity, 1));
}

.border-pc-accent {
  border-color: hsl(var(--pc-accent));
}

.border-pc-accent\/25 {
  border-color: hsl(var(--pc-accent) / 0.25);
}

.border-pc-accent\/30 {
  border-color: hsl(var(--pc-accent) / 0.3);
}

.border-pc-accent\/40 {
  border-color: hsl(var(--pc-accent) / 0.4);
}

.border-pc-accent\/50 {
  border-color: hsl(var(--pc-accent) / 0.5);
}

.border-pc-agent-evidencia\/30 {
  border-color: hsl(var(--pc-agent-evidencia) / 0.3);
}

.border-pc-agent-evidencia\/40 {
  border-color: hsl(var(--pc-agent-evidencia) / 0.4);
}

.border-pc-agent-evidencia\/50 {
  border-color: hsl(var(--pc-agent-evidencia) / 0.5);
}

.border-pc-agent-memoria {
  border-color: hsl(var(--pc-agent-memoria));
}

.border-pc-agent-memoria\/30 {
  border-color: hsl(var(--pc-agent-memoria) / 0.3);
}

.border-pc-agent-memoria\/40 {
  border-color: hsl(var(--pc-agent-memoria) / 0.4);
}

.border-pc-agent-memoria\/50 {
  border-color: hsl(var(--pc-agent-memoria) / 0.5);
}

.border-pc-agent-perspectiva\/40 {
  border-color: hsl(var(--pc-agent-perspectiva) / 0.4);
}

.border-pc-agent-perspectiva\/50 {
  border-color: hsl(var(--pc-agent-perspectiva) / 0.5);
}

.border-pc-agent-sistema\/40 {
  border-color: hsl(var(--pc-agent-sistema) / 0.4);
}

.border-pc-agent-sistema\/60 {
  border-color: hsl(var(--pc-agent-sistema) / 0.6);
}

.border-pc-danger {
  border-color: hsl(var(--pc-danger));
}

.border-pc-danger\/30 {
  border-color: hsl(var(--pc-danger) / 0.3);
}

.border-pc-danger\/40 {
  border-color: hsl(var(--pc-danger) / 0.4);
}

.border-pc-ink-3 {
  border-color: hsl(var(--pc-ink-3));
}

.border-pc-line {
  border-color: hsl(var(--pc-line));
}

.border-pc-line-2 {
  border-color: hsl(var(--pc-line-2));
}

.border-primary {
  border-color: hsl(var(--primary));
}

.border-purple-100 {
  --tw-border-opacity: 1;
  border-color: rgb(243 232 255 / var(--tw-border-opacity, 1));
}

.border-red-200 {
  --tw-border-opacity: 1;
  border-color: rgb(254 202 202 / var(--tw-border-opacity, 1));
}

.border-serene-teal-100 {
  --tw-border-opacity: 1;
  border-color: rgb(195 250 232 / var(--tw-border-opacity, 1));
}

.border-serene-teal-150 {
  --tw-border-opacity: 1;
  border-color: rgb(179 245 223 / var(--tw-border-opacity, 1));
}

.border-serene-teal-200 {
  --tw-border-opacity: 1;
  border-color: rgb(140 245 210 / var(--tw-border-opacity, 1));
}

.border-serene-teal-250 {
  --tw-border-opacity: 1;
  border-color: rgb(110 237 198 / var(--tw-border-opacity, 1));
}

.border-serene-teal-300 {
  --tw-border-opacity: 1;
  border-color: rgb(81 234 187 / var(--tw-border-opacity, 1));
}

.border-serene-teal-400 {
  --tw-border-opacity: 1;
  border-color: rgb(45 212 167 / var(--tw-border-opacity, 1));
}

.border-serene-teal-50 {
  --tw-border-opacity: 1;
  border-color: rgb(230 252 245 / var(--tw-border-opacity, 1));
}

.border-serene-teal-500 {
  --tw-border-opacity: 1;
  border-color: rgb(32 201 151 / var(--tw-border-opacity, 1));
}

.border-serene-teal-600 {
  --tw-border-opacity: 1;
  border-color: rgb(26 161 121 / var(--tw-border-opacity, 1));
}

.border-serene-teal-700 {
  --tw-border-opacity: 1;
  border-color: rgb(20 125 95 / var(--tw-border-opacity, 1));
}

.border-serene-teal-800 {
  --tw-border-opacity: 1;
  border-color: rgb(15 94 71 / var(--tw-border-opacity, 1));
}

.border-serene-teal-900 {
  --tw-border-opacity: 1;
  border-color: rgb(10 63 47 / var(--tw-border-opacity, 1));
}

.border-sidebar-border {
  border-color: hsl(var(--sidebar-border));
}

.border-transparent {
  border-color: transparent;
}

.border-warning\/30 {
  border-color: hsl(var(--warning) / 0.3);
}

.border-l-pc-accent {
  border-left-color: hsl(var(--pc-accent));
}

.border-l-transparent {
  border-left-color: transparent;
}

.border-t-transparent {
  border-top-color: transparent;
}

.bg-\[--color-bg\] {
  background-color: var(--color-bg);
}

.bg-\[hsl\(var\(--agent-orquestador-bg\)\)\] {
  background-color: hsl(var(--agent-orquestador-bg));
}

.bg-\[hsl\(var\(--pc-paper\)\)\] {
  background-color: hsl(var(--pc-paper));
}

.bg-\[hsl\(var\(--user-bubble-bg\)\)\] {
  background-color: hsl(var(--user-bubble-bg));
}

.bg-academic-plum-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(229 217 247 / var(--tw-bg-opacity, 1));
}

.bg-academic-plum-150 {
  --tw-bg-opacity: 1;
  background-color: rgb(216 196 243 / var(--tw-bg-opacity, 1));
}

.bg-academic-plum-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(203 175 239 / var(--tw-bg-opacity, 1));
}

.bg-academic-plum-250 {
  --tw-bg-opacity: 1;
  background-color: rgb(189 156 235 / var(--tw-bg-opacity, 1));
}

.bg-academic-plum-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(176 136 232 / var(--tw-bg-opacity, 1));
}

.bg-academic-plum-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(149 101 212 / var(--tw-bg-opacity, 1));
}

.bg-academic-plum-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(244 239 252 / var(--tw-bg-opacity, 1));
}

.bg-academic-plum-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(111 66 193 / var(--tw-bg-opacity, 1));
}

.bg-academic-plum-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(90 53 157 / var(--tw-bg-opacity, 1));
}

.bg-academic-plum-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(71 41 122 / var(--tw-bg-opacity, 1));
}

.bg-academic-plum-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(52 30 87 / var(--tw-bg-opacity, 1));
}

.bg-academic-plum-900 {
  --tw-bg-opacity: 1;
  background-color: rgb(34 19 52 / var(--tw-bg-opacity, 1));
}

.bg-accent {
  background-color: hsl(var(--accent));
}

.bg-amber-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(251 191 36 / var(--tw-bg-opacity, 1));
}

.bg-amber-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1));
}

.bg-amber-500\/70 {
  background-color: rgb(245 158 11 / 0.7);
}

.bg-ash {
  --tw-bg-opacity: 1;
  background-color: rgb(233 236 239 / var(--tw-bg-opacity, 1));
}

.bg-background {
  background-color: hsl(var(--background));
}

.bg-black\/80 {
  background-color: rgb(0 0 0 / 0.8);
}

.bg-blue-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
}

.bg-blue-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
}

.bg-blue-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(59 130 246 / var(--tw-bg-opacity, 1));
}

.bg-blue-900\/20 {
  background-color: rgb(30 58 138 / 0.2);
}

.bg-border {
  background-color: hsl(var(--border));
}

.bg-card {
  background-color: hsl(var(--card));
}

.bg-card\/90 {
  background-color: hsl(var(--card) / 0.9);
}

.bg-clarity-blue-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(195 222 255 / var(--tw-bg-opacity, 1));
}

.bg-clarity-blue-150 {
  --tw-bg-opacity: 1;
  background-color: rgb(167 207 255 / var(--tw-bg-opacity, 1));
}

.bg-clarity-blue-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(139 191 255 / var(--tw-bg-opacity, 1));
}

.bg-clarity-blue-250 {
  --tw-bg-opacity: 1;
  background-color: rgb(110 175 255 / var(--tw-bg-opacity, 1));
}

.bg-clarity-blue-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(82 159 255 / var(--tw-bg-opacity, 1));
}

.bg-clarity-blue-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(38 132 255 / var(--tw-bg-opacity, 1));
}

.bg-clarity-blue-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(231 241 255 / var(--tw-bg-opacity, 1));
}

.bg-clarity-blue-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(13 110 253 / var(--tw-bg-opacity, 1));
}

.bg-clarity-blue-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(10 88 202 / var(--tw-bg-opacity, 1));
}

.bg-clarity-blue-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(8 70 159 / var(--tw-bg-opacity, 1));
}

.bg-clarity-blue-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(6 53 116 / var(--tw-bg-opacity, 1));
}

.bg-clarity-blue-900 {
  --tw-bg-opacity: 1;
  background-color: rgb(4 35 73 / var(--tw-bg-opacity, 1));
}

.bg-cloud-white {
  --tw-bg-opacity: 1;
  background-color: rgb(248 249 250 / var(--tw-bg-opacity, 1));
}

.bg-deep-charcoal {
  --tw-bg-opacity: 1;
  background-color: rgb(52 58 64 / var(--tw-bg-opacity, 1));
}

.bg-destructive {
  background-color: hsl(var(--destructive));
}

.bg-destructive\/10 {
  background-color: hsl(var(--destructive) / 0.1);
}

.bg-destructive\/5 {
  background-color: hsl(var(--destructive) / 0.05);
}

.bg-emerald-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(52 211 153 / var(--tw-bg-opacity, 1));
}

.bg-foreground {
  background-color: hsl(var(--foreground));
}

.bg-gray-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}

.bg-gray-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));
}

.bg-gray-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}

.bg-gray-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
}

.bg-gray-800\/30 {
  background-color: rgb(31 41 55 / 0.3);
}

.bg-gray-800\/50 {
  background-color: rgb(31 41 55 / 0.5);
}

.bg-gray-900\/95 {
  background-color: rgb(17 24 39 / 0.95);
}

.bg-green-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
}

.bg-green-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
}

.bg-green-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1));
}

.bg-mineral-gray {
  --tw-bg-opacity: 1;
  background-color: rgb(108 117 125 / var(--tw-bg-opacity, 1));
}

.bg-mineral-gray\/20 {
  background-color: rgb(108 117 125 / 0.2);
}

.bg-muted {
  background-color: hsl(var(--muted));
}

.bg-muted\/40 {
  background-color: hsl(var(--muted) / 0.4);
}

.bg-muted\/50 {
  background-color: hsl(var(--muted) / 0.5);
}

.bg-orange-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(251 146 60 / var(--tw-bg-opacity, 1));
}

.bg-pc-accent {
  background-color: hsl(var(--pc-accent));
}

.bg-pc-accent-weak {
  background-color: hsl(var(--pc-accent-weak));
}

.bg-pc-accent\/10 {
  background-color: hsl(var(--pc-accent) / 0.1);
}

.bg-pc-accent\/70 {
  background-color: hsl(var(--pc-accent) / 0.7);
}

.bg-pc-accent\/\[0\.06\] {
  background-color: hsl(var(--pc-accent) / 0.06);
}

.bg-pc-accent\/\[0\.07\] {
  background-color: hsl(var(--pc-accent) / 0.07);
}

.bg-pc-agent-evidencia {
  background-color: hsl(var(--pc-agent-evidencia));
}

.bg-pc-agent-evidencia\/10 {
  background-color: hsl(var(--pc-agent-evidencia) / 0.1);
}

.bg-pc-agent-evidencia\/70 {
  background-color: hsl(var(--pc-agent-evidencia) / 0.7);
}

.bg-pc-agent-evidencia\/\[0\.03\] {
  background-color: hsl(var(--pc-agent-evidencia) / 0.03);
}

.bg-pc-agent-evidencia\/\[0\.06\] {
  background-color: hsl(var(--pc-agent-evidencia) / 0.06);
}

.bg-pc-agent-memoria {
  background-color: hsl(var(--pc-agent-memoria));
}

.bg-pc-agent-memoria\/10 {
  background-color: hsl(var(--pc-agent-memoria) / 0.1);
}

.bg-pc-agent-memoria\/70 {
  background-color: hsl(var(--pc-agent-memoria) / 0.7);
}

.bg-pc-agent-memoria\/\[0\.05\] {
  background-color: hsl(var(--pc-agent-memoria) / 0.05);
}

.bg-pc-agent-perspectiva {
  background-color: hsl(var(--pc-agent-perspectiva));
}

.bg-pc-agent-perspectiva\/10 {
  background-color: hsl(var(--pc-agent-perspectiva) / 0.1);
}

.bg-pc-agent-sistema {
  background-color: hsl(var(--pc-agent-sistema));
}

.bg-pc-agent-sistema\/10 {
  background-color: hsl(var(--pc-agent-sistema) / 0.1);
}

.bg-pc-danger-weak {
  background-color: hsl(var(--pc-danger-weak));
}

.bg-pc-ink {
  background-color: hsl(var(--pc-ink));
}

.bg-pc-ink-3\/40 {
  background-color: hsl(var(--pc-ink-3) / 0.4);
}

.bg-pc-line {
  background-color: hsl(var(--pc-line));
}

.bg-pc-line-2 {
  background-color: hsl(var(--pc-line-2));
}

.bg-pc-line\/40 {
  background-color: hsl(var(--pc-line) / 0.4);
}

.bg-pc-paper {
  background-color: hsl(var(--pc-paper));
}

.bg-pc-paper\/85 {
  background-color: hsl(var(--pc-paper) / 0.85);
}

.bg-pc-paper\/90 {
  background-color: hsl(var(--pc-paper) / 0.9);
}

.bg-pc-paper\/95 {
  background-color: hsl(var(--pc-paper) / 0.95);
}

.bg-pc-surface {
  background-color: hsl(var(--pc-surface));
}

.bg-pc-surface-2 {
  background-color: hsl(var(--pc-surface-2));
}

.bg-pc-surface-2\/40 {
  background-color: hsl(var(--pc-surface-2) / 0.4);
}

.bg-pc-surface-2\/50 {
  background-color: hsl(var(--pc-surface-2) / 0.5);
}

.bg-pc-surface-2\/60 {
  background-color: hsl(var(--pc-surface-2) / 0.6);
}

.bg-pc-surface-2\/70 {
  background-color: hsl(var(--pc-surface-2) / 0.7);
}

.bg-popover {
  background-color: hsl(var(--popover));
}

.bg-primary {
  background-color: hsl(var(--primary));
}

.bg-primary\/10 {
  background-color: hsl(var(--primary) / 0.1);
}

.bg-primary\/5 {
  background-color: hsl(var(--primary) / 0.05);
}

.bg-primary\/60 {
  background-color: hsl(var(--primary) / 0.6);
}

.bg-purple-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(243 232 255 / var(--tw-bg-opacity, 1));
}

.bg-purple-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(250 245 255 / var(--tw-bg-opacity, 1));
}

.bg-red-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(248 113 113 / var(--tw-bg-opacity, 1));
}

.bg-red-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
}

.bg-secondary {
  background-color: hsl(var(--secondary));
}

.bg-secondary\/10 {
  background-color: hsl(var(--secondary) / 0.1);
}

.bg-secondary\/20 {
  background-color: hsl(var(--secondary) / 0.2);
}

.bg-secondary\/30 {
  background-color: hsl(var(--secondary) / 0.3);
}

.bg-secondary\/40 {
  background-color: hsl(var(--secondary) / 0.4);
}

.bg-secondary\/60 {
  background-color: hsl(var(--secondary) / 0.6);
}

.bg-secondary\/70 {
  background-color: hsl(var(--secondary) / 0.7);
}

.bg-secondary\/80 {
  background-color: hsl(var(--secondary) / 0.8);
}

.bg-serene-teal-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(195 250 232 / var(--tw-bg-opacity, 1));
}

.bg-serene-teal-150 {
  --tw-bg-opacity: 1;
  background-color: rgb(179 245 223 / var(--tw-bg-opacity, 1));
}

.bg-serene-teal-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(140 245 210 / var(--tw-bg-opacity, 1));
}

.bg-serene-teal-250 {
  --tw-bg-opacity: 1;
  background-color: rgb(110 237 198 / var(--tw-bg-opacity, 1));
}

.bg-serene-teal-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(81 234 187 / var(--tw-bg-opacity, 1));
}

.bg-serene-teal-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(45 212 167 / var(--tw-bg-opacity, 1));
}

.bg-serene-teal-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(230 252 245 / var(--tw-bg-opacity, 1));
}

.bg-serene-teal-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(32 201 151 / var(--tw-bg-opacity, 1));
}

.bg-serene-teal-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(26 161 121 / var(--tw-bg-opacity, 1));
}

.bg-serene-teal-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(20 125 95 / var(--tw-bg-opacity, 1));
}

.bg-serene-teal-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(15 94 71 / var(--tw-bg-opacity, 1));
}

.bg-serene-teal-900 {
  --tw-bg-opacity: 1;
  background-color: rgb(10 63 47 / var(--tw-bg-opacity, 1));
}

.bg-sidebar {
  background-color: hsl(var(--sidebar-background));
}

.bg-sidebar-border {
  background-color: hsl(var(--sidebar-border));
}

.bg-success {
  background-color: hsl(var(--success));
}

.bg-transparent {
  background-color: transparent;
}

.bg-warning {
  background-color: hsl(var(--warning));
}

.bg-warning\/10 {
  background-color: hsl(var(--warning) / 0.1);
}

.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.bg-white\/90 {
  background-color: rgb(255 255 255 / 0.9);
}

.bg-gradient-to-t {
  background-image: linear-gradient(to top, var(--tw-gradient-stops));
}

.from-pc-surface-2 {
  --tw-gradient-from: hsl(var(--pc-surface-2)) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--pc-surface-2) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.to-transparent {
  --tw-gradient-to: transparent var(--tw-gradient-to-position);
}

.fill-current {
  fill: currentColor;
}

.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-4 {
  padding: 1rem;
}

.p-5 {
  padding: 1.25rem;
}

.p-6 {
  padding: 1.5rem;
}

.p-8 {
  padding: 2rem;
}

.p-\[1px\] {
  padding: 1px;
}

.px-0 {
  padding-left: 0px;
  padding-right: 0px;
}

.px-1 {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}

.px-1\.5 {
  padding-left: 0.375rem;
  padding-right: 0.375rem;
}

.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-8 {
  padding-left: 2rem;
  padding-right: 2rem;
}

.py-0 {
  padding-top: 0px;
  padding-bottom: 0px;
}

.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-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-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-px {
  padding-top: 1px;
  padding-bottom: 1px;
}

.pb-0\.5 {
  padding-bottom: 0.125rem;
}

.pb-1 {
  padding-bottom: 0.25rem;
}

.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-3\.5 {
  padding-bottom: 0.875rem;
}

.pb-36 {
  padding-bottom: 9rem;
}

.pb-4 {
  padding-bottom: 1rem;
}

.pb-6 {
  padding-bottom: 1.5rem;
}

.pb-\[calc\(5\.5rem\+env\(safe-area-inset-bottom\)\)\] {
  padding-bottom: calc(5.5rem + env(safe-area-inset-bottom));
}

.pb-\[max\(0\.75rem\2c env\(safe-area-inset-bottom\)\)\] {
  padding-bottom: max(0.75rem,env(safe-area-inset-bottom));
}

.pb-\[max\(1\.25rem\2c env\(safe-area-inset-bottom\)\)\] {
  padding-bottom: max(1.25rem,env(safe-area-inset-bottom));
}

.pb-\[max\(1rem\2c env\(safe-area-inset-bottom\)\)\] {
  padding-bottom: max(1rem,env(safe-area-inset-bottom));
}

.pb-\[max\(\2026\2c env\(safe-area-inset-bottom\)\)\] {
  padding-bottom: max(…,env(safe-area-inset-bottom));
}

.pl-1 {
  padding-left: 0.25rem;
}

.pl-12 {
  padding-left: 3rem;
}

.pl-2 {
  padding-left: 0.5rem;
}

.pl-2\.5 {
  padding-left: 0.625rem;
}

.pl-3 {
  padding-left: 0.75rem;
}

.pl-3\.5 {
  padding-left: 0.875rem;
}

.pl-4 {
  padding-left: 1rem;
}

.pl-8 {
  padding-left: 2rem;
}

.pl-9 {
  padding-left: 2.25rem;
}

.pr-1\.5 {
  padding-right: 0.375rem;
}

.pr-10 {
  padding-right: 2.5rem;
}

.pr-11 {
  padding-right: 2.75rem;
}

.pr-12 {
  padding-right: 3rem;
}

.pr-2 {
  padding-right: 0.5rem;
}

.pr-2\.5 {
  padding-right: 0.625rem;
}

.pr-24 {
  padding-right: 6rem;
}

.pr-3 {
  padding-right: 0.75rem;
}

.pr-4 {
  padding-right: 1rem;
}

.pr-8 {
  padding-right: 2rem;
}

.pt-0 {
  padding-top: 0px;
}

.pt-0\.5 {
  padding-top: 0.125rem;
}

.pt-1 {
  padding-top: 0.25rem;
}

.pt-1\.5 {
  padding-top: 0.375rem;
}

.pt-14 {
  padding-top: 3.5rem;
}

.pt-2 {
  padding-top: 0.5rem;
}

.pt-2\.5 {
  padding-top: 0.625rem;
}

.pt-3 {
  padding-top: 0.75rem;
}

.pt-4 {
  padding-top: 1rem;
}

.pt-5 {
  padding-top: 1.25rem;
}

.pt-6 {
  padding-top: 1.5rem;
}

.pt-8 {
  padding-top: 2rem;
}

.pt-\[12svh\] {
  padding-top: 12svh;
}

.pt-\[6svh\] {
  padding-top: 6svh;
}

.text-left {
  text-align: left;
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

.align-baseline {
  vertical-align: baseline;
}

.align-middle {
  vertical-align: middle;
}

.align-bottom {
  vertical-align: bottom;
}

.font-mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

.font-pc-mono {
  font-family: var(--font-mono-pc), ui-monospace, SFMono-Regular, monospace;
}

.font-sans {
  font-family: var(--font-sans), system-ui, sans-serif;
}

.font-serif {
  font-family: var(--font-serif), Georgia, serif;
}

.text-2xl {
  font-size: 1.5rem;
  line-height: 2rem;
}

.text-2xs {
  font-size: 0.6875rem;
  line-height: 1rem;
}

.text-\[0\.8rem\] {
  font-size: 0.8rem;
}

.text-\[1\.75rem\] {
  font-size: 1.75rem;
}

.text-\[10px\] {
  font-size: 10px;
}

.text-\[11px\] {
  font-size: 11px;
}

.text-\[12px\] {
  font-size: 12px;
}

.text-\[13\.5px\] {
  font-size: 13.5px;
}

.text-\[13px\] {
  font-size: 13px;
}

.text-\[14\.5px\] {
  font-size: 14.5px;
}

.text-\[14px\] {
  font-size: 14px;
}

.text-\[15px\] {
  font-size: 15px;
}

.text-\[16px\] {
  font-size: 16px;
}

.text-\[17px\] {
  font-size: 17px;
}

.text-\[19px\] {
  font-size: 19px;
}

.text-\[2\.25rem\] {
  font-size: 2.25rem;
}

.text-\[22px\] {
  font-size: 22px;
}

.text-\[2rem\] {
  font-size: 2rem;
}

.text-base {
  font-size: 1rem;
  line-height: 1.5rem;
}

.text-lg {
  font-size: 1.125rem;
  line-height: 1.75rem;
}

.text-sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.text-xl {
  font-size: 1.25rem;
  line-height: 1.75rem;
}

.text-xs {
  font-size: 0.75rem;
  line-height: 1rem;
}

.font-medium {
  font-weight: 500;
}

.font-normal {
  font-weight: 400;
}

.font-semibold {
  font-weight: 600;
}

.uppercase {
  text-transform: uppercase;
}

.italic {
  font-style: italic;
}

.tabular-nums {
  --tw-numeric-spacing: tabular-nums;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}

.leading-5 {
  line-height: 1.25rem;
}

.leading-\[1\.08\] {
  line-height: 1.08;
}

.leading-\[1\.15\] {
  line-height: 1.15;
}

.leading-\[1\.1\] {
  line-height: 1.1;
}

.leading-\[1\.55\] {
  line-height: 1.55;
}

.leading-\[1\.6\] {
  line-height: 1.6;
}

.leading-\[1\.75\] {
  line-height: 1.75;
}

.leading-\[1\.7\] {
  line-height: 1.7;
}

.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\.005em\] {
  letter-spacing: -0.005em;
}

.tracking-\[-0\.01em\] {
  letter-spacing: -0.01em;
}

.tracking-\[0\.14em\] {
  letter-spacing: 0.14em;
}

.tracking-\[0\.16em\] {
  letter-spacing: 0.16em;
}

.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-\[hsl\(var\(--user-bubble-text\)\)\] {
  color: hsl(var(--user-bubble-text));
}

.text-academic-plum-100 {
  --tw-text-opacity: 1;
  color: rgb(229 217 247 / var(--tw-text-opacity, 1));
}

.text-academic-plum-150 {
  --tw-text-opacity: 1;
  color: rgb(216 196 243 / var(--tw-text-opacity, 1));
}

.text-academic-plum-200 {
  --tw-text-opacity: 1;
  color: rgb(203 175 239 / var(--tw-text-opacity, 1));
}

.text-academic-plum-250 {
  --tw-text-opacity: 1;
  color: rgb(189 156 235 / var(--tw-text-opacity, 1));
}

.text-academic-plum-300 {
  --tw-text-opacity: 1;
  color: rgb(176 136 232 / var(--tw-text-opacity, 1));
}

.text-academic-plum-400 {
  --tw-text-opacity: 1;
  color: rgb(149 101 212 / var(--tw-text-opacity, 1));
}

.text-academic-plum-50 {
  --tw-text-opacity: 1;
  color: rgb(244 239 252 / var(--tw-text-opacity, 1));
}

.text-academic-plum-500 {
  --tw-text-opacity: 1;
  color: rgb(111 66 193 / var(--tw-text-opacity, 1));
}

.text-academic-plum-600 {
  --tw-text-opacity: 1;
  color: rgb(90 53 157 / var(--tw-text-opacity, 1));
}

.text-academic-plum-700 {
  --tw-text-opacity: 1;
  color: rgb(71 41 122 / var(--tw-text-opacity, 1));
}

.text-academic-plum-800 {
  --tw-text-opacity: 1;
  color: rgb(52 30 87 / var(--tw-text-opacity, 1));
}

.text-academic-plum-900 {
  --tw-text-opacity: 1;
  color: rgb(34 19 52 / var(--tw-text-opacity, 1));
}

.text-accent-foreground {
  color: hsl(var(--accent-foreground));
}

.text-amber-600\/70 {
  color: rgb(217 119 6 / 0.7);
}

.text-amber-700 {
  --tw-text-opacity: 1;
  color: rgb(180 83 9 / var(--tw-text-opacity, 1));
}

.text-ash {
  --tw-text-opacity: 1;
  color: rgb(233 236 239 / var(--tw-text-opacity, 1));
}

.text-blue-400 {
  --tw-text-opacity: 1;
  color: rgb(96 165 250 / var(--tw-text-opacity, 1));
}

.text-blue-600 {
  --tw-text-opacity: 1;
  color: rgb(37 99 235 / var(--tw-text-opacity, 1));
}

.text-blue-700 {
  --tw-text-opacity: 1;
  color: rgb(29 78 216 / var(--tw-text-opacity, 1));
}

.text-blue-800 {
  --tw-text-opacity: 1;
  color: rgb(30 64 175 / var(--tw-text-opacity, 1));
}

.text-card-foreground {
  color: hsl(var(--card-foreground));
}

.text-clarity-blue-100 {
  --tw-text-opacity: 1;
  color: rgb(195 222 255 / var(--tw-text-opacity, 1));
}

.text-clarity-blue-150 {
  --tw-text-opacity: 1;
  color: rgb(167 207 255 / var(--tw-text-opacity, 1));
}

.text-clarity-blue-200 {
  --tw-text-opacity: 1;
  color: rgb(139 191 255 / var(--tw-text-opacity, 1));
}

.text-clarity-blue-250 {
  --tw-text-opacity: 1;
  color: rgb(110 175 255 / var(--tw-text-opacity, 1));
}

.text-clarity-blue-300 {
  --tw-text-opacity: 1;
  color: rgb(82 159 255 / var(--tw-text-opacity, 1));
}

.text-clarity-blue-400 {
  --tw-text-opacity: 1;
  color: rgb(38 132 255 / var(--tw-text-opacity, 1));
}

.text-clarity-blue-50 {
  --tw-text-opacity: 1;
  color: rgb(231 241 255 / var(--tw-text-opacity, 1));
}

.text-clarity-blue-500 {
  --tw-text-opacity: 1;
  color: rgb(13 110 253 / var(--tw-text-opacity, 1));
}

.text-clarity-blue-600 {
  --tw-text-opacity: 1;
  color: rgb(10 88 202 / var(--tw-text-opacity, 1));
}

.text-clarity-blue-700 {
  --tw-text-opacity: 1;
  color: rgb(8 70 159 / var(--tw-text-opacity, 1));
}

.text-clarity-blue-800 {
  --tw-text-opacity: 1;
  color: rgb(6 53 116 / var(--tw-text-opacity, 1));
}

.text-clarity-blue-900 {
  --tw-text-opacity: 1;
  color: rgb(4 35 73 / var(--tw-text-opacity, 1));
}

.text-cloud-white {
  --tw-text-opacity: 1;
  color: rgb(248 249 250 / var(--tw-text-opacity, 1));
}

.text-current {
  color: currentColor;
}

.text-deep-charcoal {
  --tw-text-opacity: 1;
  color: rgb(52 58 64 / var(--tw-text-opacity, 1));
}

.text-destructive {
  color: hsl(var(--destructive));
}

.text-destructive-foreground {
  color: hsl(var(--destructive-foreground));
}

.text-destructive\/70 {
  color: hsl(var(--destructive) / 0.7);
}

.text-destructive\/80 {
  color: hsl(var(--destructive) / 0.8);
}

.text-emerald-600\/60 {
  color: rgb(5 150 105 / 0.6);
}

.text-emerald-600\/70 {
  color: rgb(5 150 105 / 0.7);
}

.text-foreground {
  color: hsl(var(--foreground));
}

.text-foreground\/50 {
  color: hsl(var(--foreground) / 0.5);
}

.text-foreground\/70 {
  color: hsl(var(--foreground) / 0.7);
}

.text-foreground\/80 {
  color: hsl(var(--foreground) / 0.8);
}

.text-foreground\/85 {
  color: hsl(var(--foreground) / 0.85);
}

.text-foreground\/90 {
  color: hsl(var(--foreground) / 0.9);
}

.text-gray-300 {
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}

.text-gray-400 {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.text-gray-500 {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.text-gray-600 {
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}

.text-gray-700 {
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}

.text-green-400 {
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}

.text-green-600 {
  --tw-text-opacity: 1;
  color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}

.text-green-700 {
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}

.text-mineral-gray {
  --tw-text-opacity: 1;
  color: rgb(108 117 125 / var(--tw-text-opacity, 1));
}

.text-muted-foreground {
  color: hsl(var(--muted-foreground));
}

.text-muted-foreground\/40 {
  color: hsl(var(--muted-foreground) / 0.4);
}

.text-muted-foreground\/50 {
  color: hsl(var(--muted-foreground) / 0.5);
}

.text-muted-foreground\/60 {
  color: hsl(var(--muted-foreground) / 0.6);
}

.text-muted-foreground\/70 {
  color: hsl(var(--muted-foreground) / 0.7);
}

.text-muted-foreground\/80 {
  color: hsl(var(--muted-foreground) / 0.8);
}

.text-muted-foreground\/85 {
  color: hsl(var(--muted-foreground) / 0.85);
}

.text-orange-700 {
  --tw-text-opacity: 1;
  color: rgb(194 65 12 / var(--tw-text-opacity, 1));
}

.text-pc-accent {
  color: hsl(var(--pc-accent));
}

.text-pc-agent-evidencia {
  color: hsl(var(--pc-agent-evidencia));
}

.text-pc-agent-evidencia\/80 {
  color: hsl(var(--pc-agent-evidencia) / 0.8);
}

.text-pc-agent-evidencia\/90 {
  color: hsl(var(--pc-agent-evidencia) / 0.9);
}

.text-pc-agent-memoria {
  color: hsl(var(--pc-agent-memoria));
}

.text-pc-agent-perspectiva {
  color: hsl(var(--pc-agent-perspectiva));
}

.text-pc-agent-sistema {
  color: hsl(var(--pc-agent-sistema));
}

.text-pc-danger {
  color: hsl(var(--pc-danger));
}

.text-pc-danger\/40 {
  color: hsl(var(--pc-danger) / 0.4);
}

.text-pc-danger\/80 {
  color: hsl(var(--pc-danger) / 0.8);
}

.text-pc-ink {
  color: hsl(var(--pc-ink));
}

.text-pc-ink-2 {
  color: hsl(var(--pc-ink-2));
}

.text-pc-ink-3 {
  color: hsl(var(--pc-ink-3));
}

.text-pc-ink-3\/60 {
  color: hsl(var(--pc-ink-3) / 0.6);
}

.text-pc-ink-3\/70 {
  color: hsl(var(--pc-ink-3) / 0.7);
}

.text-pc-line {
  color: hsl(var(--pc-line));
}

.text-pc-paper {
  color: hsl(var(--pc-paper));
}

.text-popover-foreground {
  color: hsl(var(--popover-foreground));
}

.text-primary {
  color: hsl(var(--primary));
}

.text-primary-foreground {
  color: hsl(var(--primary-foreground));
}

.text-primary\/60 {
  color: hsl(var(--primary) / 0.6);
}

.text-primary\/70 {
  color: hsl(var(--primary) / 0.7);
}

.text-primary\/80 {
  color: hsl(var(--primary) / 0.8);
}

.text-purple-400 {
  --tw-text-opacity: 1;
  color: rgb(192 132 252 / var(--tw-text-opacity, 1));
}

.text-purple-600 {
  --tw-text-opacity: 1;
  color: rgb(147 51 234 / var(--tw-text-opacity, 1));
}

.text-red-400 {
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}

.text-red-500 {
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}

.text-red-600 {
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}

.text-secondary-foreground {
  color: hsl(var(--secondary-foreground));
}

.text-serene-teal-100 {
  --tw-text-opacity: 1;
  color: rgb(195 250 232 / var(--tw-text-opacity, 1));
}

.text-serene-teal-150 {
  --tw-text-opacity: 1;
  color: rgb(179 245 223 / var(--tw-text-opacity, 1));
}

.text-serene-teal-200 {
  --tw-text-opacity: 1;
  color: rgb(140 245 210 / var(--tw-text-opacity, 1));
}

.text-serene-teal-250 {
  --tw-text-opacity: 1;
  color: rgb(110 237 198 / var(--tw-text-opacity, 1));
}

.text-serene-teal-300 {
  --tw-text-opacity: 1;
  color: rgb(81 234 187 / var(--tw-text-opacity, 1));
}

.text-serene-teal-400 {
  --tw-text-opacity: 1;
  color: rgb(45 212 167 / var(--tw-text-opacity, 1));
}

.text-serene-teal-50 {
  --tw-text-opacity: 1;
  color: rgb(230 252 245 / var(--tw-text-opacity, 1));
}

.text-serene-teal-500 {
  --tw-text-opacity: 1;
  color: rgb(32 201 151 / var(--tw-text-opacity, 1));
}

.text-serene-teal-600 {
  --tw-text-opacity: 1;
  color: rgb(26 161 121 / var(--tw-text-opacity, 1));
}

.text-serene-teal-700 {
  --tw-text-opacity: 1;
  color: rgb(20 125 95 / var(--tw-text-opacity, 1));
}

.text-serene-teal-800 {
  --tw-text-opacity: 1;
  color: rgb(15 94 71 / var(--tw-text-opacity, 1));
}

.text-serene-teal-900 {
  --tw-text-opacity: 1;
  color: rgb(10 63 47 / var(--tw-text-opacity, 1));
}

.text-sidebar-foreground {
  color: hsl(var(--sidebar-foreground));
}

.text-sidebar-foreground\/70 {
  color: hsl(var(--sidebar-foreground) / 0.7);
}

.text-success {
  color: hsl(var(--success));
}

.text-warning {
  color: hsl(var(--warning));
}

.text-warning-foreground {
  color: hsl(var(--warning-foreground));
}

.text-warning-foreground\/70 {
  color: hsl(var(--warning-foreground) / 0.7);
}

.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.text-yellow-400 {
  --tw-text-opacity: 1;
  color: rgb(250 204 21 / var(--tw-text-opacity, 1));
}

.underline {
  text-decoration-line: underline;
}

.decoration-dotted {
  text-decoration-style: dotted;
}

.decoration-1 {
  text-decoration-thickness: 1px;
}

.underline-offset-2 {
  text-underline-offset: 2px;
}

.underline-offset-4 {
  text-underline-offset: 4px;
}

.antialiased {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.accent-foreground {
  accent-color: hsl(var(--foreground));
}

.opacity-0 {
  opacity: 0;
}

.opacity-100 {
  opacity: 1;
}

.opacity-15 {
  opacity: 0.15;
}

.opacity-25 {
  opacity: 0.25;
}

.opacity-30 {
  opacity: 0.3;
}

.opacity-50 {
  opacity: 0.5;
}

.opacity-60 {
  opacity: 0.6;
}

.opacity-70 {
  opacity: 0.7;
}

.opacity-75 {
  opacity: 0.75;
}

.opacity-80 {
  opacity: 0.8;
}

.opacity-90 {
  opacity: 0.9;
}

.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_1px_hsl\(var\(--sidebar-border\)\)\] {
  --tw-shadow: 0 0 0 1px hsl(var(--sidebar-border));
  --tw-shadow-colored: 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-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-md {
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px 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-none {
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  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;
}

.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-0 {
  --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(0px + 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-blue-500 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1));
}

.ring-green-500 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(34 197 94 / var(--tw-ring-opacity, 1));
}

.ring-purple-500 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(168 85 247 / var(--tw-ring-opacity, 1));
}

.ring-ring {
  --tw-ring-color: hsl(var(--ring));
}

.ring-sidebar-ring {
  --tw-ring-color: hsl(var(--sidebar-ring));
}

.ring-transparent {
  --tw-ring-color: transparent;
}

.ring-offset-0 {
  --tw-ring-offset-width: 0px;
}

.ring-offset-background {
  --tw-ring-offset-color: hsl(var(--background));
}

.invert {
  --tw-invert: invert(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);
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

.backdrop-blur-md {
  --tw-backdrop-blur: blur(12px);
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

.backdrop-blur-sm {
  --tw-backdrop-blur: blur(4px);
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

.transition {
  transition-property: color, background-color, border-color, 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-\[clip-path\] {
  transition-property: clip-path;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-\[height\2c opacity\] {
  transition-property: height,opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-\[left\2c right\2c width\] {
  transition-property: left,right,width;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-\[margin\2c opa\] {
  transition-property: margin,opa;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-\[width\2c height\2c padding\] {
  transition-property: width,height,padding;
  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-1000 {
  transition-duration: 1000ms;
}

.duration-150 {
  transition-duration: 150ms;
}

.duration-200 {
  transition-duration: 200ms;
}

.duration-300 {
  transition-duration: 300ms;
}

.duration-500 {
  transition-duration: 500ms;
}

.duration-quick {
  transition-duration: 200ms;
}

.ease-in-out {
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.ease-linear {
  transition-timing-function: linear;
}

.ease-out {
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}

@keyframes enter {

  from {
    opacity: var(--tw-enter-opacity, 1);
    transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0));
  }
}

@keyframes exit {

  to {
    opacity: var(--tw-exit-opacity, 1);
    transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0));
  }
}

.animate-in {
  animation-name: enter;
  animation-duration: 150ms;
  --tw-enter-opacity: initial;
  --tw-enter-scale: initial;
  --tw-enter-rotate: initial;
  --tw-enter-translate-x: initial;
  --tw-enter-translate-y: initial;
}

.fade-in {
  --tw-enter-opacity: 0;
}

.fade-in-0 {
  --tw-enter-opacity: 0;
}

.fade-in-80 {
  --tw-enter-opacity: 0.8;
}

.zoom-in-95 {
  --tw-enter-scale: .95;
}

.duration-1000 {
  animation-duration: 1000ms;
}

.duration-150 {
  animation-duration: 150ms;
}

.duration-200 {
  animation-duration: 200ms;
}

.duration-300 {
  animation-duration: 300ms;
}

.duration-500 {
  animation-duration: 500ms;
}

.duration-quick {
  animation-duration: 200ms;
}

.ease-in-out {
  animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.ease-linear {
  animation-timing-function: linear;
}

.ease-out {
  animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
}

.running {
  animation-play-state: running;
}

/* Ocultar scrollbar en todos los navegadores */

.scrollbar-hide {
    /* Firefox */
    scrollbar-width: none;
    /* IE and Edge */
    -ms-overflow-style: none;
  }

.scrollbar-hide::-webkit-scrollbar {
    /* Chrome, Safari and Opera */
    display: none;
  }

/* Ultra-thin scrollbar for contained areas (e.g. step lists) */

.scrollbar-thin {
    scrollbar-width: thin;
    scrollbar-color: hsl(var(--muted-foreground) / 0.15) transparent;
  }

.scrollbar-thin::-webkit-scrollbar {
    width: 3px;
  }

.scrollbar-thin::-webkit-scrollbar-track {
    background: transparent;
  }

.scrollbar-thin::-webkit-scrollbar-thumb {
    background: hsl(var(--muted-foreground) / 0.15);
    border-radius: 9999px;
  }

.scrollbar-thin::-webkit-scrollbar-thumb:hover {
    background: hsl(var(--muted-foreground) / 0.3);
  }

/*
   * Mobile swipe fix — Radix ScrollArea viewports inside a touch-pan-y
   * container (e.g. workspace sliding panels) must also declare pan-y so the
   * browser hands horizontal gestures to framer-motion's drag handler instead
   * of capturing them for potential native horizontal scrolling.
   */

.touch-pan-y [data-radix-scroll-area-viewport] {
    touch-action: pan-y;
  }

/* Screen reader only - WCAG 2.1 AA accessibility */

.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;
  }

/* Animación de cursor tipo teclado - natural, lenta y pausada */

@keyframes cursor-blink {
    0%, 45% {
      opacity: 1;
    }
    50%, 95% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
  }

/* Sync status pulse — gentle throb on the cloud icon for "syncing" state */

@keyframes sync-pulse {
    0%, 100% {
      opacity: 1;
    }
    50% {
      opacity: 0.4;
    }
  }

.animate-sync-pulse {
    animation: sync-pulse 1.8s ease-in-out infinite;
  }

.\[-webkit-overflow-scrolling\:touch\] {
  -webkit-overflow-scrolling: touch;
}

.\[scrollbar-width\:none\] {
  scrollbar-width: none;
}

.\[touch-action\:pan-x\] {
  touch-action: pan-x;
}

.\[touch-action\:pan-y\] {
  touch-action: pan-y;
}

.\[writing-mode\:vertical-lr\] {
  writing-mode: vertical-lr;
}

/* ============================================================================
 * tokens.css — Aurora design tokens (light + dark)
 * Part of the globals.css split (SRP Track B4). Imported FIRST by globals.css so
 * the token custom-properties land at the top of the Tailwind `base` layer,
 * exactly as before the split. Re-homed verbatim; values are unchanged (B4 is
 * PREP for the token redesign, not the redesign itself).
 * ========================================================================== */

/* ============================================================================
 * base.css — global element base, base utility helpers, and global aesthetics
 * Part of the globals.css split (SRP Track B4). Imported after tokens.css.
 * Holds: the `@layer base` element resets/body styling, the non-animation
 * `@layer utilities` helpers (scrollbars / touch / sr-only / text-balance), and
 * the post-layer global aesthetics (focus-visible, glass-card, warm shadows).
 * Re-homed verbatim — no visual change.
 * ========================================================================== */

/* ─── Enhanced Focus Indicators (WCAG 2.4.7 AA) ── research §6.2 ────────── */

*:focus-visible {
  outline: 2px solid hsl(var(--ring));
  outline-offset: 2px;
  border-radius: inherit;
}

button:focus-visible,
[role="button"]:focus-visible {
  outline: 3px solid hsl(var(--ring));
  outline-offset: 2px;
}

input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 2px solid hsl(var(--ring));
  outline-offset: 0;
  border-color: hsl(var(--ring));
}

/* ─── Warm Shadow Utility ── research §3.1 Scandinavian Warmth ──────────── */

/* CSS-05: the warm-brown rgba() literals are expressed via the --foreground
 * token so light-mode elevation tracks the palette. In light mode --foreground
 * is near-black (210 14% 15%), giving a tint very close to the original warm
 * rgba(60,50,40,…). The dark override keeps an explicit black shadow because
 * --foreground inverts to light on dark and would otherwise produce a glow. */

.shadow-warm-sm {
  box-shadow: 0 1px 3px hsl(var(--foreground) / 0.08);
}

.shadow-warm {
  box-shadow: 0 2px 8px hsl(var(--foreground) / 0.06), 0 1px 3px hsl(var(--foreground) / 0.08);
}

.dark .shadow-warm-sm,
.dark .shadow-warm {
  /* Shadows are less visible on dark — use standard black box-shadow
   * (NOT --foreground, which is light on dark and would invert the effect). */
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}

/* ============================================================================
 * markdown.css — clinical markdown typography (the non-table `.markdown-content`
 * rules) plus the KaTeX and Shiki library-output overrides.
 * Part of the globals.css split (SRP Track B4). Imported after base.css.
 * Table-specific rules live in clinical-tables.css. The `.markdown-content`
 * rules stay in `@layer components`; the KaTeX/Shiki overrides stay plain CSS
 * (post-utilities) so they keep winning over the library defaults, exactly as
 * before the split. Re-homed verbatim — no visual change.
 * ========================================================================== */

/* Estilos específicos para contenido markdown en mensajes clínicos */

/* === KaTeX clinical overrides ===
 * Ajustes para integrar el renderizado matemático de KaTeX con la paleta
 * clínica de Aurora. Aplicamos un tamaño cómodo (1.05em), heredamos el color
 * del contexto (foreground en claro, contraste alto en oscuro) y suavizamos
 * el espaciado vertical en fórmulas display para no romper el ritmo de
 * lectura clínica.
 */

.katex {
  /* Heredar la familia tipográfica del contexto Aurora (IBM Plex Serif/Sans),
   * KaTeX usa su propia fuente "KaTeX_Main" para los glifos matemáticos.
   * Mantenemos la fuente de KaTeX para los símbolos pero ajustamos size/color. */
  font-size: 1.05em;
  color: inherit;
  line-height: 1.4;
}

.katex-display {
  /* Bloques display: margen vertical generoso, scroll horizontal si la fórmula
   * desborda en mobile, sin romper el flujo. */
  margin: 1rem 0;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 0.25rem 0;
}

.katex-display > .katex {
  /* No forzar tamaño extra en display — el ratio inline (1.05em) ya es
   * suficiente y evita que las fracciones desborden contenedores estrechos. */
  font-size: 1.1em;
  white-space: nowrap;
}

/* Dark mode: KaTeX hereda color via `color: inherit`. Reforzamos el contraste
 * para los pequeños glifos matemáticos que tienden a apagarse en oscuro. */

.dark .katex {
  color: hsl(var(--foreground));
}

/* Errores de parsing de KaTeX: en streaming es común recibir fórmulas
 * incompletas. Tonificamos el rojo nativo para no alarmar al clínico. */

.katex-error {
  color: hsl(var(--muted-foreground)) !important;
  background: hsl(var(--secondary) / 0.4);
  padding: 0.1em 0.3em;
  /* calc(var(--radius) - 8px) ≈ 0.25rem at the default 0.75rem token (CSS-04). */
  border-radius: calc(var(--radius) - 8px);
  font-size: 0.95em;
}

/* Shiki: los bloques con tema dual ya emiten `--shiki-dark` y `--shiki-light`.
 * Aurora controla el tema activo con `.dark` en el contenedor raíz, así que
 * forzamos las variables de Shiki a leer del tema correcto. */

.shiki,
.shiki span {
  background-color: var(--shiki-light-bg) !important;
  color: var(--shiki-light) !important;
}

.dark .shiki,
.dark .shiki span {
  background-color: var(--shiki-dark-bg) !important;
  color: var(--shiki-dark) !important;
}

/* El `pre` que envuelve a Shiki ya tiene padding/borde aplicado por
 * `rehype-aurora-classes`; aquí solo aseguramos que el `<code>` interno no
 * herede el fondo secundario inline-code. */

pre.shiki,
pre > code.shiki,
pre code[class*="language-"] {
  background-color: transparent;
}

/* ============================================================================
 * clinical-tables.css — clinical table rendering (base `.markdown-content`
 * tables, the agent-generated `.clinical-table*` suite, the mobile container-
 * query breakout, the `.chat-message-bubble` container context and scroll
 * indicators).
 * Part of the globals.css split (SRP Track B4). Imported after markdown.css so
 * `.clinical-table*` overrides keep landing AFTER the base table rules within
 * the Tailwind `components` layer — identical cascade to before the split.
 *
 * NOTE 1: the doubled `.markdown-content X, .prose X` selectors are NOT
 * redundant — chat surfaces apply `.markdown-content`, the document surfaces
 * apply `.prose`-only; both halves are load-bearing.
 *
 * NOTE 2 (B4 !important strip): the original block carried ~66 `!important`
 * flags whose comment claimed they were needed "para sobrescribir prose".
 * @tailwindcss/typography is NOT installed, so there is no `.prose` plugin to
 * fight; and every `.markdown-content .clinical-table-*` selector (0,2,0)
 * already beats the base `.markdown-content table|td|th` rules (0,1,1) on
 * specificity. Those vestigial `!important`s were removed. The ones RETAINED
 * below are genuinely load-bearing tiebreaks, NOT prose defenses:
 *   - `.clinical-table-row { transition … !important }` — wins over the global
 *     `*{transition-duration:.01ms!important}` reduced-motion rule (same as before);
 *   - the mobile scroll-indicator `::after` arrow + `.scrolled::after` — resolve
 *     arrow-vs-gradient-vs-`:hover`-vs-reduced-motion within the indicator.
 * Removing those would change rendering, so they stay.
 * ========================================================================== */

/* ============================================================================
 * animations.css — keyframes, animation utility classes, the streaming /
 * loading / timeline motion, and the reduced-motion handling.
 * Part of the globals.css split (SRP Track B4). Imported LAST by globals.css so
 * the plain-CSS animation rules keep landing after every Tailwind layer, exactly
 * as before the split. Re-homed verbatim — no visual change.
 *
 * CSS-09 (motion-token scope): the keyframe LOOP durations below (1.2s / 1.6s /
 * 1.8s / 2.4s) are intentionally NOT mapped onto the --duration-* token ladder
 * (100/200/300/500ms). That ladder governs discrete UI TRANSITIONS (hover, open/
 * close); these are ambient, infinite "breathing" loops (cursor blink, sync
 * pulse, shimmer, streaming dots, timeline heartbeat) whose slow >500ms cadence
 * IS the design — the comments on each describe the calm, clinical rhythm. The
 * easing is likewise kept as the symmetric `ease-in-out` keyword on purpose:
 * these loops oscillate to a resting state and back, so a symmetric curve is
 * correct; --ease-standard (asymmetric fast-out, cubic-bezier(0.4,0,0.2,1)) would
 * skew the breathing rhythm. Left as-is by design; flagged for the record only.
 * All loops are still neutralised by the consolidated prefers-reduced-motion
 * block at the foot of this file (the reduced-motion source of truth).
 * ========================================================================== */

/* ─── Skeleton shimmer (premium loading state) ──────────────────────────── */

@keyframes clinical-shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

.skeleton-shimmer {
  background: linear-gradient(
    90deg,
    hsl(var(--secondary) / 0.25) 0%,
    hsl(var(--secondary) / 0.5) 50%,
    hsl(var(--secondary) / 0.25) 100%
  );
  background-size: 200% 100%;
  animation: clinical-shimmer 1.6s ease-in-out infinite;
}

/* === Unit 3: streaming bubble animations === */

/* Calm three-dot indicator used while the assistant prepares its response.
   Each dot cascades with a soft fade (opacity 0.3 ↔ 1.0) over a 1.6s cycle,
   staggered 0.2s between dots, producing a clinical, breathing rhythm
   rather than a jittery spinner. */

@keyframes aurora-bubble-dot-pulse {
  0%, 100% { opacity: 0.3; transform: scale(0.92); }
  50%      { opacity: 1;   transform: scale(1); }
}

.aurora-bubble-dots {
  /* Reserve a stable baseline so the bubble does not jitter as dots scale. */
  min-height: 0.625rem; /* matches w-1.5/h-1.5 (6px) plus a touch of slack */
}

.aurora-bubble-dot {
  animation: aurora-bubble-dot-pulse 1.6s ease-in-out infinite;
  opacity: 0.3;
  will-change: opacity, transform;
}

.aurora-bubble-dot:nth-child(1) { animation-delay: 0s;   }

.aurora-bubble-dot:nth-child(2) { animation-delay: 0.2s; }

.aurora-bubble-dot:nth-child(3) { animation-delay: 0.4s; }

/* === Unit 2: streaming renderer animations === */

/*
 * Pulso suave para el cursor de streaming cuando el agente está "idle"
 * (más de ~500ms sin recibir chunks). Curva tipo seno —opacidad de
 * 0.4 a 1.0 y vuelta— para dar una sensación calmada, no agresiva.
 * Mientras llegan chunks, el componente fija opacity: 1 sin animar.
 */

@keyframes aurora-cursor-pulse {
  0% { opacity: 0.4; }
  50% { opacity: 1; }
  100% { opacity: 0.4; }
}

/*
 * Shimmer para las barras de fallback mientras el primer chunk no
 * ha llegado. Desplazamiento horizontal lento — 1.8s — para que la
 * espera se sienta tranquila en sesión clínica.
 */

@keyframes aurora-shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

.aurora-shimmer-bar {
  background-image: linear-gradient(
    90deg,
    transparent 0%,
    hsl(var(--foreground) / 0.08) 50%,
    transparent 100%
  );
  background-size: 200% 100%;
  background-repeat: no-repeat;
  animation: aurora-shimmer 1.8s ease-in-out infinite;
}

/* === Unit 4: timeline animations ======================================== */

/*
 * Soft, clinical pulse for the active chip indicator on the execution
 * timeline rail. Replaces the previous framer-motion infinite ring (1.8s)
 * with a slower, gentler heartbeat (2.4s, ease-in-out) that does NOT compete
 * for attention while the AI message is streaming below.
 *
 *   - Opacity oscillates between 0.4 and 1.0
 *   - Scale gently breathes 1.0 → 1.06 → 1.0
 *   - Disabled completely under `prefers-reduced-motion: reduce`
 *     (the indicator becomes a static dot).
 */

@keyframes aurora-timeline-active-pulse {
  0%   { opacity: 0.4; transform: scale(1);    }
  50%  { opacity: 1;   transform: scale(1.06); }
  100% { opacity: 0.4; transform: scale(1);    }
}

.aurora-timeline-active-pulse {
  animation: aurora-timeline-active-pulse 2.4s ease-in-out infinite;
  transform-origin: center;
  will-change: opacity, transform;
}

/* ─── Prefers Reduced Motion (consolidated) ── research §6.3 ─────────────────
 * Single source of truth for reduced-motion. Previously FIVE separate
 * @media (prefers-reduced-motion: reduce) blocks were scattered through the
 * file; merged here verbatim into ONE block placed AFTER every animation
 * definition, so each per-component override still wins over its base rule.
 * Net effect is identical to the five-block version:
 *   1. the global rule (!important, universal) neutralises animation/transition
 *      duration, iteration and scroll for everything — order-independent;
 *   2–5. each per-component rule pins a static resting state.
 * ──────────────────────────────────────────────────────────────────────── */

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }

  /* Skeleton shimmer: flat tint, no sweep. */
  .skeleton-shimmer {
    animation: none;
    background: hsl(var(--secondary) / 0.3);
  }

  /* Streaming bubble dots: static, gently dimmed. */
  .aurora-bubble-dot {
    animation: none;
    opacity: 0.6;
    transform: none;
  }

  /* Streaming renderer: idle cursor fully visible & still; shimmer bar untinted. */
  [style*="aurora-cursor-pulse"] {
    animation: none !important;
    opacity: 1 !important;
  }

  .aurora-shimmer-bar {
    animation: none;
    background-image: none;
  }

  /* Timeline active chip: static dot. */
  .aurora-timeline-active-pulse {
    animation: none;
    opacity: 0.8;
    transform: none;
  }
}

/* Chat redesign tokens (design sprint, jun 2026). Additive + scoped to
   [data-aurora-redesign], which the chat shell stamps unconditionally — the
   redesign IS the application, so this cascade is always active there. Desde
   2026-08 la landing pública y el login estampan el mismo atributo: son la
   misma superficie vista desde fuera. Lo que quede fuera de ese root no
   matchea el selector y no se ve afectado. */

/* ============================================================================
 * chat-redesign.css — Aurora chat redesign · design tokens + instrument type.
 *
 * The "Clínico minimalista" (Equipo C) visual system — this is the design-
 * token sheet for the application, not an experiment kept apart from a "live"
 * one. Still scoped to the redesign root rather than promoted to `:root`
 * (spec §4 — this file paints `background`/`color`/`font-family`, y `:root`
 * lo derramaría sobre CUALQUIER página, incluidas las que no lo quieren):
 *
 *   · Every `--pc-*` token and the cold-paper base paint hang off the redesign
 *     root `[data-aurora-redesign]`. El shell del chat estampa ese atributo
 *     incondicionalmente (ver lib/feature-flags.ts) — y desde el rediseño de
 *     la landing (2026-08), TAMBIÉN lo estampan la pública y el login: son la
 *     misma superficie vista desde fuera, y quien llega tiene que reconocer
 *     el instrumento al entrar. Lo que queda fuera del root (p. ej. /perfil)
 *     no matchea el selector y no se ve afectado.
 *   · We do NOT redeclare `:root` / `.dark` from app/styles/tokens.css.
 *   · Dark mode is bound to the real next-themes `.dark` class on <html>
 *     (`.dark [data-aurora-redesign]`), not a separate data-theme.
 *   · Token NAMES are the contract shared with Seg 1–4 (Agent E): E consumes
 *     these same `--pc-*` vars and `.pc-*` utilities inside the redesign root.
 *
 * Imported last by app/globals.css (additive). `@layer base` for tokens + root
 * paint so per-element Tailwind utilities (utilities layer) can still override;
 * `@layer components` for the type/link utilities so utilities win over them;
 * motion helpers are plain CSS (intentionally cascade after utilities).
 * ========================================================================== */

/* ── Motion (plain CSS — intentionally cascades after the utilities layer) ───
 * All animation is functional only: a streaming caret, a state-change pop, the
 * active-step pulse, and a calm staggered entrance. No bounce / overshoot. */

/* Caret de streaming — un trazo de tinta-acento, no un punto que rebota. */

.pc-caret {
  display: inline-block;
  width: 2px;
  height: 1.05em;
  transform: translateY(0.16em);
  margin-left: 2px;
  background: hsl(var(--pc-accent));
  animation: pc-blink 1.1s steps(1) infinite;
}

@keyframes pc-blink {
  0%, 50% { opacity: 1; }
  50.01%, 100% { opacity: 0; }
}

/* "Razonando" — secuenciador de etapas: cuatro trazos que se encienden en
   cadena con los tonos de agente (perspectiva → memoria → evidencia → sistema).
   Indica que el pipeline está trabajando, sin números ni cronómetro. */

.pc-seq {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  margin-left: 1px;
}

.pc-seq > span {
  width: 10px;
  height: 3px;
  border-radius: 999px;
  opacity: 0.22;
  animation: pc-seq 1.5s ease-in-out infinite;
}

.pc-seq > span:nth-child(1) { background: hsl(var(--pc-agent-perspectiva)); animation-delay: 0ms; }

.pc-seq > span:nth-child(2) { background: hsl(var(--pc-agent-memoria)); animation-delay: 160ms; }

.pc-seq > span:nth-child(3) { background: hsl(var(--pc-agent-evidencia)); animation-delay: 320ms; }

.pc-seq > span:nth-child(4) { background: hsl(var(--pc-agent-sistema)); animation-delay: 480ms; }

@keyframes pc-seq {
  0%, 100% { opacity: 0.22; }
  35% { opacity: 1; }
}

/* Entrada de check completado (escala, gated por reduced-motion). */

@keyframes pc-pop {
  from { transform: scale(0.55); opacity: 0; }
  to { transform: scale(1); opacity: 1; }
}

.pc-pop { animation: pc-pop 200ms cubic-bezier(0.4, 0, 0.2, 1); }

/* Pulso sutil del paso activo. */

@keyframes pc-pulse {
  0%, 100% { opacity: 0.4; }
  50% { opacity: 1; }
}

.pc-pulse { animation: pc-pulse 1.8s ease-in-out infinite; }

/* Reveal de entrada (carga calmada, escalonada). */

@keyframes pc-rise {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

.pc-rise { animation: pc-rise 360ms cubic-bezier(0, 0, 0.2, 1) both; }

/* Scrollbar discreto dentro del shell rediseñado. */

.pc-scroll {
  scrollbar-width: thin;
  scrollbar-color: hsl(var(--pc-line-2)) transparent;
}

.pc-scroll::-webkit-scrollbar { width: 8px; height: 8px; }

.pc-scroll::-webkit-scrollbar-thumb { background: hsl(var(--pc-line-2)); border-radius: 999px; }

.pc-scroll::-webkit-scrollbar-track { background: transparent; }

/* Riel horizontal scrollable SIN barra de scroll del SO: la barra nativa parece
   "chrome" de ventana y rompe la ilusión de lienzo libre del chat. El
   desbordamiento se comunica con un desvanecido en los bordes (mask-image),
   calculado por posición de scroll en el componente. */

.pc-scroll-x-ghost {
  scrollbar-width: none;       /* Firefox */
  -ms-overflow-style: none;    /* Edge legado */
}

.pc-scroll-x-ghost::-webkit-scrollbar { width: 0; height: 0; display: none; }

/* Título pendiente (live-history-sync): mientras una conversación nueva aún no
   tiene título derivado, el placeholder ("Consulta sin título") muestra un sheen
   sutil que lo recorre. La base es legible en --pc-ink-3; la animación solo
   añade un brillo. Scoped al root del rediseño porque depende de los tokens
   --pc-*, que sólo resuelven ahí; fuera de ese root (páginas que no montan el
   shell) la clase no matchea y el texto se vería plano. Sin salto de layout: el mismo <span> pasa de placeholder a título
   real con la misma tipografía y altura de línea. */

[data-aurora-redesign] .pc-title-pending {
  background: linear-gradient(
    100deg,
    hsl(var(--pc-ink-3)) 0%,
    hsl(var(--pc-ink-3)) 38%,
    hsl(var(--pc-ink)) 50%,
    hsl(var(--pc-ink-3)) 62%,
    hsl(var(--pc-ink-3)) 100%
  );
  background-size: 220% 100%;
  background-position: 120% 0;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  animation: pc-title-shimmer 1.6s ease-in-out infinite;
  transition: color 200ms ease;
}

@keyframes pc-title-shimmer {
  from { background-position: 120% 0; }
  to { background-position: -20% 0; }
}

/* reduced-motion: sin brillo en movimiento; placeholder estático y legible. */

@media (prefers-reduced-motion: reduce) {
  [data-aurora-redesign] .pc-title-pending {
    animation: none !important;
    background: none !important;
    -webkit-text-fill-color: hsl(var(--pc-ink-3)) !important;
    color: hsl(var(--pc-ink-3)) !important;
  }
}

/* prefers-reduced-motion: kill all motion inside the redesign root. */

@media (prefers-reduced-motion: reduce) {
  [data-aurora-redesign] *,
  [data-aurora-redesign] *::before,
  [data-aurora-redesign] *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
  [data-aurora-redesign] .pc-caret {
    animation: none !important;
    opacity: 1 !important;
  }
  /* Secuenciador: sin parpadeo; los trazos descansan visibles y estables. */
  [data-aurora-redesign] .pc-seq > span {
    animation: none !important;
    opacity: 0.6 !important;
  }
}

/* ──────────────────────────────────────────────────────────────────────────
   Aurora boreal — el borde de una acción que está corriendo.

   Sustituye a la narración paso a paso que la tarjeta de documento escupía
   mientras redactaba («Abriendo el expediente…», «Generando sección: ##…»):
   once líneas de fontanería que decían al psicólogo cómo funciona la máquina
   en vez de qué está pasando con su caso. La señal de que algo corre no
   necesita palabras.

   El gradiente recorre el borde con los verdes y violetas de una aurora, sobre
   el azul-instrumento de la superficie. Va en el BORDE y no en el fondo para
   que el texto de la tarjeta siga leyéndose con el mismo contraste.

   Se apaga sola: la clase la pone el componente sólo mientras `status` es
   `active`, así que al cerrarse la acción el borde vuelve a su hairline.
   ────────────────────────────────────────────────────────────────────────── */

@keyframes pc-aurora-borde {
  0%   { background-position:   0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position:   0% 50%; }
}

[data-aurora-redesign] .pc-aurora-viva {
  position: relative;
  /* El borde propio se cede al gradiente; el hairline vuelve al terminar. */
  border-color: transparent;
  background-clip: padding-box;
}

[data-aurora-redesign] .pc-aurora-viva::before {
  content: '';
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(115deg, var(--pc-aurora-stops));
  background-size: 300% 100%;
  animation: pc-aurora-borde 3.2s ease-in-out infinite;
  /* Sólo el marco: el relleno se recorta y deja ver la tarjeta. */
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
          mask-composite: exclude;
  pointer-events: none;
}

/* Sin movimiento: el borde se queda quieto en un tono de la aurora, que sigue
   distinguiendo «corriendo» de «terminado» sin animar nada. */

@media (prefers-reduced-motion: reduce) {
  [data-aurora-redesign] .pc-aurora-viva::before {
    animation: none;
    background: hsl(168 62% 52% / 0.7);
  }
}

/* ──────────────────────────────────────────────────────────────────────────
   Aurora boreal FIJA — la misma luz, quieta.

   `pc-aurora-viva` (arriba) dice «esto está corriendo», y por eso se mueve.
   Estas dos clases usan EL MISMO degradado (`--pc-aurora-stops`) sin
   movimiento, porque no anuncian trabajo en curso sino identidad: son el
   borde del lienzo clínico y su acceso desde el teléfono. Un borde que se
   mueve permanentemente en una superficie donde el psicólogo lee y edita es
   ruido; el color, quieto, sigue diciendo «esto es de Aurora».

   El degradado va SIEMPRE en el marco (máscara `xor`), nunca en el fondo, para
   no tocar el contraste del texto que contiene.
   ────────────────────────────────────────────────────────────────────────── */

/* Marco completo — pastillas y botones (p. ej. «Canvas listo» en móvil). */

[data-aurora-redesign] .pc-aurora-fija {
  position: relative;
  border-color: transparent;
  background-clip: padding-box;
}

[data-aurora-redesign] .pc-aurora-fija::before {
  content: '';
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(115deg, var(--pc-aurora-stops));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
  pointer-events: none;
}

/* Filete vertical izquierdo — el canvas en escritorio.
   No lleva marco completo a propósito: la columna está pegada al borde
   derecho de la ventana, así que un marco pintaría una línea contra el canto
   de la pantalla. Lo que separa el canvas del chat es su costado izquierdo, y
   ése es el que se colorea. Sustituye al `border-l` gris, no se suma a él.

   `border-image` y NO un pseudo-elemento: el contenedor del canvas lleva
   `overflow-hidden` (recorta el panel mientras la anchura transiciona), y un
   `::before` en el área del borde cae fuera de la caja de relleno — es decir,
   se recorta entero y no se ve nada. El degradado pintado como imagen de
   borde vive EN el borde, así que el recorte no le afecta. Con `slice: 1` la
   imagen cubre las cuatro franjas, pero sólo la izquierda tiene grosor. */

[data-aurora-redesign] .pc-aurora-filete-izq {
  border-left-color: transparent;
  border-image: linear-gradient(180deg, var(--pc-aurora-stops)) 1;
}

/* Regla horizontal — el horizonte de la aurora.
   Una línea de 1px con el mismo degradado, para separar secciones en las
   superficies públicas (landing, login). Es la firma cromática de Aurora
   usada UNA vez por pantalla: repetida deja de significar nada. */

[data-aurora-redesign] .pc-aurora-linea {
  height: 1px;
  border: 0;
  background: linear-gradient(90deg, var(--pc-aurora-stops));
}

/* ──────────────────────────────────────────────────────────────────────────
   Aparición del paciente en contexto — progressive disclosure.

   Cuando un paciente entra en contexto por primera vez, su nombre aparece en
   la cabecera con el filete de la aurora barriendo de izquierda a derecha, y
   AHÍ SE QUEDA, quieto. La animación ocurre una sola vez (`both` + una
   iteración): lo que persiste después es exactamente `pc-aurora-fija`.

   El barrido es `clip-path` sobre el marco, no un fundido del contenido: el
   nombre del paciente se lee completo desde el primer frame — es un dato
   clínico, no debe llegar a medias.
   ────────────────────────────────────────────────────────────────────────── */

@keyframes pc-aurora-revelar {
  from { clip-path: inset(0 100% 0 0); }
  to   { clip-path: inset(0 0 0 0); }
}

[data-aurora-redesign] .pc-aurora-revelada {
  position: relative;
  border-color: transparent;
  background-clip: padding-box;
}

[data-aurora-redesign] .pc-aurora-revelada::before {
  content: '';
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(115deg, var(--pc-aurora-stops));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
  animation: pc-aurora-revelar 620ms cubic-bezier(0, 0, 0.2, 1) both;
  pointer-events: none;
}

/* Sin movimiento: el filete ya está entero desde el primer frame. El bloque
   general de reduced-motion de más arriba aplasta la duración a 0.001ms, y con
   `both` eso deja el estado final — pero se declara explícito para no depender
   de ese efecto lateral. */

@media (prefers-reduced-motion: reduce) {
  [data-aurora-redesign] .pc-aurora-revelada::before {
    animation: none;
    clip-path: none;
  }
}

.file\:font-medium::file-selector-button {
    font-weight: 500;
    font-synthesis: weight;
  }

.data-\[active\=true\]\:font-medium[data-active="true"] {
    font-weight: 500;
    font-synthesis: weight;
  }

.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading] {
    font-weight: 500;
    font-synthesis: weight;
  }

@media (min-width: 768px) {

  .md\:prose-base {
    font-size: 1rem;
    line-height: 1.75;
  }

  .md\:prose-base :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
    margin-top: 1.25em;
    margin-bottom: 1.25em;
  }

  .md\:prose-base :where([class~="lead"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
    font-size: 1.25em;
    line-height: 1.6;
    margin-top: 1.2em;
    margin-bottom: 1.2em;
  }

  .md\:prose-base :where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
    margin-top: 1.6em;
    margin-bottom: 1.6em;
    padding-inline-start: 1em;
  }

  .md\:prose-base :where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
    font-size: 2.25em;
    margin-top: 0;
    margin-bottom: 0.8888889em;
    line-height: 1.1111111;
  }

  .md\:prose-base :where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
    font-size: 1.5em;
    margin-top: 2em;
    margin-bottom: 1em;
    line-height: 1.3333333;
  }

  .md\:prose-base :where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
    font-size: 1.25em;
    margin-top: 1.6em;
    margin-bottom: 0.6em;
    line-height: 1.6;
  }

  .md\:prose-base :where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
    margin-top: 1.5em;
    margin-bottom: 0.5em;
    line-height: 1.5;
  }

  .md\:prose-base :where(img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
    margin-top: 2em;
    margin-bottom: 2em;
  }

  .md\:prose-base :where(picture):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
    margin-top: 2em;
    margin-bottom: 2em;
  }

  .md\:prose-base :where(picture > img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
    margin-top: 0;
    margin-bottom: 0;
  }

  .md\:prose-base :where(video):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
    margin-top: 2em;
    margin-bottom: 2em;
  }

  .md\:prose-base :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
    font-size: 0.875em;
    border-radius: 0.3125rem;
    padding-top: 0.1875em;
    padding-inline-end: 0.375em;
    padding-bottom: 0.1875em;
    padding-inline-start: 0.375em;
  }

  .md\:prose-base :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
    font-size: 0.875em;
  }

  .md\:prose-base :where(h2 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
    font-size: 0.875em;
  }

  .md\:prose-base :where(h3 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
    font-size: 0.9em;
  }

  .md\:prose-base :where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
    font-size: 0.875em;
    line-height: 1.7142857;
    margin-top: 1.7142857em;
    margin-bottom: 1.7142857em;
    border-radius: 0.375rem;
    padding-top: 0.8571429em;
    padding-inline-end: 1.1428571em;
    padding-bottom: 0.8571429em;
    padding-inline-start: 1.1428571em;
  }

  .md\:prose-base :where(ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
    margin-top: 1.25em;
    margin-bottom: 1.25em;
    padding-inline-start: 1.625em;
  }

  .md\:prose-base :where(ul):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
    margin-top: 1.25em;
    margin-bottom: 1.25em;
    padding-inline-start: 1.625em;
  }

  .md\:prose-base :where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
  }

  .md\:prose-base :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
    padding-inline-start: 0.375em;
  }

  .md\:prose-base :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
    padding-inline-start: 0.375em;
  }

  .md\:prose-base :where(.md\:prose-base > ul > li p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
    margin-top: 0.75em;
    margin-bottom: 0.75em;
  }

  .md\:prose-base :where(.md\:prose-base > ul > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
    margin-top: 1.25em;
  }

  .md\:prose-base :where(.md\:prose-base > ul > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
    margin-bottom: 1.25em;
  }

  .md\:prose-base :where(.md\:prose-base > ol > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
    margin-top: 1.25em;
  }

  .md\:prose-base :where(.md\:prose-base > ol > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
    margin-bottom: 1.25em;
  }

  .md\:prose-base :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
    margin-top: 0.75em;
    margin-bottom: 0.75em;
  }

  .md\:prose-base :where(dl):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
    margin-top: 1.25em;
    margin-bottom: 1.25em;
  }

  .md\:prose-base :where(dt):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
    margin-top: 1.25em;
  }

  .md\:prose-base :where(dd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
    margin-top: 0.5em;
    padding-inline-start: 1.625em;
  }

  .md\:prose-base :where(hr):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
    margin-top: 3em;
    margin-bottom: 3em;
  }

  .md\:prose-base :where(hr + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
    margin-top: 0;
  }

  .md\:prose-base :where(h2 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
    margin-top: 0;
  }

  .md\:prose-base :where(h3 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
    margin-top: 0;
  }

  .md\:prose-base :where(h4 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
    margin-top: 0;
  }

  .md\:prose-base :where(table):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
    font-size: 0.875em;
    line-height: 1.7142857;
  }

  .md\:prose-base :where(thead th):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
    padding-inline-end: 0.5714286em;
    padding-bottom: 0.5714286em;
    padding-inline-start: 0.5714286em;
  }

  .md\:prose-base :where(thead th:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
    padding-inline-start: 0;
  }

  .md\:prose-base :where(thead th:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
    padding-inline-end: 0;
  }

  .md\:prose-base :where(tbody td, tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
    padding-top: 0.5714286em;
    padding-inline-end: 0.5714286em;
    padding-bottom: 0.5714286em;
    padding-inline-start: 0.5714286em;
  }

  .md\:prose-base :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
    padding-inline-start: 0;
  }

  .md\:prose-base :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
    padding-inline-end: 0;
  }

  .md\:prose-base :where(figure):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
    margin-top: 2em;
    margin-bottom: 2em;
  }

  .md\:prose-base :where(figure > *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
    margin-top: 0;
    margin-bottom: 0;
  }

  .md\:prose-base :where(figcaption):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
    font-size: 0.875em;
    line-height: 1.4285714;
    margin-top: 0.8571429em;
  }

  .md\:prose-base :where(.md\:prose-base > :first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
    margin-top: 0;
  }

  .md\:prose-base :where(.md\:prose-base > :last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
    margin-bottom: 0;
  }
}

.file\:border-0::file-selector-button {
  border-width: 0px;
}

.file\:bg-transparent::file-selector-button {
  background-color: transparent;
}

.file\:text-sm::file-selector-button {
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.file\:font-medium::file-selector-button {
  font-weight: 500;
}

.placeholder\:text-muted-foreground::placeholder {
  color: hsl(var(--muted-foreground));
}

.placeholder\:text-pc-ink-3::placeholder {
  color: hsl(var(--pc-ink-3));
}

.before\:mr-0\.5::before {
  content: var(--tw-content);
  margin-right: 0.125rem;
}

.before\:text-pc-ink-3\/60::before {
  content: var(--tw-content);
  color: hsl(var(--pc-ink-3) / 0.6);
}

.before\:content-\[\'\#\'\]::before {
  --tw-content: '#';
  content: var(--tw-content);
}

.after\:absolute::after {
  content: var(--tw-content);
  position: absolute;
}

.after\:-inset-2::after {
  content: var(--tw-content);
  inset: -0.5rem;
}

.after\:inset-y-0::after {
  content: var(--tw-content);
  top: 0px;
  bottom: 0px;
}

.after\:left-1\/2::after {
  content: var(--tw-content);
  left: 50%;
}

.after\:w-1::after {
  content: var(--tw-content);
  width: 0.25rem;
}

.after\:w-\[2px\]::after {
  content: var(--tw-content);
  width: 2px;
}

.after\:-translate-x-1\/2::after {
  content: var(--tw-content);
  --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));
}

.first\:mt-6:first-child {
  margin-top: 1.5rem;
}

.first\:rounded-l-md:first-child {
  border-top-left-radius: calc(var(--radius) - 2px);
  border-bottom-left-radius: calc(var(--radius) - 2px);
}

.first\:border-l:first-child {
  border-left-width: 1px;
}

.first\:border-t-0:first-child {
  border-top-width: 0px;
}

.first\:pt-1:first-child {
  padding-top: 0.25rem;
}

.first\:pt-2:first-child {
  padding-top: 0.5rem;
}

.last\:rounded-r-md:last-child {
  border-top-right-radius: calc(var(--radius) - 2px);
  border-bottom-right-radius: calc(var(--radius) - 2px);
}

.last\:pb-2:last-child {
  padding-bottom: 0.5rem;
}

.focus-within\:relative:focus-within {
  position: relative;
}

.focus-within\:z-20:focus-within {
  z-index: 20;
}

.focus-within\:border-academic-plum-300:focus-within {
  --tw-border-opacity: 1;
  border-color: rgb(176 136 232 / var(--tw-border-opacity, 1));
}

.focus-within\:border-academic-plum-400:focus-within {
  --tw-border-opacity: 1;
  border-color: rgb(149 101 212 / var(--tw-border-opacity, 1));
}

.focus-within\:border-academic-plum-500:focus-within {
  --tw-border-opacity: 1;
  border-color: rgb(111 66 193 / var(--tw-border-opacity, 1));
}

.focus-within\:border-clarity-blue-300:focus-within {
  --tw-border-opacity: 1;
  border-color: rgb(82 159 255 / var(--tw-border-opacity, 1));
}

.focus-within\:border-clarity-blue-400:focus-within {
  --tw-border-opacity: 1;
  border-color: rgb(38 132 255 / var(--tw-border-opacity, 1));
}

.focus-within\:border-clarity-blue-500:focus-within {
  --tw-border-opacity: 1;
  border-color: rgb(13 110 253 / var(--tw-border-opacity, 1));
}

.focus-within\:border-mineral-gray:focus-within {
  --tw-border-opacity: 1;
  border-color: rgb(108 117 125 / var(--tw-border-opacity, 1));
}

.focus-within\:border-pc-accent:focus-within {
  border-color: hsl(var(--pc-accent));
}

.focus-within\:border-pc-agent-evidencia:focus-within {
  border-color: hsl(var(--pc-agent-evidencia));
}

.focus-within\:border-pc-agent-memoria:focus-within {
  border-color: hsl(var(--pc-agent-memoria));
}

.focus-within\:border-pc-agent-perspectiva:focus-within {
  border-color: hsl(var(--pc-agent-perspectiva));
}

.focus-within\:border-pc-agent-sistema:focus-within {
  border-color: hsl(var(--pc-agent-sistema));
}

.focus-within\:border-serene-teal-300:focus-within {
  --tw-border-opacity: 1;
  border-color: rgb(81 234 187 / var(--tw-border-opacity, 1));
}

.focus-within\:border-serene-teal-400:focus-within {
  --tw-border-opacity: 1;
  border-color: rgb(45 212 167 / var(--tw-border-opacity, 1));
}

.focus-within\:border-serene-teal-500:focus-within {
  --tw-border-opacity: 1;
  border-color: rgb(32 201 151 / var(--tw-border-opacity, 1));
}

.focus-within\:opacity-100:focus-within {
  opacity: 1;
}

.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-border\/50:hover {
  border-color: hsl(var(--border) / 0.5);
}

.hover\:border-gray-400:hover {
  --tw-border-opacity: 1;
  border-color: rgb(156 163 175 / var(--tw-border-opacity, 1));
}

.hover\:border-pc-accent:hover {
  border-color: hsl(var(--pc-accent));
}

.hover\:border-pc-accent\/50:hover {
  border-color: hsl(var(--pc-accent) / 0.5);
}

.hover\:border-pc-agent-evidencia\/50:hover {
  border-color: hsl(var(--pc-agent-evidencia) / 0.5);
}

.hover\:border-pc-line:hover {
  border-color: hsl(var(--pc-line));
}

.hover\:border-pc-line-2:hover {
  border-color: hsl(var(--pc-line-2));
}

.hover\:bg-academic-plum-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(229 217 247 / var(--tw-bg-opacity, 1));
}

.hover\:bg-academic-plum-150:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(216 196 243 / var(--tw-bg-opacity, 1));
}

.hover\:bg-academic-plum-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(203 175 239 / var(--tw-bg-opacity, 1));
}

.hover\:bg-academic-plum-250:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(189 156 235 / var(--tw-bg-opacity, 1));
}

.hover\:bg-academic-plum-300:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(176 136 232 / var(--tw-bg-opacity, 1));
}

.hover\:bg-academic-plum-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(90 53 157 / var(--tw-bg-opacity, 1));
}

.hover\:bg-academic-plum-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(71 41 122 / var(--tw-bg-opacity, 1));
}

.hover\:bg-accent:hover {
  background-color: hsl(var(--accent));
}

.hover\:bg-ash:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(233 236 239 / var(--tw-bg-opacity, 1));
}

.hover\:bg-card:hover {
  background-color: hsl(var(--card));
}

.hover\:bg-clarity-blue-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(195 222 255 / var(--tw-bg-opacity, 1));
}

.hover\:bg-clarity-blue-150:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(167 207 255 / var(--tw-bg-opacity, 1));
}

.hover\:bg-clarity-blue-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(139 191 255 / var(--tw-bg-opacity, 1));
}

.hover\:bg-clarity-blue-250:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(110 175 255 / var(--tw-bg-opacity, 1));
}

.hover\:bg-clarity-blue-300:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(82 159 255 / var(--tw-bg-opacity, 1));
}

.hover\:bg-clarity-blue-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(10 88 202 / var(--tw-bg-opacity, 1));
}

.hover\:bg-clarity-blue-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(8 70 159 / var(--tw-bg-opacity, 1));
}

.hover\:bg-deep-charcoal\/90:hover {
  background-color: rgb(52 58 64 / 0.9);
}

.hover\:bg-destructive\/5:hover {
  background-color: hsl(var(--destructive) / 0.05);
}

.hover\:bg-destructive\/80:hover {
  background-color: hsl(var(--destructive) / 0.8);
}

.hover\:bg-destructive\/90:hover {
  background-color: hsl(var(--destructive) / 0.9);
}

.hover\:bg-gray-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}

.hover\:bg-gray-800:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

.hover\:bg-green-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
}

.hover\:bg-mineral-gray\/30:hover {
  background-color: rgb(108 117 125 / 0.3);
}

.hover\:bg-muted:hover {
  background-color: hsl(var(--muted));
}

.hover\:bg-muted\/50:hover {
  background-color: hsl(var(--muted) / 0.5);
}

.hover\:bg-orange-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 247 237 / var(--tw-bg-opacity, 1));
}

.hover\:bg-pc-accent-2:hover {
  background-color: hsl(var(--pc-accent-2));
}

.hover\:bg-pc-accent\/90:hover {
  background-color: hsl(var(--pc-accent) / 0.9);
}

.hover\:bg-pc-agent-evidencia\/20:hover {
  background-color: hsl(var(--pc-agent-evidencia) / 0.2);
}

.hover\:bg-pc-agent-evidencia\/90:hover {
  background-color: hsl(var(--pc-agent-evidencia) / 0.9);
}

.hover\:bg-pc-agent-memoria\/20:hover {
  background-color: hsl(var(--pc-agent-memoria) / 0.2);
}

.hover\:bg-pc-agent-memoria\/90:hover {
  background-color: hsl(var(--pc-agent-memoria) / 0.9);
}

.hover\:bg-pc-agent-perspectiva\/90:hover {
  background-color: hsl(var(--pc-agent-perspectiva) / 0.9);
}

.hover\:bg-pc-agent-sistema\/90:hover {
  background-color: hsl(var(--pc-agent-sistema) / 0.9);
}

.hover\:bg-pc-danger-weak:hover {
  background-color: hsl(var(--pc-danger-weak));
}

.hover\:bg-pc-danger\/10:hover {
  background-color: hsl(var(--pc-danger) / 0.1);
}

.hover\:bg-pc-ink\/10:hover {
  background-color: hsl(var(--pc-ink) / 0.1);
}

.hover\:bg-pc-ink\/90:hover {
  background-color: hsl(var(--pc-ink) / 0.9);
}

.hover\:bg-pc-surface:hover {
  background-color: hsl(var(--pc-surface));
}

.hover\:bg-pc-surface-2:hover {
  background-color: hsl(var(--pc-surface-2));
}

.hover\:bg-pc-surface-2\/60:hover {
  background-color: hsl(var(--pc-surface-2) / 0.6);
}

.hover\:bg-pc-surface-2\/70:hover {
  background-color: hsl(var(--pc-surface-2) / 0.7);
}

.hover\:bg-primary:hover {
  background-color: hsl(var(--primary));
}

.hover\:bg-primary\/80:hover {
  background-color: hsl(var(--primary) / 0.8);
}

.hover\:bg-primary\/90:hover {
  background-color: hsl(var(--primary) / 0.9);
}

.hover\:bg-secondary:hover {
  background-color: hsl(var(--secondary));
}

.hover\:bg-secondary\/30:hover {
  background-color: hsl(var(--secondary) / 0.3);
}

.hover\:bg-secondary\/40:hover {
  background-color: hsl(var(--secondary) / 0.4);
}

.hover\:bg-secondary\/50:hover {
  background-color: hsl(var(--secondary) / 0.5);
}

.hover\:bg-secondary\/80:hover {
  background-color: hsl(var(--secondary) / 0.8);
}

.hover\:bg-serene-teal-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(195 250 232 / var(--tw-bg-opacity, 1));
}

.hover\:bg-serene-teal-150:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(179 245 223 / var(--tw-bg-opacity, 1));
}

.hover\:bg-serene-teal-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(140 245 210 / var(--tw-bg-opacity, 1));
}

.hover\:bg-serene-teal-250:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(110 237 198 / var(--tw-bg-opacity, 1));
}

.hover\:bg-serene-teal-300:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(81 234 187 / var(--tw-bg-opacity, 1));
}

.hover\:bg-serene-teal-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(26 161 121 / var(--tw-bg-opacity, 1));
}

.hover\:bg-serene-teal-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(20 125 95 / var(--tw-bg-opacity, 1));
}

.hover\:bg-sidebar-accent:hover {
  background-color: hsl(var(--sidebar-accent));
}

.hover\:bg-transparent:hover {
  background-color: transparent;
}

.hover\:bg-warning\/20:hover {
  background-color: hsl(var(--warning) / 0.2);
}

.hover\:text-accent-foreground:hover {
  color: hsl(var(--accent-foreground));
}

.hover\:text-destructive:hover {
  color: hsl(var(--destructive));
}

.hover\:text-destructive\/70:hover {
  color: hsl(var(--destructive) / 0.7);
}

.hover\:text-foreground:hover {
  color: hsl(var(--foreground));
}

.hover\:text-gray-300:hover {
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}

.hover\:text-muted-foreground:hover {
  color: hsl(var(--muted-foreground));
}

.hover\:text-pc-accent:hover {
  color: hsl(var(--pc-accent));
}

.hover\:text-pc-accent\/80:hover {
  color: hsl(var(--pc-accent) / 0.8);
}

.hover\:text-pc-danger:hover {
  color: hsl(var(--pc-danger));
}

.hover\:text-pc-ink:hover {
  color: hsl(var(--pc-ink));
}

.hover\:text-pc-ink-2:hover {
  color: hsl(var(--pc-ink-2));
}

.hover\:text-primary-foreground:hover {
  color: hsl(var(--primary-foreground));
}

.hover\:text-sidebar-accent-foreground:hover {
  color: hsl(var(--sidebar-accent-foreground));
}

.hover\:text-warning-foreground:hover {
  color: hsl(var(--warning-foreground));
}

.hover\:underline:hover {
  text-decoration-line: underline;
}

.hover\:opacity-100:hover {
  opacity: 1;
}

.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover {
  --tw-shadow: 0 0 0 1px hsl(var(--sidebar-accent));
  --tw-shadow-colored: 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);
}

.hover\:shadow-lg:hover {
  --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);
}

.hover\:after\:bg-sidebar-border:hover::after {
  content: var(--tw-content);
  background-color: hsl(var(--sidebar-border));
}

.focus\:not-sr-only:focus {
  position: static;
  width: auto;
  height: auto;
  padding: 0;
  margin: 0;
  overflow: visible;
  clip: auto;
  white-space: normal;
}

.focus\:fixed:focus {
  position: fixed;
}

.focus\:left-3:focus {
  left: 0.75rem;
}

.focus\:top-3:focus {
  top: 0.75rem;
}

.focus\:z-\[60\]:focus {
  z-index: 60;
}

.focus\:rounded-pc:focus {
  border-radius: var(--pc-radius);
}

.focus\:border-pc-accent:focus {
  border-color: hsl(var(--pc-accent));
}

.focus\:bg-accent:focus {
  background-color: hsl(var(--accent));
}

.focus\:bg-destructive\/10:focus {
  background-color: hsl(var(--destructive) / 0.1);
}

.focus\:bg-pc-ink:focus {
  background-color: hsl(var(--pc-ink));
}

.focus\:bg-pc-surface-2:focus {
  background-color: hsl(var(--pc-surface-2));
}

.focus\:bg-primary:focus {
  background-color: hsl(var(--primary));
}

.focus\:px-3:focus {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

.focus\:py-2:focus {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.focus\:text-sm:focus {
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.focus\:text-accent-foreground:focus {
  color: hsl(var(--accent-foreground));
}

.focus\:text-destructive:focus {
  color: hsl(var(--destructive));
}

.focus\:text-pc-ink:focus {
  color: hsl(var(--pc-ink));
}

.focus\:text-pc-paper:focus {
  color: hsl(var(--pc-paper));
}

.focus\:text-primary-foreground:focus {
  color: hsl(var(--primary-foreground));
}

.focus\:text-white:focus {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.focus\:opacity-100:focus {
  opacity: 1;
}

.focus\:outline-none:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.focus\:ring-0: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(0px + 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-ring:focus {
  --tw-ring-color: hsl(var(--ring));
}

.focus\:ring-offset-2:focus {
  --tw-ring-offset-width: 2px;
}

.focus-visible\:bg-pc-surface-2\/70:focus-visible {
  background-color: hsl(var(--pc-surface-2) / 0.7);
}

.focus-visible\:outline-none:focus-visible {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.focus-visible\:ring-0: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(0px + 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-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-pc-accent:focus-visible {
  --tw-ring-color: hsl(var(--pc-accent));
}

.focus-visible\:ring-pc-accent\/40:focus-visible {
  --tw-ring-color: hsl(var(--pc-accent) / 0.4);
}

.focus-visible\:ring-ring:focus-visible {
  --tw-ring-color: hsl(var(--ring));
}

.focus-visible\:ring-sidebar-ring:focus-visible {
  --tw-ring-color: hsl(var(--sidebar-ring));
}

.focus-visible\:ring-offset-1:focus-visible {
  --tw-ring-offset-width: 1px;
}

.focus-visible\:ring-offset-2:focus-visible {
  --tw-ring-offset-width: 2px;
}

.focus-visible\:ring-offset-background:focus-visible {
  --tw-ring-offset-color: hsl(var(--background));
}

.focus-visible\:ring-offset-pc-paper:focus-visible {
  --tw-ring-offset-color: hsl(var(--pc-paper));
}

.active\:scale-95:active {
  --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));
}

.active\:scale-\[0\.98\]:active {
  --tw-scale-x: 0.98;
  --tw-scale-y: 0.98;
  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));
}

.active\:scale-\[0\.99\]:active {
  --tw-scale-x: 0.99;
  --tw-scale-y: 0.99;
  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));
}

.active\:bg-pc-surface-2:active {
  background-color: hsl(var(--pc-surface-2));
}

.active\:bg-sidebar-accent:active {
  background-color: hsl(var(--sidebar-accent));
}

.active\:text-sidebar-accent-foreground:active {
  color: hsl(var(--sidebar-accent-foreground));
}

.disabled\:pointer-events-none:disabled {
  pointer-events: none;
}

.disabled\:cursor-default:disabled {
  cursor: default;
}

.disabled\:cursor-not-allowed:disabled {
  cursor: not-allowed;
}

.disabled\:cursor-wait:disabled {
  cursor: wait;
}

.disabled\:bg-pc-surface-2:disabled {
  background-color: hsl(var(--pc-surface-2));
}

.disabled\:text-pc-ink-3:disabled {
  color: hsl(var(--pc-ink-3));
}

.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-pc-ink-3:hover:disabled {
  color: hsl(var(--pc-ink-3));
}

.group\/menu-item:focus-within .group-focus-within\/menu-item\:opacity-100 {
  opacity: 1;
}

.group:focus-within .group-focus-within\:opacity-100 {
  opacity: 1;
}

.group:hover .group-hover\:translate-x-0\.5 {
  --tw-translate-x: 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));
}

.group:hover .group-hover\:text-pc-agent-evidencia {
  color: hsl(var(--pc-agent-evidencia));
}

.group:hover .group-hover\:text-pc-ink {
  color: hsl(var(--pc-ink));
}

.group:hover .group-hover\:underline {
  text-decoration-line: underline;
}

.group\/menu-item:hover .group-hover\/menu-item\:opacity-100 {
  opacity: 1;
}

.group:hover .group-hover\:opacity-100 {
  opacity: 1;
}

.group.destructive .group-\[\.destructive\]\:border-muted\/40 {
  border-color: hsl(var(--muted) / 0.4);
}

.group.toaster .group-\[\.toaster\]\:border-border {
  border-color: hsl(var(--border));
}

.group.toast .group-\[\.toast\]\:bg-muted {
  background-color: hsl(var(--muted));
}

.group.toast .group-\[\.toast\]\:bg-primary {
  background-color: hsl(var(--primary));
}

.group.toaster .group-\[\.toaster\]\:bg-background {
  background-color: hsl(var(--background));
}

.group.destructive .group-\[\.destructive\]\:text-red-300 {
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}

.group.toast .group-\[\.toast\]\:text-muted-foreground {
  color: hsl(var(--muted-foreground));
}

.group.toast .group-\[\.toast\]\:text-primary-foreground {
  color: hsl(var(--primary-foreground));
}

.group.toaster .group-\[\.toaster\]\:text-foreground {
  color: hsl(var(--foreground));
}

.group.toaster .group-\[\.toaster\]\: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);
}

.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover {
  border-color: hsl(var(--destructive) / 0.3);
}

.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover {
  background-color: hsl(var(--destructive));
}

.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover {
  color: hsl(var(--destructive-foreground));
}

.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover {
  --tw-text-opacity: 1;
  color: rgb(254 242 242 / var(--tw-text-opacity, 1));
}

.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus {
  --tw-ring-color: hsl(var(--destructive));
}

.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity, 1));
}

.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus {
  --tw-ring-offset-color: #dc2626;
}

.peer\/menu-button:hover ~ .peer-hover\/menu-button\:text-sidebar-accent-foreground {
  color: hsl(var(--sidebar-accent-foreground));
}

.peer:disabled ~ .peer-disabled\:cursor-not-allowed {
  cursor: not-allowed;
}

.peer:disabled ~ .peer-disabled\:opacity-70 {
  opacity: 0.7;
}

.has-\[\[data-variant\=inset\]\]\:bg-sidebar:has([data-variant=inset]) {
  background-color: hsl(var(--sidebar-background));
}

.has-\[\:disabled\]\:opacity-50:has(:disabled) {
  opacity: 0.5;
}

.group\/menu-item:has([data-sidebar=menu-action]) .group-has-\[\[data-sidebar\=menu-action\]\]\/menu-item\:pr-8 {
  padding-right: 2rem;
}

.aria-disabled\:pointer-events-none[aria-disabled="true"] {
  pointer-events: none;
}

.aria-disabled\:opacity-50[aria-disabled="true"] {
  opacity: 0.5;
}

.aria-selected\:bg-accent[aria-selected="true"] {
  background-color: hsl(var(--accent));
}

.aria-selected\:bg-accent\/50[aria-selected="true"] {
  background-color: hsl(var(--accent) / 0.5);
}

.aria-selected\:text-accent-foreground[aria-selected="true"] {
  color: hsl(var(--accent-foreground));
}

.aria-selected\:text-muted-foreground[aria-selected="true"] {
  color: hsl(var(--muted-foreground));
}

.aria-selected\:opacity-100[aria-selected="true"] {
  opacity: 1;
}

.data-\[disabled\=true\]\:pointer-events-none[data-disabled="true"] {
  pointer-events: none;
}

.data-\[disabled\]\:pointer-events-none[data-disabled] {
  pointer-events: none;
}

.data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction="vertical"] {
  height: 1px;
}

.data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction="vertical"] {
  width: 100%;
}

.data-\[side\=bottom\]\:translate-y-1[data-side="bottom"] {
  --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));
}

.data-\[side\=left\]\:-translate-x-1[data-side="left"] {
  --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));
}

.data-\[side\=right\]\:translate-x-1[data-side="right"] {
  --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));
}

.data-\[side\=top\]\:-translate-y-1[data-side="top"] {
  --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));
}

.data-\[state\=checked\]\:translate-x-5[data-state="checked"] {
  --tw-translate-x: 1.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));
}

.data-\[state\=unchecked\]\:translate-x-0[data-state="unchecked"] {
  --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));
}

.data-\[swipe\=cancel\]\:translate-x-0[data-swipe="cancel"] {
  --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));
}

.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe="end"] {
  --tw-translate-x: var(--radix-toast-swipe-end-x);
  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-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe="move"] {
  --tw-translate-x: var(--radix-toast-swipe-move-x);
  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 accordion-up {

  from {
    height: var(--radix-accordion-content-height);
  }

  to {
    height: 0;
  }
}

.data-\[state\=closed\]\:animate-accordion-up[data-state="closed"] {
  animation: accordion-up 0.2s ease-out;
}

@keyframes accordion-down {

  from {
    height: 0;
  }

  to {
    height: var(--radix-accordion-content-height);
  }
}

.data-\[state\=open\]\:animate-accordion-down[data-state="open"] {
  animation: accordion-down 0.2s ease-out;
}

.data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction="vertical"] {
  flex-direction: column;
}

.data-\[active\=true\]\:bg-sidebar-accent[data-active="true"] {
  background-color: hsl(var(--sidebar-accent));
}

.data-\[active\]\:bg-accent\/50[data-active] {
  background-color: hsl(var(--accent) / 0.5);
}

.data-\[highlighted\]\:bg-pc-surface-2[data-highlighted] {
  background-color: hsl(var(--pc-surface-2));
}

.data-\[selected\=\'true\'\]\:bg-accent[data-selected='true'] {
  background-color: hsl(var(--accent));
}

.data-\[state\=active\]\:bg-background[data-state="active"] {
  background-color: hsl(var(--background));
}

.data-\[state\=active\]\:bg-transparent[data-state="active"] {
  background-color: transparent;
}

.data-\[state\=checked\]\:bg-primary[data-state="checked"] {
  background-color: hsl(var(--primary));
}

.data-\[state\=on\]\:bg-accent[data-state="on"] {
  background-color: hsl(var(--accent));
}

.data-\[state\=open\]\:bg-accent[data-state="open"] {
  background-color: hsl(var(--accent));
}

.data-\[state\=open\]\:bg-accent\/50[data-state="open"] {
  background-color: hsl(var(--accent) / 0.5);
}

.data-\[state\=open\]\:bg-secondary[data-state="open"] {
  background-color: hsl(var(--secondary));
}

.data-\[state\=selected\]\:bg-muted[data-state="selected"] {
  background-color: hsl(var(--muted));
}

.data-\[state\=unchecked\]\:bg-input[data-state="unchecked"] {
  background-color: hsl(var(--input));
}

.data-\[active\=true\]\:font-medium[data-active="true"] {
  font-weight: 500;
}

.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active="true"] {
  color: hsl(var(--sidebar-accent-foreground));
}

.data-\[highlighted\]\:text-pc-ink[data-highlighted] {
  color: hsl(var(--pc-ink));
}

.data-\[selected\=true\]\:text-accent-foreground[data-selected="true"] {
  color: hsl(var(--accent-foreground));
}

.data-\[state\=active\]\:text-foreground[data-state="active"] {
  color: hsl(var(--foreground));
}

.data-\[state\=active\]\:text-pc-ink[data-state="active"] {
  color: hsl(var(--pc-ink));
}

.data-\[state\=checked\]\:text-primary-foreground[data-state="checked"] {
  color: hsl(var(--primary-foreground));
}

.data-\[state\=on\]\:text-accent-foreground[data-state="on"] {
  color: hsl(var(--accent-foreground));
}

.data-\[state\=open\]\:text-muted-foreground[data-state="open"] {
  color: hsl(var(--muted-foreground));
}

.data-\[state\=open\]\:text-white[data-state="open"] {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.data-\[disabled\=true\]\:opacity-50[data-disabled="true"] {
  opacity: 0.5;
}

.data-\[disabled\]\:opacity-50[data-disabled] {
  opacity: 0.5;
}

.data-\[state\=open\]\:opacity-100[data-state="open"] {
  opacity: 1;
}

.data-\[state\=active\]\:shadow-none[data-state="active"] {
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.data-\[state\=active\]\:shadow-sm[data-state="active"] {
  --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);
}

.data-\[swipe\=move\]\:transition-none[data-swipe="move"] {
  transition-property: none;
}

.data-\[state\=closed\]\:duration-300[data-state="closed"] {
  transition-duration: 300ms;
}

.data-\[state\=open\]\:duration-500[data-state="open"] {
  transition-duration: 500ms;
}

.data-\[motion\^\=from-\]\:animate-in[data-motion^="from-"] {
  animation-name: enter;
  animation-duration: 150ms;
  --tw-enter-opacity: initial;
  --tw-enter-scale: initial;
  --tw-enter-rotate: initial;
  --tw-enter-translate-x: initial;
  --tw-enter-translate-y: initial;
}

.data-\[state\=open\]\:animate-in[data-state="open"] {
  animation-name: enter;
  animation-duration: 150ms;
  --tw-enter-opacity: initial;
  --tw-enter-scale: initial;
  --tw-enter-rotate: initial;
  --tw-enter-translate-x: initial;
  --tw-enter-translate-y: initial;
}

.data-\[state\=visible\]\:animate-in[data-state="visible"] {
  animation-name: enter;
  animation-duration: 150ms;
  --tw-enter-opacity: initial;
  --tw-enter-scale: initial;
  --tw-enter-rotate: initial;
  --tw-enter-translate-x: initial;
  --tw-enter-translate-y: initial;
}

.data-\[motion\^\=to-\]\:animate-out[data-motion^="to-"] {
  animation-name: exit;
  animation-duration: 150ms;
  --tw-exit-opacity: initial;
  --tw-exit-scale: initial;
  --tw-exit-rotate: initial;
  --tw-exit-translate-x: initial;
  --tw-exit-translate-y: initial;
}

.data-\[state\=closed\]\:animate-out[data-state="closed"] {
  animation-name: exit;
  animation-duration: 150ms;
  --tw-exit-opacity: initial;
  --tw-exit-scale: initial;
  --tw-exit-rotate: initial;
  --tw-exit-translate-x: initial;
  --tw-exit-translate-y: initial;
}

.data-\[state\=hidden\]\:animate-out[data-state="hidden"] {
  animation-name: exit;
  animation-duration: 150ms;
  --tw-exit-opacity: initial;
  --tw-exit-scale: initial;
  --tw-exit-rotate: initial;
  --tw-exit-translate-x: initial;
  --tw-exit-translate-y: initial;
}

.data-\[swipe\=end\]\:animate-out[data-swipe="end"] {
  animation-name: exit;
  animation-duration: 150ms;
  --tw-exit-opacity: initial;
  --tw-exit-scale: initial;
  --tw-exit-rotate: initial;
  --tw-exit-translate-x: initial;
  --tw-exit-translate-y: initial;
}

.data-\[motion\^\=from-\]\:fade-in[data-motion^="from-"] {
  --tw-enter-opacity: 0;
}

.data-\[motion\^\=to-\]\:fade-out[data-motion^="to-"] {
  --tw-exit-opacity: 0;
}

.data-\[state\=closed\]\:fade-out-0[data-state="closed"] {
  --tw-exit-opacity: 0;
}

.data-\[state\=closed\]\:fade-out-80[data-state="closed"] {
  --tw-exit-opacity: 0.8;
}

.data-\[state\=hidden\]\:fade-out[data-state="hidden"] {
  --tw-exit-opacity: 0;
}

.data-\[state\=open\]\:fade-in-0[data-state="open"] {
  --tw-enter-opacity: 0;
}

.data-\[state\=visible\]\:fade-in[data-state="visible"] {
  --tw-enter-opacity: 0;
}

.data-\[state\=closed\]\:zoom-out-95[data-state="closed"] {
  --tw-exit-scale: .95;
}

.data-\[state\=open\]\:zoom-in-90[data-state="open"] {
  --tw-enter-scale: .9;
}

.data-\[state\=open\]\:zoom-in-95[data-state="open"] {
  --tw-enter-scale: .95;
}

.data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion="from-end"] {
  --tw-enter-translate-x: 13rem;
}

.data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion="from-start"] {
  --tw-enter-translate-x: -13rem;
}

.data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion="to-end"] {
  --tw-exit-translate-x: 13rem;
}

.data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion="to-start"] {
  --tw-exit-translate-x: -13rem;
}

.data-\[side\=bottom\]\:slide-in-from-top-2[data-side="bottom"] {
  --tw-enter-translate-y: -0.5rem;
}

.data-\[side\=left\]\:slide-in-from-right-2[data-side="left"] {
  --tw-enter-translate-x: 0.5rem;
}

.data-\[side\=right\]\:slide-in-from-left-2[data-side="right"] {
  --tw-enter-translate-x: -0.5rem;
}

.data-\[side\=top\]\:slide-in-from-bottom-2[data-side="top"] {
  --tw-enter-translate-y: 0.5rem;
}

.data-\[state\=closed\]\:slide-out-to-bottom[data-state="closed"] {
  --tw-exit-translate-y: 100%;
}

.data-\[state\=closed\]\:slide-out-to-left[data-state="closed"] {
  --tw-exit-translate-x: -100%;
}

.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state="closed"] {
  --tw-exit-translate-x: -50%;
}

.data-\[state\=closed\]\:slide-out-to-right[data-state="closed"] {
  --tw-exit-translate-x: 100%;
}

.data-\[state\=closed\]\:slide-out-to-right-full[data-state="closed"] {
  --tw-exit-translate-x: 100%;
}

.data-\[state\=closed\]\:slide-out-to-top[data-state="closed"] {
  --tw-exit-translate-y: -100%;
}

.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state="closed"] {
  --tw-exit-translate-y: -48%;
}

.data-\[state\=open\]\:slide-in-from-bottom[data-state="open"] {
  --tw-enter-translate-y: 100%;
}

.data-\[state\=open\]\:slide-in-from-left[data-state="open"] {
  --tw-enter-translate-x: -100%;
}

.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state="open"] {
  --tw-enter-translate-x: -50%;
}

.data-\[state\=open\]\:slide-in-from-right[data-state="open"] {
  --tw-enter-translate-x: 100%;
}

.data-\[state\=open\]\:slide-in-from-top[data-state="open"] {
  --tw-enter-translate-y: -100%;
}

.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state="open"] {
  --tw-enter-translate-y: -48%;
}

.data-\[state\=open\]\:slide-in-from-top-full[data-state="open"] {
  --tw-enter-translate-y: -100%;
}

.data-\[state\=closed\]\:duration-300[data-state="closed"] {
  animation-duration: 300ms;
}

.data-\[state\=open\]\:duration-500[data-state="open"] {
  animation-duration: 500ms;
}

.data-\[state\=active\]\:after\:absolute[data-state="active"]::after {
  content: var(--tw-content);
  position: absolute;
}

.data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction="vertical"]::after {
  content: var(--tw-content);
  left: 0px;
}

.data-\[state\=active\]\:after\:-bottom-px[data-state="active"]::after {
  content: var(--tw-content);
  bottom: -1px;
}

.data-\[state\=active\]\:after\:left-3[data-state="active"]::after {
  content: var(--tw-content);
  left: 0.75rem;
}

.data-\[state\=active\]\:after\:right-3[data-state="active"]::after {
  content: var(--tw-content);
  right: 0.75rem;
}

.data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction="vertical"]::after {
  content: var(--tw-content);
  height: 0.25rem;
}

.data-\[state\=active\]\:after\:h-\[2px\][data-state="active"]::after {
  content: var(--tw-content);
  height: 2px;
}

.data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction="vertical"]::after {
  content: var(--tw-content);
  width: 100%;
}

.data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction="vertical"]::after {
  content: var(--tw-content);
  --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));
}

.data-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction="vertical"]::after {
  content: var(--tw-content);
  --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));
}

.data-\[state\=active\]\:after\:rounded-full[data-state="active"]::after {
  content: var(--tw-content);
  border-radius: 9999px;
}

.data-\[state\=active\]\:after\:bg-pc-ink[data-state="active"]::after {
  content: var(--tw-content);
  background-color: hsl(var(--pc-ink));
}

.data-\[state\=active\]\:after\:content-\[\'\'\][data-state="active"]::after {
  --tw-content: '';
  content: var(--tw-content);
}

.data-\[state\=open\]\:hover\:bg-sidebar-accent:hover[data-state="open"] {
  background-color: hsl(var(--sidebar-accent));
}

.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground:hover[data-state="open"] {
  color: hsl(var(--sidebar-accent-foreground));
}

.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\] {
  left: calc(var(--sidebar-width) * -1);
}

.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\] {
  right: calc(var(--sidebar-width) * -1);
}

.group[data-side="left"] .group-data-\[side\=left\]\:-right-4 {
  right: -1rem;
}

.group[data-side="right"] .group-data-\[side\=right\]\:left-0 {
  left: 0px;
}

.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:-mt-8 {
  margin-top: -2rem;
}

.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:hidden {
  display: none;
}

.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:\!size-8 {
  width: 2rem !important;
  height: 2rem !important;
}

.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:w-\[--sidebar-width-icon\] {
  width: var(--sidebar-width-icon);
}

.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)\)\] {
  width: calc(var(--sidebar-width-icon) + 1rem);
}

.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)_\+2px\)\] {
  width: calc(var(--sidebar-width-icon) + 1rem + 2px);
}

.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:w-0 {
  width: 0px;
}

.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\: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));
}

.group[data-side="right"] .group-data-\[side\=right\]\: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[data-state="open"] .group-data-\[state\=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[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:overflow-hidden {
  overflow: hidden;
}

.group[data-variant="floating"] .group-data-\[variant\=floating\]\:rounded-lg {
  border-radius: var(--radius);
}

.group[data-variant="floating"] .group-data-\[variant\=floating\]\:border {
  border-width: 1px;
}

.group[data-side="left"] .group-data-\[side\=left\]\:border-r {
  border-right-width: 1px;
}

.group[data-side="right"] .group-data-\[side\=right\]\:border-l {
  border-left-width: 1px;
}

.group[data-variant="floating"] .group-data-\[variant\=floating\]\:border-sidebar-border {
  border-color: hsl(var(--sidebar-border));
}

.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:\!p-0 {
  padding: 0px !important;
}

.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:\!p-2 {
  padding: 0.5rem !important;
}

.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:opacity-0 {
  opacity: 0;
}

.group[data-variant="floating"] .group-data-\[variant\=floating\]\: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);
}

.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:after\:left-full::after {
  content: var(--tw-content);
  left: 100%;
}

.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:hover\:bg-sidebar:hover {
  background-color: hsl(var(--sidebar-background));
}

.peer\/menu-button[data-size="default"] ~ .peer-data-\[size\=default\]\/menu-button\:top-1\.5 {
  top: 0.375rem;
}

.peer\/menu-button[data-size="lg"] ~ .peer-data-\[size\=lg\]\/menu-button\:top-2\.5 {
  top: 0.625rem;
}

.peer\/menu-button[data-size="sm"] ~ .peer-data-\[size\=sm\]\/menu-button\:top-1 {
  top: 0.25rem;
}

.peer[data-variant="inset"] ~ .peer-data-\[variant\=inset\]\:min-h-\[calc\(100svh-theme\(spacing\.4\)\)\] {
  min-height: calc(100svh - 1rem);
}

.peer\/menu-button[data-active="true"] ~ .peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground {
  color: hsl(var(--sidebar-accent-foreground));
}

.prose-headings\:font-serif :is(:where(h1, h2, h3, h4, h5, h6, th):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  font-family: var(--font-serif), Georgia, serif;
}

.prose-headings\:font-semibold :is(:where(h1, h2, h3, h4, h5, h6, th):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  font-weight: 600;
}

.prose-headings\:tracking-tight :is(:where(h1, h2, h3, h4, h5, h6, th):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  letter-spacing: -0.025em;
}

.prose-headings\:text-foreground :is(:where(h1, h2, h3, h4, h5, h6, th):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  color: hsl(var(--foreground));
}

.prose-headings\:text-pc-ink :is(:where(h1, h2, h3, h4, h5, h6, th):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  color: hsl(var(--pc-ink));
}

.prose-h1\:mb-3 :is(:where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  margin-bottom: 0.75rem;
}

.prose-h1\:mt-6 :is(:where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  margin-top: 1.5rem;
}

.prose-h1\:border-b :is(:where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  border-bottom-width: 1px;
}

.prose-h1\:border-border\/30 :is(:where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  border-color: hsl(var(--border) / 0.3);
}

.prose-h1\:pb-2 :is(:where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  padding-bottom: 0.5rem;
}

.prose-h1\:font-serif :is(:where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  font-family: var(--font-serif), Georgia, serif;
}

.prose-h1\:text-\[22px\] :is(:where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  font-size: 22px;
}

.prose-h1\:text-xl :is(:where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  font-size: 1.25rem;
  line-height: 1.75rem;
}

.prose-h1\:font-semibold :is(:where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  font-weight: 600;
}

.prose-h1\:leading-tight :is(:where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  line-height: 1.25;
}

.prose-h2\:mb-2 :is(:where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  margin-bottom: 0.5rem;
}

.prose-h2\:mb-2\.5 :is(:where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  margin-bottom: 0.625rem;
}

.prose-h2\:mt-5 :is(:where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  margin-top: 1.25rem;
}

.prose-h2\:mt-7 :is(:where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  margin-top: 1.75rem;
}

.prose-h2\:font-serif :is(:where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  font-family: var(--font-serif), Georgia, serif;
}

.prose-h2\:text-\[19px\] :is(:where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  font-size: 19px;
}

.prose-h2\:text-lg :is(:where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  font-size: 1.125rem;
  line-height: 1.75rem;
}

.prose-h2\:font-semibold :is(:where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  font-weight: 600;
}

.prose-h2\:leading-snug :is(:where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  line-height: 1.375;
}

.prose-h3\:mb-1\.5 :is(:where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  margin-bottom: 0.375rem;
}

.prose-h3\:mb-2 :is(:where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  margin-bottom: 0.5rem;
}

.prose-h3\:mt-4 :is(:where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  margin-top: 1rem;
}

.prose-h3\:mt-5 :is(:where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  margin-top: 1.25rem;
}

.prose-h3\:font-sans :is(:where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  font-family: var(--font-sans), system-ui, sans-serif;
}

.prose-h3\:font-serif :is(:where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  font-family: var(--font-serif), Georgia, serif;
}

.prose-h3\:text-\[17px\] :is(:where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  font-size: 17px;
}

.prose-h3\:text-base :is(:where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  font-size: 1rem;
  line-height: 1.5rem;
}

.prose-h3\:font-semibold :is(:where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  font-weight: 600;
}

.prose-h3\:leading-snug :is(:where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  line-height: 1.375;
}

.prose-h4\:mb-1\.5 :is(:where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  margin-bottom: 0.375rem;
}

.prose-h4\:mt-3 :is(:where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  margin-top: 0.75rem;
}

.prose-h4\:font-sans :is(:where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  font-family: var(--font-sans), system-ui, sans-serif;
}

.prose-h4\:text-\[16px\] :is(:where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  font-size: 16px;
}

.prose-h4\:font-semibold :is(:where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  font-weight: 600;
}

.prose-p\:my-3 :is(:where(p):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}

.prose-p\:mb-3\.5 :is(:where(p):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  margin-bottom: 0.875rem;
}

.prose-p\:text-\[16px\] :is(:where(p):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  font-size: 16px;
}

.prose-p\:leading-\[1\.75\] :is(:where(p):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  line-height: 1.75;
}

.prose-p\:leading-\[1\.7\] :is(:where(p):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  line-height: 1.7;
}

.prose-p\:text-foreground\/90 :is(:where(p):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  color: hsl(var(--foreground) / 0.9);
}

.prose-p\:text-pc-ink :is(:where(p):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  color: hsl(var(--pc-ink));
}

.prose-a\:break-words :is(:where(a):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  overflow-wrap: break-word;
}

.prose-a\:text-pc-accent :is(:where(a):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  color: hsl(var(--pc-accent));
}

.prose-a\:no-underline :is(:where(a):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  text-decoration-line: none;
}

.hover\:prose-a\:underline :is(:where(a):not(:where([class~="not-prose"],[class~="not-prose"] *))):hover {
  text-decoration-line: underline;
}

.prose-blockquote\:border-l-\[3px\] :is(:where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  border-left-width: 3px;
}

.prose-blockquote\:border-pc-accent\/60 :is(:where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  border-color: hsl(var(--pc-accent) / 0.6);
}

.prose-blockquote\:bg-pc-accent-weak\/40 :is(:where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  background-color: hsl(var(--pc-accent-weak) / 0.4);
}

.prose-blockquote\:not-italic :is(:where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  font-style: normal;
}

.prose-blockquote\:text-pc-ink-2 :is(:where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  color: hsl(var(--pc-ink-2));
}

.prose-strong\:font-semibold :is(:where(strong):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  font-weight: 600;
}

.prose-strong\:text-foreground :is(:where(strong):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  color: hsl(var(--foreground));
}

.prose-strong\:text-pc-ink :is(:where(strong):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  color: hsl(var(--pc-ink));
}

.prose-em\:text-pc-ink-2 :is(:where(em):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  color: hsl(var(--pc-ink-2));
}

.prose-code\:break-words :is(:where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  overflow-wrap: break-word;
}

.prose-code\:rounded-pc :is(:where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  border-radius: var(--pc-radius);
}

.prose-code\:bg-pc-surface-2 :is(:where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  background-color: hsl(var(--pc-surface-2));
}

.prose-code\:px-1 :is(:where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}

.prose-code\:py-0\.5 :is(:where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
}

.prose-code\:font-pc-mono :is(:where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  font-family: var(--font-mono-pc), ui-monospace, SFMono-Regular, monospace;
}

.prose-code\:text-\[14\.5px\] :is(:where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  font-size: 14.5px;
}

.prose-code\:text-pc-ink :is(:where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  color: hsl(var(--pc-ink));
}

.prose-code\:before\:hidden :is(:where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)))::before {
  content: var(--tw-content);
  display: none;
}

.prose-code\:after\:hidden :is(:where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)))::after {
  content: var(--tw-content);
  display: none;
}

.prose-pre\:relative :is(:where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  position: relative;
}

.prose-pre\:rounded-pc :is(:where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  border-radius: var(--pc-radius);
}

.prose-pre\:border :is(:where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  border-width: 1px;
}

.prose-pre\:border-pc-line :is(:where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  border-color: hsl(var(--pc-line));
}

.prose-pre\:bg-pc-surface-2 :is(:where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  background-color: hsl(var(--pc-surface-2));
}

.prose-ol\:my-3 :is(:where(ol):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}

.prose-ul\:my-3 :is(:where(ul):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}

.prose-li\:my-1 :is(:where(li):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}

.prose-li\:my-1\.5 :is(:where(li):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  margin-top: 0.375rem;
  margin-bottom: 0.375rem;
}

.prose-li\:break-words :is(:where(li):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  overflow-wrap: break-word;
}

.prose-li\:text-\[16px\] :is(:where(li):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  font-size: 16px;
}

.prose-li\:leading-\[1\.7\] :is(:where(li):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  line-height: 1.7;
}

.prose-li\:text-foreground\/90 :is(:where(li):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  color: hsl(var(--foreground) / 0.9);
}

.prose-li\:text-pc-ink :is(:where(li):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  color: hsl(var(--pc-ink));
}

.prose-li\:marker\:text-pc-ink-3 * :is(:where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)))::marker {
  color: hsl(var(--pc-ink-3));
}

.prose-li\:marker\:text-pc-ink-3 :is(:where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)))::marker {
  color: hsl(var(--pc-ink-3));
}

@media (prefers-reduced-motion: no-preference) {

  @keyframes spin {

    to {
      transform: rotate(360deg);
    }
  }

  .motion-safe\:animate-spin {
    animation: spin 1s linear infinite;
  }
}

.dark\:border-academic-plum-600:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(90 53 157 / var(--tw-border-opacity, 1));
}

.dark\:border-clarity-blue-500:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(13 110 253 / var(--tw-border-opacity, 1));
}

.dark\:border-clarity-blue-600:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(10 88 202 / var(--tw-border-opacity, 1));
}

.dark\:border-clarity-blue-700:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(8 70 159 / var(--tw-border-opacity, 1));
}

.dark\:border-destructive:is(.dark *) {
  border-color: hsl(var(--destructive));
}

.dark\:border-gray-700:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
}

.dark\:border-serene-teal-600:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(26 161 121 / var(--tw-border-opacity, 1));
}

.dark\:border-serene-teal-700:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(20 125 95 / var(--tw-border-opacity, 1));
}

.dark\:bg-academic-plum-400:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(149 101 212 / var(--tw-bg-opacity, 1));
}

.dark\:bg-academic-plum-700\/50:is(.dark *) {
  background-color: rgb(71 41 122 / 0.5);
}

.dark\:bg-academic-plum-900\/40:is(.dark *) {
  background-color: rgb(34 19 52 / 0.4);
}

.dark\:bg-amber-900\/20:is(.dark *) {
  background-color: rgb(120 53 15 / 0.2);
}

.dark\:bg-clarity-blue-400:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(38 132 255 / var(--tw-bg-opacity, 1));
}

.dark\:bg-clarity-blue-600:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(10 88 202 / var(--tw-bg-opacity, 1));
}

.dark\:bg-clarity-blue-700\/50:is(.dark *) {
  background-color: rgb(8 70 159 / 0.5);
}

.dark\:bg-clarity-blue-900\/30:is(.dark *) {
  background-color: rgb(4 35 73 / 0.3);
}

.dark\:bg-clarity-blue-900\/40:is(.dark *) {
  background-color: rgb(4 35 73 / 0.4);
}

.dark\:bg-gray-400:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(156 163 175 / var(--tw-bg-opacity, 1));
}

.dark\:bg-gray-800:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

.dark\:bg-gray-800\/50:is(.dark *) {
  background-color: rgb(31 41 55 / 0.5);
}

.dark\:bg-gray-900\/40:is(.dark *) {
  background-color: rgb(17 24 39 / 0.4);
}

.dark\:bg-serene-teal-400:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(45 212 167 / var(--tw-bg-opacity, 1));
}

.dark\:bg-serene-teal-700\/50:is(.dark *) {
  background-color: rgb(20 125 95 / 0.5);
}

.dark\:bg-serene-teal-900\/30:is(.dark *) {
  background-color: rgb(10 63 47 / 0.3);
}

.dark\:bg-serene-teal-900\/40:is(.dark *) {
  background-color: rgb(10 63 47 / 0.4);
}

.dark\:text-academic-plum-100:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(229 217 247 / var(--tw-text-opacity, 1));
}

.dark\:text-academic-plum-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(176 136 232 / var(--tw-text-opacity, 1));
}

.dark\:text-amber-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(252 211 77 / var(--tw-text-opacity, 1));
}

.dark\:text-amber-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}

.dark\:text-amber-400\/70:is(.dark *) {
  color: rgb(251 191 36 / 0.7);
}

.dark\:text-clarity-blue-100:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(195 222 255 / var(--tw-text-opacity, 1));
}

.dark\:text-clarity-blue-200:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(139 191 255 / var(--tw-text-opacity, 1));
}

.dark\:text-clarity-blue-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(82 159 255 / var(--tw-text-opacity, 1));
}

.dark\:text-clarity-blue-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(38 132 255 / var(--tw-text-opacity, 1));
}

.dark\:text-emerald-400\/60:is(.dark *) {
  color: rgb(52 211 153 / 0.6);
}

.dark\:text-emerald-400\/70:is(.dark *) {
  color: rgb(52 211 153 / 0.7);
}

.dark\:text-gray-100:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(243 244 246 / var(--tw-text-opacity, 1));
}

.dark\:text-gray-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}

.dark\:text-mineral-gray:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(108 117 125 / var(--tw-text-opacity, 1));
}

.dark\:text-red-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}

.dark\:text-serene-teal-100:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(195 250 232 / var(--tw-text-opacity, 1));
}

.dark\:text-serene-teal-200:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(140 245 210 / var(--tw-text-opacity, 1));
}

.dark\:text-serene-teal-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(81 234 187 / var(--tw-text-opacity, 1));
}

.dark\:text-serene-teal-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(45 212 167 / var(--tw-text-opacity, 1));
}

.dark\:focus-within\:border-academic-plum-500:focus-within:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(111 66 193 / var(--tw-border-opacity, 1));
}

.dark\:focus-within\:border-clarity-blue-500:focus-within:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(13 110 253 / var(--tw-border-opacity, 1));
}

.dark\:focus-within\:border-gray-600:focus-within:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
}

.dark\:focus-within\:border-serene-teal-500:focus-within:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(32 201 151 / var(--tw-border-opacity, 1));
}

.dark\:hover\:bg-academic-plum-600\/60:hover:is(.dark *) {
  background-color: rgb(90 53 157 / 0.6);
}

.dark\:hover\:bg-academic-plum-800\/50:hover:is(.dark *) {
  background-color: rgb(52 30 87 / 0.5);
}

.dark\:hover\:bg-clarity-blue-600\/60:hover:is(.dark *) {
  background-color: rgb(10 88 202 / 0.6);
}

.dark\:hover\:bg-clarity-blue-800\/50:hover:is(.dark *) {
  background-color: rgb(6 53 116 / 0.5);
}

.dark\:hover\:bg-gray-700:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
}

.dark\:hover\:bg-gray-700\/60:hover:is(.dark *) {
  background-color: rgb(55 65 81 / 0.6);
}

.dark\:hover\:bg-gray-800\/40:hover:is(.dark *) {
  background-color: rgb(31 41 55 / 0.4);
}

.dark\:hover\:bg-serene-teal-600\/60:hover:is(.dark *) {
  background-color: rgb(26 161 121 / 0.6);
}

.dark\:hover\:bg-serene-teal-800\/50:hover:is(.dark *) {
  background-color: rgb(15 94 71 / 0.5);
}

@media (min-width: 640px) {

  .sm\:bottom-0 {
    bottom: 0px;
  }

  .sm\:right-0 {
    right: 0px;
  }

  .sm\:right-4 {
    right: 1rem;
  }

  .sm\:top-4 {
    top: 1rem;
  }

  .sm\:top-auto {
    top: auto;
  }

  .sm\:mx-6 {
    margin-left: 1.5rem;
    margin-right: 1.5rem;
  }

  .sm\:mt-0 {
    margin-top: 0px;
  }

  .sm\:mt-3 {
    margin-top: 0.75rem;
  }

  .sm\:inline {
    display: inline;
  }

  .sm\:flex {
    display: flex;
  }

  .sm\:w-auto {
    width: auto;
  }

  .sm\:max-w-md {
    max-width: 28rem;
  }

  .sm\:max-w-sm {
    max-width: 24rem;
  }

  .sm\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sm\:grid-cols-\[3rem_1fr\] {
    grid-template-columns: 3rem 1fr;
  }

  .sm\:flex-row {
    flex-direction: row;
  }

  .sm\:flex-col {
    flex-direction: column;
  }

  .sm\:items-center {
    align-items: center;
  }

  .sm\:justify-end {
    justify-content: flex-end;
  }

  .sm\:justify-between {
    justify-content: space-between;
  }

  .sm\:gap-2\.5 {
    gap: 0.625rem;
  }

  .sm\:space-x-2 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-x-reverse: 0;
    margin-right: calc(0.5rem * var(--tw-space-x-reverse));
    margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
  }

  .sm\:space-x-4 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-x-reverse: 0;
    margin-right: calc(1rem * var(--tw-space-x-reverse));
    margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));
  }

  .sm\:space-y-0 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0px * var(--tw-space-y-reverse));
  }

  .sm\:rounded-lg {
    border-radius: var(--radius);
  }

  .sm\:p-6 {
    padding: 1.5rem;
  }

  .sm\:px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .sm\:px-8 {
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .sm\:py-20 {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

  .sm\:py-8 {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  .sm\:pb-20 {
    padding-bottom: 5rem;
  }

  .sm\:pt-20 {
    padding-top: 5rem;
  }

  .sm\:pt-5 {
    padding-top: 1.25rem;
  }

  .sm\:text-left {
    text-align: left;
  }

  .sm\:text-\[2\.15rem\] {
    font-size: 2.15rem;
  }

  .sm\:text-\[2\.6rem\] {
    font-size: 2.6rem;
  }

  .sm\:text-\[21px\] {
    font-size: 21px;
  }

  .sm\:text-\[3rem\] {
    font-size: 3rem;
  }

  .data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state="open"] {
    --tw-enter-translate-y: 100%;
  }
}

@media (min-width: 768px) {

  .md\:absolute {
    position: absolute;
  }

  .md\:ml-0 {
    margin-left: 0px;
  }

  .md\:mt-0 {
    margin-top: 0px;
  }

  .md\:block {
    display: block;
  }

  .md\:inline {
    display: inline;
  }

  .md\:flex {
    display: flex;
  }

  .md\:inline-flex {
    display: inline-flex;
  }

  .md\:hidden {
    display: none;
  }

  .md\:h-10 {
    height: 2.5rem;
  }

  .md\:h-auto {
    height: auto;
  }

  .md\:h-screen {
    height: 100vh;
  }

  .md\:max-h-none {
    max-height: none;
  }

  .md\:min-h-0 {
    min-height: 0px;
  }

  .md\:min-h-\[100svh\] {
    min-height: 100svh;
  }

  .md\:min-h-\[3\.75rem\] {
    min-height: 3.75rem;
  }

  .md\:min-h-\[52px\] {
    min-height: 52px;
  }

  .md\:min-h-\[65svh\] {
    min-height: 65svh;
  }

  .md\:w-10 {
    width: 2.5rem;
  }

  .md\:w-\[30rem\] {
    width: 30rem;
  }

  .md\:w-\[var\(--radix-navigation-menu-viewport-width\)\] {
    width: var(--radix-navigation-menu-viewport-width);
  }

  .md\:w-auto {
    width: auto;
  }

  .md\:w-full {
    width: 100%;
  }

  .md\:min-w-0 {
    min-width: 0px;
  }

  .md\:max-w-4xl {
    max-width: 56rem;
  }

  .md\:max-w-\[420px\] {
    max-width: 420px;
  }

  .md\:max-w-full {
    max-width: 100%;
  }

  .md\:flex-initial {
    flex: 0 1 auto;
  }

  .md\:flex-none {
    flex: none;
  }

  .md\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .md\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .md\:grid-cols-\[9rem_1fr\] {
    grid-template-columns: 9rem 1fr;
  }

  .md\:flex-row {
    flex-direction: row;
  }

  .md\:items-center {
    align-items: center;
  }

  .md\:justify-center {
    justify-content: center;
  }

  .md\:justify-between {
    justify-content: space-between;
  }

  .md\:gap-1\.5 {
    gap: 0.375rem;
  }

  .md\:gap-2 {
    gap: 0.5rem;
  }

  .md\:gap-3 {
    gap: 0.75rem;
  }

  .md\:gap-4 {
    gap: 1rem;
  }

  .md\:overflow-visible {
    overflow: visible;
  }

  .md\:rounded-pc {
    border-radius: var(--pc-radius);
  }

  .md\:border-l {
    border-left-width: 1px;
  }

  .md\:bg-muted\/15 {
    background-color: hsl(var(--muted) / 0.15);
  }

  .md\:bg-muted\/20 {
    background-color: hsl(var(--muted) / 0.2);
  }

  .md\:p-4 {
    padding: 1rem;
  }

  .md\:px-0 {
    padding-left: 0px;
    padding-right: 0px;
  }

  .md\:px-1 {
    padding-left: 0.25rem;
    padding-right: 0.25rem;
  }

  .md\:px-3 {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }

  .md\:px-4 {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .md\:px-5 {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .md\:px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .md\:px-8 {
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .md\:py-2 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }

  .md\:py-3 {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
  }

  .md\:py-3\.5 {
    padding-top: 0.875rem;
    padding-bottom: 0.875rem;
  }

  .md\:py-4 {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  .md\:py-5 {
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
  }

  .md\:py-6 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }

  .md\:py-8 {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  .md\:pb-0 {
    padding-bottom: 0px;
  }

  .md\:pb-3 {
    padding-bottom: 0.75rem;
  }

  .md\:pb-\[max\(1\.25rem\2c env\(safe-area-inset-bottom\)\)\] {
    padding-bottom: max(1.25rem,env(safe-area-inset-bottom));
  }

  .md\:pl-5 {
    padding-left: 1.25rem;
  }

  .md\:pr-32 {
    padding-right: 8rem;
  }

  .md\:pt-0 {
    padding-top: 0px;
  }

  .md\:pt-1 {
    padding-top: 0.25rem;
  }

  .md\:pt-2 {
    padding-top: 0.5rem;
  }

  .md\:pt-3 {
    padding-top: 0.75rem;
  }

  .md\:pt-5 {
    padding-top: 1.25rem;
  }

  .md\:text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }

  .md\:text-\[16px\] {
    font-size: 16px;
  }

  .md\:leading-\[1\.75\] {
    line-height: 1.75;
  }

  .md\:opacity-0 {
    opacity: 0;
  }

  .md\: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);
  }

  .after\:md\:hidden::after {
    content: var(--tw-content);
    display: none;
  }

  .peer[data-variant="inset"] ~ .md\:peer-data-\[variant\=inset\]\:m-2 {
    margin: 0.5rem;
  }

  .peer[data-state="collapsed"][data-variant="inset"] ~ .md\:peer-data-\[state\=collapsed\]\:peer-data-\[variant\=inset\]\:ml-2 {
    margin-left: 0.5rem;
  }

  .peer[data-variant="inset"] ~ .md\:peer-data-\[variant\=inset\]\:ml-0 {
    margin-left: 0px;
  }

  .peer[data-variant="inset"] ~ .md\:peer-data-\[variant\=inset\]\:rounded-xl {
    border-radius: 0.75rem;
  }

  .peer[data-variant="inset"] ~ .md\:peer-data-\[variant\=inset\]\: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);
  }

  .md\:prose-h1\:text-2xl :is(:where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
    font-size: 1.5rem;
    line-height: 2rem;
  }

  .md\:prose-h1\:text-\[26px\] :is(:where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
    font-size: 26px;
  }

  .md\:prose-h2\:text-\[22px\] :is(:where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
    font-size: 22px;
  }

  .md\:prose-h2\:text-xl :is(:where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }

  .md\:prose-h3\:text-\[18px\] :is(:where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
    font-size: 18px;
  }

  .md\:prose-h3\:text-lg :is(:where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
    font-size: 1.125rem;
    line-height: 1.75rem;
  }

  .md\:prose-h4\:text-\[16px\] :is(:where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
    font-size: 16px;
  }
}

@media (min-width: 1024px) {

  .lg\:inline {
    display: inline;
  }

  .lg\:w-\[35rem\] {
    width: 35rem;
  }

  .lg\:w-full {
    width: 100%;
  }

  .lg\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lg\:grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .lg\:text-\[3\.5rem\] {
    font-size: 3.5rem;
  }
}

.\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar {
  display: none;
}

.\[\&\:has\(\[aria-selected\]\)\]\:bg-accent:has([aria-selected]) {
  background-color: hsl(var(--accent));
}

.first\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-l-md:has([aria-selected]):first-child {
  border-top-left-radius: calc(var(--radius) - 2px);
  border-bottom-left-radius: calc(var(--radius) - 2px);
}

.last\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-r-md:has([aria-selected]):last-child {
  border-top-right-radius: calc(var(--radius) - 2px);
  border-bottom-right-radius: calc(var(--radius) - 2px);
}

.\[\&\:has\(\[aria-selected\]\.day-outside\)\]\:bg-accent\/50:has([aria-selected].day-outside) {
  background-color: hsl(var(--accent) / 0.5);
}

.\[\&\:has\(\[aria-selected\]\.day-range-end\)\]\:rounded-r-md:has([aria-selected].day-range-end) {
  border-top-right-radius: calc(var(--radius) - 2px);
  border-bottom-right-radius: calc(var(--radius) - 2px);
}

.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]) {
  padding-right: 0px;
}

.\[\&\>\*\]\:pointer-events-auto>* {
  pointer-events: auto;
}

.\[\&\>button\]\:hidden>button {
  display: none;
}

.\[\&\>span\:last-child\]\:truncate>span:last-child {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.\[\&\>span\]\:line-clamp-1>span {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div {
  --tw-translate-y: -3px;
  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));
}

.\[\&\>svg\]\:absolute>svg {
  position: absolute;
}

.\[\&\>svg\]\:left-4>svg {
  left: 1rem;
}

.\[\&\>svg\]\:top-4>svg {
  top: 1rem;
}

.\[\&\>svg\]\:size-4>svg {
  width: 1rem;
  height: 1rem;
}

.\[\&\>svg\]\:h-2\.5>svg {
  height: 0.625rem;
}

.\[\&\>svg\]\:h-3>svg {
  height: 0.75rem;
}

.\[\&\>svg\]\:h-3\.5>svg {
  height: 0.875rem;
}

.\[\&\>svg\]\:w-2\.5>svg {
  width: 0.625rem;
}

.\[\&\>svg\]\:w-3>svg {
  width: 0.75rem;
}

.\[\&\>svg\]\:w-3\.5>svg {
  width: 0.875rem;
}

.\[\&\>svg\]\:shrink-0>svg {
  flex-shrink: 0;
}

.\[\&\>svg\]\:text-destructive>svg {
  color: hsl(var(--destructive));
}

.\[\&\>svg\]\:text-foreground>svg {
  color: hsl(var(--foreground));
}

.\[\&\>svg\]\:text-muted-foreground>svg {
  color: hsl(var(--muted-foreground));
}

.\[\&\>svg\]\:text-sidebar-accent-foreground>svg {
  color: hsl(var(--sidebar-accent-foreground));
}

.\[\&\>svg\~\*\]\:pl-7>svg~* {
  padding-left: 1.75rem;
}

.\[\&\>tr\]\:last\:border-b-0:last-child>tr {
  border-bottom-width: 0px;
}

.\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div {
  --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));
}

.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg {
  --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));
}

.\[\&_\*\]\:text-pc-ink-3 * {
  color: hsl(var(--pc-ink-3));
}

.\[\&_\.cite-marker\]\:rounded-\[4px\] .cite-marker {
  border-radius: 4px;
}

.\[\&_\.cite-marker\]\:bg-pc-agent-evidencia\/10 .cite-marker {
  background-color: hsl(var(--pc-agent-evidencia) / 0.1);
}

.\[\&_\.cite-marker\]\:px-1 .cite-marker {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}

.\[\&_\.cite-marker\]\:py-px .cite-marker {
  padding-top: 1px;
  padding-bottom: 1px;
}

.\[\&_\.cite-marker\]\:align-\[0\.32em\] .cite-marker {
  vertical-align: 0.32em;
}

.\[\&_\.cite-marker\]\:font-pc-mono .cite-marker {
  font-family: var(--font-mono-pc), ui-monospace, SFMono-Regular, monospace;
}

.\[\&_\.cite-marker\]\:text-\[0\.72em\] .cite-marker {
  font-size: 0.72em;
}

.\[\&_\.cite-marker\]\:leading-none .cite-marker {
  line-height: 1;
}

.\[\&_\.cite-marker\]\:text-pc-agent-evidencia .cite-marker {
  color: hsl(var(--pc-agent-evidencia));
}

.\[\&_\.cite-marker\]\:transition-colors .cite-marker {
  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;
}

.hover\:\[\&_\.cite-marker\]\:bg-pc-agent-evidencia\/20 .cite-marker:hover {
  background-color: hsl(var(--pc-agent-evidencia) / 0.2);
}

.\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text {
  fill: hsl(var(--muted-foreground));
}

.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke='#ccc'] {
  stroke: hsl(var(--border) / 0.5);
}

.\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor {
  stroke: hsl(var(--border));
}

.\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke='#fff'] {
  stroke: transparent;
}

.\[\&_\.recharts-layer\]\:outline-none .recharts-layer {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke='#ccc'] {
  stroke: hsl(var(--border));
}

.\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector {
  fill: hsl(var(--muted));
}

.\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor {
  fill: hsl(var(--muted));
}

.\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke='#ccc'] {
  stroke: hsl(var(--border));
}

.\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke='#fff'] {
  stroke: transparent;
}

.\[\&_\.recharts-sector\]\:outline-none .recharts-sector {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.\[\&_\.recharts-surface\]\:outline-none .recharts-surface {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading] {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading] {
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}

.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading] {
  font-size: 0.75rem;
  line-height: 1rem;
}

.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading] {
  font-weight: 500;
}

.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading] {
  color: hsl(var(--muted-foreground));
}

.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden]) ~[cmdk-group] {
  padding-top: 0px;
}

.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group] {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg {
  height: 1.25rem;
}

.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg {
  width: 1.25rem;
}

.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input] {
  height: 3rem;
}

.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item] {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item] {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg {
  height: 1.25rem;
}

.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg {
  width: 1.25rem;
}

.\[\&_p\:last-child\]\:mb-0 p:last-child {
  margin-bottom: 0px;
}

.\[\&_p\]\:mb-2 p {
  margin-bottom: 0.5rem;
}

.\[\&_p\]\:mb-3 p {
  margin-bottom: 0.75rem;
}

.\[\&_p\]\:leading-relaxed p {
  line-height: 1.625;
}

.\[\&_pre_code\]\:bg-transparent pre code {
  background-color: transparent;
}

.\[\&_pre_code\]\:p-0 pre code {
  padding: 0px;
}

.\[\&_pre_code\]\:text-\[14px\] pre code {
  font-size: 14px;
}

.\[\&_strong\]\:text-pc-ink-2 strong {
  color: hsl(var(--pc-ink-2));
}

.\[\&_svg\]\:pointer-events-none svg {
  pointer-events: none;
}

.\[\&_svg\]\:size-4 svg {
  width: 1rem;
  height: 1rem;
}

.\[\&_svg\]\:shrink-0 svg {
  flex-shrink: 0;
}

.\[\&_table\]\:border-pc-line table {
  border-color: hsl(var(--pc-line));
}

.\[\&_td\]\:border-pc-line td {
  border-color: hsl(var(--pc-line));
}

.\[\&_th\]\:border-pc-line th {
  border-color: hsl(var(--pc-line));
}

.\[\&_th\]\:text-pc-ink-2 th {
  color: hsl(var(--pc-ink-2));
}

.\[\&_tr\:last-child\]\:border-0 tr:last-child {
  border-width: 0px;
}

.\[\&_tr\]\:border-b tr {
  border-bottom-width: 1px;
}

@media(orientation:landscape) and (max-width:767px) and (max-height:500px) {

  .\[\@media\(orientation\:landscape\)_and_\(max-width\:767px\)_and_\(max-height\:500px\)\]\:mt-0 {
    margin-top: 0px;
  }

  .\[\@media\(orientation\:landscape\)_and_\(max-width\:767px\)_and_\(max-height\:500px\)\]\:h-auto {
    height: auto;
  }

  .\[\@media\(orientation\:landscape\)_and_\(max-width\:767px\)_and_\(max-height\:500px\)\]\:min-h-\[100svh\] {
    min-height: 100svh;
  }

  .\[\@media\(orientation\:landscape\)_and_\(max-width\:767px\)_and_\(max-height\:500px\)\]\:flex-none {
    flex: none;
  }

  .\[\@media\(orientation\:landscape\)_and_\(max-width\:767px\)_and_\(max-height\:500px\)\]\:overflow-visible {
    overflow: visible;
  }

  .\[\@media\(orientation\:landscape\)_and_\(max-width\:767px\)_and_\(max-height\:500px\)\]\:pt-6 {
    padding-top: 1.5rem;
  }
}

@media(pointer:coarse) {

  .\[\@media\(pointer\:coarse\)\]\:hidden {
    display: none;
  }

  .\[\@media\(pointer\:coarse\)\]\:h-11 {
    height: 2.75rem;
  }

  .\[\@media\(pointer\:coarse\)\]\:min-h-\[40px\] {
    min-height: 40px;
  }

  .\[\@media\(pointer\:coarse\)\]\:min-h-\[44px\] {
    min-height: 44px;
  }

  .\[\@media\(pointer\:coarse\)\]\:min-h-\[48px\] {
    min-height: 48px;
  }

  .\[\@media\(pointer\:coarse\)\]\:w-11 {
    width: 2.75rem;
  }

  .\[\@media\(pointer\:coarse\)\]\:min-w-\[44px\] {
    min-width: 44px;
  }

  .\[\@media\(pointer\:coarse\)\]\:px-2 {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }

  .\[\@media\(pointer\:coarse\)\]\:px-3 {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }

  .\[\@media\(pointer\:coarse\)\]\:px-3\.5 {
    padding-left: 0.875rem;
    padding-right: 0.875rem;
  }

  .\[\@media\(pointer\:coarse\)\]\:py-0 {
    padding-top: 0px;
    padding-bottom: 0px;
  }

  .\[\@media\(pointer\:coarse\)\]\:pb-1\.5 {
    padding-bottom: 0.375rem;
  }

  .\[\@media\(pointer\:coarse\)\]\:opacity-100 {
    opacity: 1;
  }
}

[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2 {
  right: -0.5rem;
}

[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize {
  cursor: e-resize;
}

[data-side=left] .\[\[data-side\=left\]_\&\]\:cursor-w-resize {
  cursor: w-resize;
}

[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2 {
  left: -0.5rem;
}

[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize {
  cursor: w-resize;
}

[data-side=right] .\[\[data-side\=right\]_\&\]\:cursor-e-resize {
  cursor: e-resize;
}

