body {
    font-family: "Open Sans", sans-serif;
}

/*! tailwindcss v4.3.1 | MIT License | https://tailwindcss.com */
@layer properties {
    @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or
          ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
        *,
        :before,
        :after,
        ::backdrop {
            --tw-translate-x: 0;
            --tw-translate-y: 0;
            --tw-translate-z: 0;
            --tw-rotate-x: initial;
            --tw-rotate-y: initial;
            --tw-rotate-z: initial;
            --tw-skew-x: initial;
            --tw-skew-y: initial;
            --tw-space-y-reverse: 0;
            --tw-divide-y-reverse: 0;
            --tw-border-style: solid;
            --tw-gradient-position: initial;
            --tw-gradient-from: #0000;
            --tw-gradient-via: #0000;
            --tw-gradient-to: #0000;
            --tw-gradient-stops: initial;
            --tw-gradient-via-stops: initial;
            --tw-gradient-from-position: 0%;
            --tw-gradient-via-position: 50%;
            --tw-gradient-to-position: 100%;
            --tw-leading: initial;
            --tw-font-weight: initial;
            --tw-tracking: initial;
            --tw-ordinal: initial;
            --tw-slashed-zero: initial;
            --tw-numeric-figure: initial;
            --tw-numeric-spacing: initial;
            --tw-numeric-fraction: initial;
            --tw-shadow: 0 0 #0000;
            --tw-shadow-color: initial;
            --tw-shadow-alpha: 100%;
            --tw-inset-shadow: 0 0 #0000;
            --tw-inset-shadow-color: initial;
            --tw-inset-shadow-alpha: 100%;
            --tw-ring-color: initial;
            --tw-ring-shadow: 0 0 #0000;
            --tw-inset-ring-color: initial;
            --tw-inset-ring-shadow: 0 0 #0000;
            --tw-ring-inset: initial;
            --tw-ring-offset-width: 0px;
            --tw-ring-offset-color: #fff;
            --tw-ring-offset-shadow: 0 0 #0000;
            --tw-outline-style: solid;
            --tw-blur: initial;
            --tw-brightness: initial;
            --tw-contrast: initial;
            --tw-grayscale: initial;
            --tw-hue-rotate: initial;
            --tw-invert: initial;
            --tw-opacity: initial;
            --tw-saturate: initial;
            --tw-sepia: initial;
            --tw-drop-shadow: initial;
            --tw-drop-shadow-color: initial;
            --tw-drop-shadow-alpha: 100%;
            --tw-drop-shadow-size: initial;
            --tw-backdrop-blur: initial;
            --tw-backdrop-brightness: initial;
            --tw-backdrop-contrast: initial;
            --tw-backdrop-grayscale: initial;
            --tw-backdrop-hue-rotate: initial;
            --tw-backdrop-invert: initial;
            --tw-backdrop-opacity: initial;
            --tw-backdrop-saturate: initial;
            --tw-backdrop-sepia: initial;
            --tw-duration: initial;
            --tw-ease: initial;
            --tw-scale-x: 1;
            --tw-scale-y: 1;
            --tw-scale-z: 1;
        }
    }
}

@layer theme {
    :root,
    :host {
        --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, Roboto,
        "Helvetica Neue", Arial, sans-serif;
        --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
        --font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas,
        "Liberation Mono", monospace;
        --color-white: #fff;
        --spacing: 0.25rem;
        --container-xs: 20rem;
        --container-sm: 24rem;
        --container-md: 28rem;
        --container-2xl: 42rem;
        --container-3xl: 48rem;
        --container-5xl: 64rem;
        --text-xs: 0.75rem;
        --text-xs--line-height: calc(1 / 0.75);
        --text-sm: 0.875rem;
        --text-sm--line-height: calc(1.25 / 0.875);
        --text-base: 1rem;
        --text-base--line-height: 1.5;
        --text-lg: 1.125rem;
        --text-lg--line-height: calc(1.75 / 1.125);
        --text-2xl: 1.5rem;
        --text-2xl--line-height: calc(2 / 1.5);
        --text-3xl: 1.875rem;
        --text-3xl--line-height: 1.2;
        --text-4xl: 2.25rem;
        --text-4xl--line-height: calc(2.5 / 2.25);
        --font-weight-medium: 500;
        --font-weight-semibold: 600;
        --font-weight-bold: 700;
        --tracking-tight: -0.025em;
        --tracking-wide: 0.025em;
        --tracking-wider: 0.05em;
        --leading-tight: 1.25;
        --leading-snug: 1.375;
        --leading-relaxed: 1.625;
        --radius-sm: 0.375rem;
        --radius-md: 0.5rem;
        --radius-lg: 0.625rem;
        --radius-xl: 0.75rem;
        --radius-2xl: 1rem;
        --animate-spin: spin 1s linear infinite;
        --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
        --default-transition-duration: 0.15s;
        --default-transition-timing-function: cubic-bezier(0.2, 0, 0.2, 1);
        --default-font-family: var(--font-sans);
        --default-mono-font-family: var(--font-mono);
        --color-bg: #fafaf9;
        --color-surface: #fff;
        --color-surface-soft: #f4f4f2;
        --color-surface-alt: #f7f7f5;
        --color-border: #e4e4e1;
        --color-border-soft: #ededea;
        --color-ink: #1a1a18;
        --color-ink-muted: #5c5c57;
        --color-ink-faint: #727270;
        --color-ink-disabled: #6d6d6b;
        --color-brand-50: #f2f2ef;
        --color-brand-100: #e8e8e4;
        --color-brand-200: #d6d6d1;
        --color-brand-300: #a3a39d;
        --color-brand-400: #6e6e69;
        --color-brand-500: #2c2c2a;
        --color-brand-600: #171716;
        --color-brand-700: #0f0f0e;
        --color-on-accent: #fff;
        --color-success: #17803f;
        --color-danger: #b8382b;
        --color-danger-soft: #fbeceb;
        --color-danger-hover: #a33227;
        --color-danger-active: #8f2c22;
        --leading-body: 1.6;
        --leading-tight-ui: 1.35;
        --radius-card: 0.75rem;
        --radius-composer: 1rem;
        --shadow-card: 0 1px 2px #1a1a180a;
        --shadow-elevated: 0 4px 16px -4px #1a1a181a, 0 12px 32px -12px #1a1a181f;
        --ring-focus: 0 0 0 3px #1a1a181a;
        --duration-fast: 0.15s;
        --duration-base: 0.2s;
        --ease-soft: cubic-bezier(0.2, 0, 0.2, 1);
        --scale-press: 0.98;
        --chat-max-width: 46rem;
        --prose-max-width: 78ch;
        --color-chat-user-bg: #f0f0ed;
        --color-chat-user-ink: #1a1a18;
    }
}

@layer base {
    *,
    :after,
    :before,
    ::backdrop {
        box-sizing: border-box;
        border: 0 solid;
        margin: 0;
        padding: 0;
    }

    ::file-selector-button {
        box-sizing: border-box;
        border: 0 solid;
        margin: 0;
        padding: 0;
    }

    html,
    :host {
        -webkit-text-size-adjust: 100%;
        -moz-tab-size: 4;
        tab-size: 4;
        line-height: 1.5;
        font-family: var(
                --default-font-family,
                ui-sans-serif,
                system-ui,
                sans-serif,
                "Apple Color Emoji",
                "Segoe UI Emoji",
                "Segoe UI Symbol",
                "Noto Color Emoji"
        );
        font-feature-settings: var(--default-font-feature-settings, normal);
        font-variation-settings: var(
                --default-font-variation-settings,
                normal
        );
        -webkit-tap-highlight-color: transparent;
    }

    hr {
        height: 0;
        color: inherit;
        border-top-width: 1px;
    }

    abbr:where([title]) {
        -webkit-text-decoration: underline dotted;
        text-decoration: underline dotted;
    }

    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        font-size: inherit;
        font-weight: inherit;
    }

    a {
        color: inherit;
        -webkit-text-decoration: inherit;
        text-decoration: inherit;
    }

    b,
    strong {
        font-weight: bolder;
    }

    code,
    kbd,
    samp,
    pre {
        font-family: var(
                --default-mono-font-family,
                ui-monospace,
                SFMono-Regular,
                Menlo,
                Monaco,
                Consolas,
                "Liberation Mono",
                "Courier New",
                monospace
        );
        font-feature-settings: var(
                --default-mono-font-feature-settings,
                normal
        );
        font-variation-settings: var(
                --default-mono-font-variation-settings,
                normal
        );
        font-size: 1em;
    }

    small {
        font-size: 80%;
    }

    sub,
    sup {
        vertical-align: baseline;
        font-size: 75%;
        line-height: 0;
        position: relative;
    }

    sub {
        bottom: -0.25em;
    }

    sup {
        top: -0.5em;
    }

    table {
        text-indent: 0;
        border-color: inherit;
        border-collapse: collapse;
    }

    :-moz-focusring {
        outline: auto;
    }

    progress {
        vertical-align: baseline;
    }

    summary {
        display: list-item;
    }

    ol,
    ul,
    menu {
        list-style: none;
    }

    img,
    svg,
    video,
    canvas,
    audio,
    iframe,
    embed,
    object {
        vertical-align: middle;
        display: block;
    }

    img,
    video {
        max-width: 100%;
        height: auto;
    }

    button,
    input,
    select,
    optgroup,
    textarea {
        font: inherit;
        font-feature-settings: inherit;
        font-variation-settings: inherit;
        letter-spacing: inherit;
        color: inherit;
        opacity: 1;
        background-color: #0000;
        border-radius: 0;
    }

    ::file-selector-button {
        font: inherit;
        font-feature-settings: inherit;
        font-variation-settings: inherit;
        letter-spacing: inherit;
        color: inherit;
        opacity: 1;
        background-color: #0000;
        border-radius: 0;
    }

    :where(select:is([multiple], [size])) optgroup {
        font-weight: bolder;
    }

    :where(select:is([multiple], [size])) optgroup option {
        padding-inline-start: 20px;
    }

    ::file-selector-button {
        margin-inline-end: 4px;
    }

    ::placeholder {
        opacity: 1;
    }

    @supports (not ((-webkit-appearance: -apple-pay-button))) or
          (contain-intrinsic-size: 1px) {
        ::placeholder {
            color: currentColor;
        }

        @supports (color: color-mix(in lab, red, red)) {
            ::placeholder {
                color: color-mix(in oklab, currentcolor 50%, transparent);
            }
        }
    }
    textarea {
        resize: vertical;
    }

    ::-webkit-search-decoration {
        -webkit-appearance: none;
    }

    ::-webkit-date-and-time-value {
        min-height: 1lh;
        text-align: inherit;
    }

    ::-webkit-datetime-edit {
        display: inline-flex;
    }

    ::-webkit-datetime-edit-fields-wrapper {
        padding: 0;
    }

    ::-webkit-datetime-edit {
        padding-block: 0;
    }

    ::-webkit-datetime-edit-year-field {
        padding-block: 0;
    }

    ::-webkit-datetime-edit-month-field {
        padding-block: 0;
    }

    ::-webkit-datetime-edit-day-field {
        padding-block: 0;
    }

    ::-webkit-datetime-edit-hour-field {
        padding-block: 0;
    }

    ::-webkit-datetime-edit-minute-field {
        padding-block: 0;
    }

    ::-webkit-datetime-edit-second-field {
        padding-block: 0;
    }

    ::-webkit-datetime-edit-millisecond-field {
        padding-block: 0;
    }

    ::-webkit-datetime-edit-meridiem-field {
        padding-block: 0;
    }

    ::-webkit-calendar-picker-indicator {
        line-height: 1;
    }

    :-moz-ui-invalid {
        box-shadow: none;
    }

    button,
    input:where([type="button"], [type="reset"], [type="submit"]) {
        -webkit-appearance: button;
        -moz-appearance: button;
        appearance: button;
    }

    ::file-selector-button {
        -webkit-appearance: button;
        -moz-appearance: button;
        appearance: button;
    }

    ::-webkit-inner-spin-button {
        height: auto;
    }

    ::-webkit-outer-spin-button {
        height: auto;
    }

    [hidden]:where(:not([hidden="until-found"])) {
        display: none !important;
    }

    button,
    textarea,
    input,
    select {
        font: inherit;
        color: inherit;
    }

    :focus-visible {
        outline: 2px solid var(--color-brand-400);
        outline-offset: 2px;
    }
}

@layer components;

@layer utilities {
    .pointer-events-none {
        pointer-events: none;
    }

    .collapse {
        visibility: collapse;
    }

    .invisible {
        visibility: hidden;
    }

    .visible {
        visibility: visible;
    }

    .sr-only {
        clip-path: inset(50%);
        white-space: nowrap;
        border-width: 0;
        width: 1px;
        height: 1px;
        margin: -1px;
        padding: 0;
        position: absolute;
        overflow: hidden;
    }

    .absolute {
        position: absolute;
    }

    .fixed {
        position: fixed;
    }

    .relative {
        position: relative;
    }

    .static {
        position: static;
    }

    .sticky {
        position: sticky;
    }

    .inset-0 {
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
    }

    .start-0 {
        inset-inline-start: calc(var(--spacing) * 0);
    }

    .start-3 {
        inset-inline-start: calc(var(--spacing) * 3);
    }

    .end-0 {
        inset-inline-end: calc(var(--spacing) * 0);
    }

    .end-6 {
        inset-inline-end: calc(var(--spacing) * 6);
    }

    .top-0 {
        top: 0;
    }

    .top-1\/2 {
        top: 50%;
    }

    .top-\[calc\(100\%\+4px\)\] {
        top: calc(100% + 4px);
    }

    .bottom-0 {
        bottom: 0;
    }

    .bottom-6 {
        bottom: calc(var(--spacing) * 6);
    }

    .bottom-\[calc\(100\%\+6px\)\] {
        bottom: calc(100% + 6px);
    }

    .z-20 {
        z-index: 20;
    }

    .z-30 {
        z-index: 30;
    }

    .z-50 {
        z-index: 50;
    }

    .z-\[60\] {
        z-index: 60;
    }

    .-mx-1 {
        margin-inline: calc(var(--spacing) * -1);
    }

    .-mx-10 {
        margin-inline: calc(var(--spacing) * -10);
    }

    .mx-1 {
        margin-inline: var(--spacing);
    }

    .mx-auto {
        margin-inline: auto;
    }

    .my-1 {
        margin-block: var(--spacing);
    }

    .my-5 {
        margin-block: calc(var(--spacing) * 5);
    }

    .ms-0\.5 {
        margin-inline-start: calc(var(--spacing) * 0.5);
    }

    .ms-2 {
        margin-inline-start: calc(var(--spacing) * 2);
    }

    .ms-auto {
        margin-inline-start: auto;
    }

    .-me-1 {
        margin-inline-end: calc(var(--spacing) * -1);
    }

    .me-auto {
        margin-inline-end: auto;
    }

    .mt-0\.5 {
        margin-top: calc(var(--spacing) * 0.5);
    }

    .mt-1 {
        margin-top: var(--spacing);
    }

    .mt-1\.5 {
        margin-top: calc(var(--spacing) * 1.5);
    }

    .mt-2 {
        margin-top: calc(var(--spacing) * 2);
    }

    .mt-3 {
        margin-top: calc(var(--spacing) * 3);
    }

    .mt-4 {
        margin-top: calc(var(--spacing) * 4);
    }

    .mt-5 {
        margin-top: calc(var(--spacing) * 5);
    }

    .mt-6 {
        margin-top: calc(var(--spacing) * 6);
    }

    .mt-8 {
        margin-top: calc(var(--spacing) * 8);
    }

    .mt-16 {
        margin-top: calc(var(--spacing) * 16);
    }

    .mb-1 {
        margin-bottom: var(--spacing);
    }

    .mb-1\.5 {
        margin-bottom: calc(var(--spacing) * 1.5);
    }

    .mb-2 {
        margin-bottom: calc(var(--spacing) * 2);
    }

    .mb-3 {
        margin-bottom: calc(var(--spacing) * 3);
    }

    .mb-5 {
        margin-bottom: calc(var(--spacing) * 5);
    }

    .mb-6 {
        margin-bottom: calc(var(--spacing) * 6);
    }

    .mb-8 {
        margin-bottom: calc(var(--spacing) * 8);
    }

    .block {
        display: block;
    }

    .flex {
        display: flex;
    }

    .grid {
        display: grid;
    }

    .hidden {
        display: none;
    }

    .inline {
        display: inline;
    }

    .inline-block {
        display: inline-block;
    }

    .inline-flex {
        display: inline-flex;
    }

    .table {
        display: table;
    }

    .h-0 {
        height: 0;
    }

    .h-1 {
        height: var(--spacing);
    }

    .h-1\.5 {
        height: calc(var(--spacing) * 1.5);
    }

    .h-2 {
        height: calc(var(--spacing) * 2);
    }

    .h-4 {
        height: calc(var(--spacing) * 4);
    }

    .h-5 {
        height: calc(var(--spacing) * 5);
    }

    .h-6 {
        height: calc(var(--spacing) * 6);
    }

    .h-7 {
        height: calc(var(--spacing) * 7);
    }

    .h-8 {
        height: calc(var(--spacing) * 8);
    }

    .h-9 {
        height: calc(var(--spacing) * 9);
    }

    .h-10 {
        height: calc(var(--spacing) * 10);
    }

    .h-11 {
        height: calc(var(--spacing) * 11);
    }

    .h-12 {
        height: calc(var(--spacing) * 12);
    }

    .h-16 {
        height: calc(var(--spacing) * 16);
    }

    .h-40 {
        height: calc(var(--spacing) * 40);
    }

    .h-\[1em\] {
        height: 1em;
    }

    .h-\[min\(32rem\,72vh\)\] {
        height: min(32rem, 72vh);
    }

    .h-full {
        height: 100%;
    }

    .h-px {
        height: 1px;
    }

    .h-screen {
        height: 100vh;
    }

    .max-h-72 {
        max-height: calc(var(--spacing) * 72);
    }

    .max-h-96 {
        max-height: calc(var(--spacing) * 96);
    }

    .max-h-\[45\%\] {
        max-height: 45%;
    }

    .max-h-\[90vh\] {
        max-height: 90vh;
    }

    .max-h-\[260px\] {
        max-height: 260px;
    }

    .max-h-\[280px\] {
        max-height: 280px;
    }

    .min-h-0 {
        min-height: 0;
    }

    .min-h-\[60vh\] {
        min-height: 60vh;
    }

    .min-h-screen {
        min-height: 100vh;
    }

    .w-0 {
        width: 0;
    }

    .w-1\.5 {
        width: calc(var(--spacing) * 1.5);
    }

    .w-2 {
        width: calc(var(--spacing) * 2);
    }

    .w-3 {
        width: calc(var(--spacing) * 3);
    }

    .w-4 {
        width: calc(var(--spacing) * 4);
    }

    .w-5 {
        width: calc(var(--spacing) * 5);
    }

    .w-6 {
        width: calc(var(--spacing) * 6);
    }

    .w-8 {
        width: calc(var(--spacing) * 8);
    }

    .w-9 {
        width: calc(var(--spacing) * 9);
    }

    .w-10 {
        width: calc(var(--spacing) * 10);
    }

    .w-11 {
        width: calc(var(--spacing) * 11);
    }

    .w-40 {
        width: calc(var(--spacing) * 40);
    }

    .w-60 {
        width: calc(var(--spacing) * 60);
    }

    .w-72 {
        width: calc(var(--spacing) * 72);
    }

    .w-\[1em\] {
        width: 1em;
    }

    .w-\[2px\] {
        width: 2px;
    }

    .w-\[64px\] {
        width: 64px;
    }

    .w-\[68px\] {
        width: 68px;
    }

    .w-\[260px\] {
        width: 260px;
    }

    .w-full {
        width: 100%;
    }

    .w-px {
        width: 1px;
    }

    .w-screen {
        width: 100vw;
    }

    .max-w-2xl {
        max-width: var(--container-2xl);
    }

    .max-w-3xl {
        max-width: var(--container-3xl);
    }

    .max-w-5xl {
        max-width: var(--container-5xl);
    }

    .max-w-\[85\%\] {
        max-width: 85%;
    }

    .max-w-\[160px\] {
        max-width: 160px;
    }

    .max-w-\[var\(--chat-max-width\)\] {
        max-width: var(--chat-max-width);
    }

    .max-w-md {
        max-width: var(--container-md);
    }

    .max-w-sm {
        max-width: var(--container-sm);
    }

    .max-w-xs {
        max-width: var(--container-xs);
    }

    .min-w-0 {
        min-width: 0;
    }

    .min-w-\[120px\] {
        min-width: 120px;
    }

    .min-w-\[200px\] {
        min-width: 200px;
    }

    .flex-1 {
        flex: 1;
    }

    .shrink-0 {
        flex-shrink: 0;
    }

    .border-collapse {
        border-collapse: collapse;
    }

    .translate-x-\[2px\] {
        --tw-translate-x: 2px;
        translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .translate-x-\[22px\] {
        --tw-translate-x: 22px;
        translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .-translate-y-1\/2 {
        --tw-translate-y: -50%;
        translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .translate-y-0\.5 {
        --tw-translate-y: calc(var(--spacing) * 0.5);
        translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .-rotate-90 {
        rotate: -90deg;
    }

    .rotate-90 {
        rotate: 90deg;
    }

    .rotate-180 {
        rotate: 180deg;
    }

    .transform {
        transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
    }

    .animate-pulse {
        animation: var(--animate-pulse);
    }

    .animate-spin {
        animation: var(--animate-spin);
    }

    .cursor-crosshair {
        cursor: crosshair;
    }

    .cursor-default {
        cursor: default;
    }

    .cursor-not-allowed {
        cursor: not-allowed;
    }

    .cursor-pointer {
        cursor: pointer;
    }

    .cursor-progress {
        cursor: progress;
    }

    .resize {
        resize: both;
    }

    .resize-none {
        resize: none;
    }

    .resize-y {
        resize: vertical;
    }

    .list-decimal {
        list-style-type: decimal;
    }

    .list-disc {
        list-style-type: disc;
    }

    .grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .grid-cols-7 {
        grid-template-columns: repeat(7, minmax(0, 1fr));
    }

    .flex-col {
        flex-direction: column;
    }

    .flex-wrap {
        flex-wrap: wrap;
    }

    .place-items-center {
        place-items: center;
    }

    .items-baseline {
        align-items: baseline;
    }

    .items-center {
        align-items: center;
    }

    .items-end {
        align-items: flex-end;
    }

    .items-start {
        align-items: flex-start;
    }

    .items-stretch {
        align-items: stretch;
    }

    .justify-between {
        justify-content: space-between;
    }

    .justify-center {
        justify-content: center;
    }

    .justify-end {
        justify-content: flex-end;
    }

    .gap-0\.5 {
        gap: calc(var(--spacing) * 0.5);
    }

    .gap-1 {
        gap: var(--spacing);
    }

    .gap-1\.5 {
        gap: calc(var(--spacing) * 1.5);
    }

    .gap-2 {
        gap: calc(var(--spacing) * 2);
    }

    .gap-2\.5 {
        gap: calc(var(--spacing) * 2.5);
    }

    .gap-3 {
        gap: calc(var(--spacing) * 3);
    }

    .gap-4 {
        gap: calc(var(--spacing) * 4);
    }

    .gap-6 {
        gap: calc(var(--spacing) * 6);
    }

    .gap-8 {
        gap: calc(var(--spacing) * 8);
    }

    :where(.space-y-0\.5 > :not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(
                calc(var(--spacing) * 0.5) * var(--tw-space-y-reverse)
        );
        margin-block-end: calc(
                calc(var(--spacing) * 0.5) * calc(1 - var(--tw-space-y-reverse))
        );
    }

    :where(.space-y-1 > :not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(var(--spacing) * var(--tw-space-y-reverse));
        margin-block-end: calc(
                var(--spacing) * calc(1 - var(--tw-space-y-reverse))
        );
    }

    :where(.space-y-1\.5 > :not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(
                calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse)
        );
        margin-block-end: calc(
                calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse))
        );
    }

    :where(.space-y-2 > :not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(
                calc(var(--spacing) * 2) * var(--tw-space-y-reverse)
        );
        margin-block-end: calc(
                calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse))
        );
    }

    :where(.space-y-3 > :not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(
                calc(var(--spacing) * 3) * var(--tw-space-y-reverse)
        );
        margin-block-end: calc(
                calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse))
        );
    }

    :where(.space-y-4 > :not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(
                calc(var(--spacing) * 4) * var(--tw-space-y-reverse)
        );
        margin-block-end: calc(
                calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse))
        );
    }

    :where(.space-y-8 > :not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(
                calc(var(--spacing) * 8) * var(--tw-space-y-reverse)
        );
        margin-block-end: calc(
                calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse))
        );
    }

    .gap-x-2 {
        column-gap: calc(var(--spacing) * 2);
    }

    .gap-y-3 {
        row-gap: calc(var(--spacing) * 3);
    }

    :where(.divide-y > :not(:last-child)) {
        --tw-divide-y-reverse: 0;
        border-bottom-style: var(--tw-border-style);
        border-top-style: var(--tw-border-style);
        border-top-width: calc(1px * var(--tw-divide-y-reverse));
        border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
    }

    :where(.divide-\[var\(--color-border\)\] > :not(:last-child)) {
        border-color: var(--color-border);
    }

    :where(.divide-\[var\(--color-border-soft\)\] > :not(:last-child)) {
        border-color: var(--color-border-soft);
    }

    .self-stretch {
        align-self: stretch;
    }

    .truncate {
        text-overflow: ellipsis;
        white-space: nowrap;
        overflow: hidden;
    }

    .overflow-auto {
        overflow: auto;
    }

    .overflow-hidden {
        overflow: hidden;
    }

    .overflow-visible {
        overflow: visible;
    }

    .overflow-x-auto {
        overflow-x: auto;
    }

    .overflow-y-auto {
        overflow-y: auto;
    }

    .rounded {
        border-radius: 0.25rem;
    }

    .rounded-2xl {
        border-radius: var(--radius-2xl);
    }

    .rounded-\[10px\] {
        border-radius: 10px;
    }

    .rounded-\[var\(--radius-card\)\] {
        border-radius: var(--radius-card);
    }

    .rounded-\[var\(--radius-composer\)\] {
        border-radius: var(--radius-composer);
    }

    .rounded-full {
        border-radius: 3.40282e38px;
    }

    .rounded-lg {
        border-radius: var(--radius-lg);
    }

    .rounded-md {
        border-radius: var(--radius-md);
    }

    .rounded-sm {
        border-radius: var(--radius-sm);
    }

    .rounded-xl {
        border-radius: var(--radius-xl);
    }

    .rounded-t-md {
        border-top-left-radius: var(--radius-md);
        border-top-right-radius: var(--radius-md);
    }

    .border {
        border-style: var(--tw-border-style);
        border-width: 1px;
    }

    .border-y {
        border-block-style: var(--tw-border-style);
        border-block-width: 1px;
    }

    .border-s {
        border-inline-start-style: var(--tw-border-style);
        border-inline-start-width: 1px;
    }

    .border-s-2 {
        border-inline-start-style: var(--tw-border-style);
        border-inline-start-width: 2px;
    }

    .border-e {
        border-inline-end-style: var(--tw-border-style);
        border-inline-end-width: 1px;
    }

    .border-e-\[6px\] {
        border-inline-end-style: var(--tw-border-style);
        border-inline-end-width: 6px;
    }

    .border-t {
        border-top-style: var(--tw-border-style);
        border-top-width: 1px;
    }

    .border-t-\[6px\] {
        border-top-style: var(--tw-border-style);
        border-top-width: 6px;
    }

    .border-b {
        border-bottom-style: var(--tw-border-style);
        border-bottom-width: 1px;
    }

    .border-b-2 {
        border-bottom-style: var(--tw-border-style);
        border-bottom-width: 2px;
    }

    .border-dashed {
        --tw-border-style: dashed;
        border-style: dashed;
    }

    .border-\[var\(--color-border\)\] {
        border-color: var(--color-border);
    }

    .border-\[var\(--color-border-soft\)\] {
        border-color: var(--color-border-soft);
    }

    .border-\[var\(--color-brand-300\)\] {
        border-color: var(--color-brand-300);
    }

    .border-\[var\(--color-brand-500\)\] {
        border-color: var(--color-brand-500);
    }

    .border-\[var\(--color-danger\)\] {
        border-color: var(--color-danger);
    }

    .border-\[var\(--color-ink-muted\)\] {
        border-color: var(--color-ink-muted);
    }

    .border-e-transparent {
        border-inline-end-color: #0000;
    }

    .border-t-\[var\(--color-brand-500\)\] {
        border-top-color: var(--color-brand-500);
    }

    .bg-\[var\(--color-bg\)\] {
        background-color: var(--color-bg);
    }

    .bg-\[var\(--color-border\)\] {
        background-color: var(--color-border);
    }

    .bg-\[var\(--color-border-soft\)\] {
        background-color: var(--color-border-soft);
    }

    .bg-\[var\(--color-brand-100\)\] {
        background-color: var(--color-brand-100);
    }

    .bg-\[var\(--color-brand-500\)\] {
        background-color: var(--color-brand-500);
    }

    .bg-\[var\(--color-chat-user-bg\)\] {
        background-color: var(--color-chat-user-bg);
    }

    .bg-\[var\(--color-danger\)\] {
        background-color: var(--color-danger);
    }

    .bg-\[var\(--color-ink\)\]\/20 {
        background-color: #1a1a1833;
    }

    @supports (color: color-mix(in lab, red, red)) {
        .bg-\[var\(--color-ink\)\]\/20 {
            background-color: color-mix(
                    in oklab,
                    var(--color-ink) 20%,
                    transparent
            );
        }
    }
    .bg-\[var\(--color-ink-faint\)\] {
        background-color: var(--color-ink-faint);
    }

    .bg-\[var\(--color-success\)\] {
        background-color: var(--color-success);
    }

    .bg-\[var\(--color-surface\)\] {
        background-color: var(--color-surface);
    }

    .bg-\[var\(--color-surface\)\]\/95 {
        background-color: #fffffff2;
    }

    @supports (color: color-mix(in lab, red, red)) {
        .bg-\[var\(--color-surface\)\]\/95 {
            background-color: color-mix(
                    in oklab,
                    var(--color-surface) 95%,
                    transparent
            );
        }
    }
    .bg-\[var\(--color-surface-alt\)\] {
        background-color: var(--color-surface-alt);
    }

    .bg-\[var\(--color-surface-soft\)\] {
        background-color: var(--color-surface-soft);
    }

    .bg-current {
        background-color: currentColor;
    }

    .bg-transparent {
        background-color: #0000;
    }

    .bg-white {
        background-color: var(--color-white);
    }

    .bg-gradient-to-b {
        --tw-gradient-position: to bottom in oklab;
        background-image: linear-gradient(var(--tw-gradient-stops));
    }

    .from-\[var\(--color-surface-alt\)\] {
        --tw-gradient-from: var(--color-surface-alt);
        --tw-gradient-stops: var(
                --tw-gradient-via-stops,
                var(--tw-gradient-position),
                var(--tw-gradient-from) var(--tw-gradient-from-position),
                var(--tw-gradient-to) var(--tw-gradient-to-position)
        );
    }

    .via-\[var\(--color-brand-50\)\] {
        --tw-gradient-via: var(--color-brand-50);
        --tw-gradient-via-stops: var(--tw-gradient-position),
        var(--tw-gradient-from) var(--tw-gradient-from-position),
        var(--tw-gradient-via) var(--tw-gradient-via-position),
        var(--tw-gradient-to) var(--tw-gradient-to-position);
        --tw-gradient-stops: var(--tw-gradient-via-stops);
    }

    .to-\[var\(--color-brand-100\)\] {
        --tw-gradient-to: var(--color-brand-100);
        --tw-gradient-stops: var(
                --tw-gradient-via-stops,
                var(--tw-gradient-position),
                var(--tw-gradient-from) var(--tw-gradient-from-position),
                var(--tw-gradient-to) var(--tw-gradient-to-position)
        );
    }

    .p-0\.5 {
        padding: calc(var(--spacing) * 0.5);
    }

    .p-1 {
        padding: var(--spacing);
    }

    .p-2 {
        padding: calc(var(--spacing) * 2);
    }

    .p-3 {
        padding: calc(var(--spacing) * 3);
    }

    .p-3\.5 {
        padding: calc(var(--spacing) * 3.5);
    }

    .p-4 {
        padding: calc(var(--spacing) * 4);
    }

    .p-6 {
        padding: calc(var(--spacing) * 6);
    }

    .p-12 {
        padding: calc(var(--spacing) * 12);
    }

    .px-0 {
        padding-inline: 0;
    }

    .px-1 {
        padding-inline: var(--spacing);
    }

    .px-1\.5 {
        padding-inline: calc(var(--spacing) * 1.5);
    }

    .px-2 {
        padding-inline: calc(var(--spacing) * 2);
    }

    .px-2\.5 {
        padding-inline: calc(var(--spacing) * 2.5);
    }

    .px-3 {
        padding-inline: calc(var(--spacing) * 3);
    }

    .px-4 {
        padding-inline: calc(var(--spacing) * 4);
    }

    .px-5 {
        padding-inline: calc(var(--spacing) * 5);
    }

    .px-6 {
        padding-inline: calc(var(--spacing) * 6);
    }

    .px-8 {
        padding-inline: calc(var(--spacing) * 8);
    }

    .px-10 {
        padding-inline: calc(var(--spacing) * 10);
    }

    .px-\[2px\] {
        padding-inline: 2px;
    }

    .py-0\.5 {
        padding-block: calc(var(--spacing) * 0.5);
    }

    .py-1 {
        padding-block: var(--spacing);
    }

    .py-1\.5 {
        padding-block: calc(var(--spacing) * 1.5);
    }

    .py-2 {
        padding-block: calc(var(--spacing) * 2);
    }

    .py-2\.5 {
        padding-block: calc(var(--spacing) * 2.5);
    }

    .py-3 {
        padding-block: calc(var(--spacing) * 3);
    }

    .py-4 {
        padding-block: calc(var(--spacing) * 4);
    }

    .py-8 {
        padding-block: calc(var(--spacing) * 8);
    }

    .py-16 {
        padding-block: calc(var(--spacing) * 16);
    }

    .ps-1 {
        padding-inline-start: var(--spacing);
    }

    .ps-2 {
        padding-inline-start: calc(var(--spacing) * 2);
    }

    .ps-4 {
        padding-inline-start: calc(var(--spacing) * 4);
    }

    .ps-5 {
        padding-inline-start: calc(var(--spacing) * 5);
    }

    .ps-9 {
        padding-inline-start: calc(var(--spacing) * 9);
    }

    .pe-3 {
        padding-inline-end: calc(var(--spacing) * 3);
    }

    .pe-4 {
        padding-inline-end: calc(var(--spacing) * 4);
    }

    .pt-1 {
        padding-top: var(--spacing);
    }

    .pt-2 {
        padding-top: calc(var(--spacing) * 2);
    }

    .pb-1 {
        padding-bottom: var(--spacing);
    }

    .pb-2 {
        padding-bottom: calc(var(--spacing) * 2);
    }

    .pb-3 {
        padding-bottom: calc(var(--spacing) * 3);
    }

    .pb-6 {
        padding-bottom: calc(var(--spacing) * 6);
    }

    .text-center {
        text-align: center;
    }

    .text-left {
        text-align: left;
    }

    .text-start {
        text-align: start;
    }

    .align-top {
        vertical-align: top;
    }

    .font-mono {
        font-family: var(--font-mono);
    }

    .font-serif {
        font-family: var(--font-serif);
    }

    .text-2xl {
        font-size: var(--text-2xl);
        line-height: var(--tw-leading, var(--text-2xl--line-height));
    }

    .text-3xl {
        font-size: var(--text-3xl);
        line-height: var(--tw-leading, var(--text-3xl--line-height));
    }

    .text-4xl {
        font-size: var(--text-4xl);
        line-height: var(--tw-leading, var(--text-4xl--line-height));
    }

    .text-base {
        font-size: var(--text-base);
        line-height: var(--tw-leading, var(--text-base--line-height));
    }

    .text-lg {
        font-size: var(--text-lg);
        line-height: var(--tw-leading, var(--text-lg--line-height));
    }

    .text-sm {
        font-size: var(--text-sm);
        line-height: var(--tw-leading, var(--text-sm--line-height));
    }

    .text-xs {
        font-size: var(--text-xs);
        line-height: var(--tw-leading, var(--text-xs--line-height));
    }

    .text-\[0\.9em\] {
        font-size: 0.9em;
    }

    .text-\[0\.88em\] {
        font-size: 0.88em;
    }

    .text-\[8px\] {
        font-size: 8px;
    }

    .text-\[10px\] {
        font-size: 10px;
    }

    .text-\[11px\] {
        font-size: 11px;
    }

    .text-\[12px\] {
        font-size: 12px;
    }

    .text-\[13px\] {
        font-size: 13px;
    }

    .text-\[15px\] {
        font-size: 15px;
    }

    .text-\[16px\] {
        font-size: 16px;
    }

    .text-\[17px\] {
        font-size: 17px;
    }

    .leading-none {
        --tw-leading: 1;
        line-height: 1;
    }

    .leading-relaxed {
        --tw-leading: var(--leading-relaxed);
        line-height: var(--leading-relaxed);
    }

    .leading-snug {
        --tw-leading: var(--leading-snug);
        line-height: var(--leading-snug);
    }

    .leading-tight {
        --tw-leading: var(--leading-tight);
        line-height: var(--leading-tight);
    }

    .font-bold {
        --tw-font-weight: var(--font-weight-bold);
        font-weight: var(--font-weight-bold);
    }

    .font-medium {
        --tw-font-weight: var(--font-weight-medium);
        font-weight: var(--font-weight-medium);
    }

    .font-semibold {
        --tw-font-weight: var(--font-weight-semibold);
        font-weight: var(--font-weight-semibold);
    }

    .tracking-\[-0\.01em\] {
        --tw-tracking: -0.01em;
        letter-spacing: -0.01em;
    }

    .tracking-tight {
        --tw-tracking: var(--tracking-tight);
        letter-spacing: var(--tracking-tight);
    }

    .tracking-wide {
        --tw-tracking: var(--tracking-wide);
        letter-spacing: var(--tracking-wide);
    }

    .tracking-wider {
        --tw-tracking: var(--tracking-wider);
        letter-spacing: var(--tracking-wider);
    }

    .whitespace-nowrap {
        white-space: nowrap;
    }

    .whitespace-pre-wrap {
        white-space: pre-wrap;
    }

    .text-\[var\(--color-brand-400\)\] {
        color: var(--color-brand-400);
    }

    .text-\[var\(--color-brand-500\)\] {
        color: var(--color-brand-500);
    }

    .text-\[var\(--color-brand-600\)\] {
        color: var(--color-brand-600);
    }

    .text-\[var\(--color-brand-700\)\] {
        color: var(--color-brand-700);
    }

    .text-\[var\(--color-chat-user-ink\)\] {
        color: var(--color-chat-user-ink);
    }

    .text-\[var\(--color-danger\)\] {
        color: var(--color-danger);
    }

    .text-\[var\(--color-ink\)\] {
        color: var(--color-ink);
    }

    .text-\[var\(--color-ink-disabled\)\] {
        color: var(--color-ink-disabled);
    }

    .text-\[var\(--color-ink-faint\)\] {
        color: var(--color-ink-faint);
    }

    .text-\[var\(--color-ink-muted\)\] {
        color: var(--color-ink-muted);
    }

    .text-\[var\(--color-on-accent\)\] {
        color: var(--color-on-accent);
    }

    .text-\[var\(--color-success\)\] {
        color: var(--color-success);
    }

    .text-white {
        color: var(--color-white);
    }

    .capitalize {
        text-transform: capitalize;
    }

    .uppercase {
        text-transform: uppercase;
    }

    .italic {
        font-style: italic;
    }

    .tabular-nums {
        --tw-numeric-spacing: tabular-nums;
        font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);
    }

    .line-through {
        text-decoration-line: line-through;
    }

    .no-underline {
        text-decoration-line: none;
    }

    .underline {
        text-decoration-line: underline;
    }

    .decoration-\[var\(--color-border\)\] {
        -webkit-text-decoration-color: var(--color-border);
        text-decoration-color: var(--color-border);
    }

    .decoration-\[var\(--color-brand-300\)\] {
        -webkit-text-decoration-color: var(--color-brand-300);
        text-decoration-color: var(--color-brand-300);
    }

    .decoration-1 {
        text-decoration-thickness: 1px;
    }

    .underline-offset-2 {
        text-underline-offset: 2px;
    }

    .underline-offset-\[3px\] {
        text-underline-offset: 3px;
    }

    .opacity-0 {
        opacity: 0;
    }

    .opacity-60 {
        opacity: 0.6;
    }

    .opacity-70 {
        opacity: 0.7;
    }

    .opacity-80 {
        opacity: 0.8;
    }

    .shadow-\[var\(--shadow-card\)\] {
        --tw-shadow: var(--shadow-card);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow),
        var(--tw-ring-offset-shadow), var(--tw-ring-shadow),
        var(--tw-shadow);
    }

    .shadow-\[var\(--shadow-elevated\)\] {
        --tw-shadow: var(--shadow-elevated);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow),
        var(--tw-ring-offset-shadow), var(--tw-ring-shadow),
        var(--tw-shadow);
    }

    .ring {
        --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow),
        var(--tw-ring-offset-shadow), var(--tw-ring-shadow),
        var(--tw-shadow);
    }

    .outline {
        outline-style: var(--tw-outline-style);
        outline-width: 1px;
    }

    .blur {
        --tw-blur: blur(8px);
        filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
    }

    .filter {
        filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
    }

    .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-\[2px\] {
        --tw-backdrop-blur: blur(2px);
        -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
        backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
    }

    .transition {
        transition-property: color,
        background-color,
        border-color,
        outline-color,
        text-decoration-color,
        fill,
        stroke,
        --tw-gradient-from,
        --tw-gradient-via,
        --tw-gradient-to,
        opacity,
        box-shadow,
        transform,
        translate,
        scale,
        rotate,
        filter,
        -webkit-backdrop-filter,
        backdrop-filter,
        display,
        content-visibility,
        overlay,
        pointer-events;
        transition-timing-function: var(
                --tw-ease,
                var(--default-transition-timing-function)
        );
        transition-duration: var(
                --tw-duration,
                var(--default-transition-duration)
        );
    }

    .transition-\[background-color\,border-color\,color\,opacity\,transform\] {
        transition-property: background-color, border-color, color, opacity, transform;
        transition-timing-function: var(
                --tw-ease,
                var(--default-transition-timing-function)
        );
        transition-duration: var(
                --tw-duration,
                var(--default-transition-duration)
        );
    }

    .transition-\[background-color\,color\,opacity\,transform\] {
        transition-property: background-color, color, opacity, transform;
        transition-timing-function: var(
                --tw-ease,
                var(--default-transition-timing-function)
        );
        transition-duration: var(
                --tw-duration,
                var(--default-transition-duration)
        );
    }

    .transition-\[background-color\,color\,transform\] {
        transition-property: background-color, color, transform;
        transition-timing-function: var(
                --tw-ease,
                var(--default-transition-timing-function)
        );
        transition-duration: var(
                --tw-duration,
                var(--default-transition-duration)
        );
    }

    .transition-\[background-color\,opacity\] {
        transition-property: background-color, opacity;
        transition-timing-function: var(
                --tw-ease,
                var(--default-transition-timing-function)
        );
        transition-duration: var(
                --tw-duration,
                var(--default-transition-duration)
        );
    }

    .transition-\[background-color\,transform\] {
        transition-property: background-color, transform;
        transition-timing-function: var(
                --tw-ease,
                var(--default-transition-timing-function)
        );
        transition-duration: var(
                --tw-duration,
                var(--default-transition-duration)
        );
    }

    .transition-\[border-color\,box-shadow\] {
        transition-property: border-color, box-shadow;
        transition-timing-function: var(
                --tw-ease,
                var(--default-transition-timing-function)
        );
        transition-duration: var(
                --tw-duration,
                var(--default-transition-duration)
        );
    }

    .transition-\[width\] {
        transition-property: width;
        transition-timing-function: var(
                --tw-ease,
                var(--default-transition-timing-function)
        );
        transition-duration: var(
                --tw-duration,
                var(--default-transition-duration)
        );
    }

    .transition-colors {
        transition-property: color, background-color, border-color, outline-color,
        text-decoration-color, fill, stroke, --tw-gradient-from,
        --tw-gradient-via, --tw-gradient-to;
        transition-timing-function: var(
                --tw-ease,
                var(--default-transition-timing-function)
        );
        transition-duration: var(
                --tw-duration,
                var(--default-transition-duration)
        );
    }

    .transition-opacity {
        transition-property: opacity;
        transition-timing-function: var(
                --tw-ease,
                var(--default-transition-timing-function)
        );
        transition-duration: var(
                --tw-duration,
                var(--default-transition-duration)
        );
    }

    .transition-transform {
        transition-property: transform, translate, scale, rotate;
        transition-timing-function: var(
                --tw-ease,
                var(--default-transition-timing-function)
        );
        transition-duration: var(
                --tw-duration,
                var(--default-transition-duration)
        );
    }

    .duration-\[var\(--duration-base\)\] {
        --tw-duration: var(--duration-base);
        transition-duration: var(--duration-base);
    }

    .duration-\[var\(--duration-fast\)\] {
        --tw-duration: var(--duration-fast);
        transition-duration: var(--duration-fast);
    }

    .ease-\[var\(--ease-soft\)\] {
        --tw-ease: var(--ease-soft);
        transition-timing-function: var(--ease-soft);
    }

    .outline-none {
        --tw-outline-style: none;
        outline-style: none;
    }

    .select-none {
        -webkit-user-select: none;
        user-select: none;
    }

    @media (hover: hover) {
        .group-hover\:bg-\[var\(--color-brand-200\)\]:is(
            :where(.group):hover *
          ) {
            background-color: var(--color-brand-200);
        }

        .group-hover\:opacity-100:is(:where(.group):hover *) {
            opacity: 1;
        }
    }
    .placeholder\:text-\[var\(--color-ink-faint\)\]::placeholder {
        color: var(--color-ink-faint);
    }

    .first\:mt-0:first-child {
        margin-top: 0;
    }

    .last\:mb-0:last-child {
        margin-bottom: 0;
    }

    .last\:border-b-0:last-child {
        border-bottom-style: var(--tw-border-style);
        border-bottom-width: 0;
    }

    .focus-within\:border-\[var\(--color-brand-400\)\]:focus-within {
        border-color: var(--color-brand-400);
    }

    .focus-within\:opacity-100:focus-within {
        opacity: 1;
    }

    .focus-within\:shadow-\[var\(--ring-focus\)\]:focus-within {
        --tw-shadow: var(--ring-focus);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow),
        var(--tw-ring-offset-shadow), var(--tw-ring-shadow),
        var(--tw-shadow);
    }

    .focus-within\:ring-2:focus-within {
        --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow),
        var(--tw-ring-offset-shadow), var(--tw-ring-shadow),
        var(--tw-shadow);
    }

    .focus-within\:ring-\[var\(--color-brand-300\)\]:focus-within {
        --tw-ring-color: var(--color-brand-300);
    }

    @media (hover: hover) {
        .hover\:scale-110:hover {
            --tw-scale-x: 110%;
            --tw-scale-y: 110%;
            --tw-scale-z: 110%;
            scale: var(--tw-scale-x) var(--tw-scale-y);
        }

        .hover\:bg-\[var\(--color-brand-600\)\]:hover {
            background-color: var(--color-brand-600);
        }

        .hover\:bg-\[var\(--color-danger-hover\)\]:hover {
            background-color: var(--color-danger-hover);
        }

        .hover\:bg-\[var\(--color-danger-soft\)\]:hover {
            background-color: var(--color-danger-soft);
        }

        .hover\:bg-\[var\(--color-surface-soft\)\]:hover {
            background-color: var(--color-surface-soft);
        }

        .hover\:text-\[var\(--color-brand-600\)\]:hover {
            color: var(--color-brand-600);
        }

        .hover\:text-\[var\(--color-brand-700\)\]:hover {
            color: var(--color-brand-700);
        }

        .hover\:text-\[var\(--color-ink\)\]:hover {
            color: var(--color-ink);
        }

        .hover\:text-\[var\(--color-ink-muted\)\]:hover {
            color: var(--color-ink-muted);
        }

        .hover\:underline:hover {
            text-decoration-line: underline;
        }

        .hover\:decoration-\[var\(--color-ink-muted\)\]:hover {
            -webkit-text-decoration-color: var(--color-ink-muted);
            text-decoration-color: var(--color-ink-muted);
        }
    }
    .focus\:border-\[var\(--color-brand-400\)\]:focus {
        border-color: var(--color-brand-400);
    }

    .focus\:shadow-\[var\(--ring-focus\)\]:focus {
        --tw-shadow: var(--ring-focus);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow),
        var(--tw-ring-offset-shadow), var(--tw-ring-shadow),
        var(--tw-shadow);
    }

    .focus\:ring-2:focus {
        --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow),
        var(--tw-ring-offset-shadow), var(--tw-ring-shadow),
        var(--tw-shadow);
    }

    .focus\:ring-\[var\(--color-brand-100\)\]:focus {
        --tw-ring-color: var(--color-brand-100);
    }

    .focus\:ring-\[var\(--color-brand-300\)\]:focus {
        --tw-ring-color: var(--color-brand-300);
    }

    .focus\:outline-none:focus {
        --tw-outline-style: none;
        outline-style: none;
    }

    .focus-visible\:ring-2:focus-visible {
        --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow),
        var(--tw-ring-offset-shadow), var(--tw-ring-shadow),
        var(--tw-shadow);
    }

    .focus-visible\:ring-\[var\(--color-brand-400\)\]:focus-visible {
        --tw-ring-color: var(--color-brand-400);
    }

    .focus-visible\:ring-offset-1:focus-visible {
        --tw-ring-offset-width: 1px;
        --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    }

    .focus-visible\:ring-offset-2:focus-visible {
        --tw-ring-offset-width: 2px;
        --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    }

    .focus-visible\:ring-offset-\[var\(--color-bg\)\]:focus-visible {
        --tw-ring-offset-color: var(--color-bg);
    }

    .focus-visible\:ring-offset-\[var\(--color-surface\)\]:focus-visible {
        --tw-ring-offset-color: var(--color-surface);
    }

    .focus-visible\:ring-offset-\[var\(--color-surface-alt\)\]:focus-visible {
        --tw-ring-offset-color: var(--color-surface-alt);
    }

    .focus-visible\:ring-offset-\[var\(--color-surface-soft\)\]:focus-visible {
        --tw-ring-offset-color: var(--color-surface-soft);
    }

    .focus-visible\:ring-inset:focus-visible {
        --tw-ring-inset: inset;
    }

    .active\:scale-\[var\(--scale-press\)\]:active {
        scale: var(--scale-press);
    }

    .active\:bg-\[var\(--color-brand-100\)\]:active {
        background-color: var(--color-brand-100);
    }

    .active\:bg-\[var\(--color-brand-700\)\]:active {
        background-color: var(--color-brand-700);
    }

    .active\:bg-\[var\(--color-danger-active\)\]:active {
        background-color: var(--color-danger-active);
    }

    .disabled\:cursor-not-allowed:disabled {
        cursor: not-allowed;
    }

    .disabled\:bg-\[var\(--color-surface-soft\)\]:disabled {
        background-color: var(--color-surface-soft);
    }

    .disabled\:text-\[var\(--color-ink-disabled\)\]:disabled {
        color: var(--color-ink-disabled);
    }

    .disabled\:text-\[var\(--color-ink-faint\)\]:disabled {
        color: var(--color-ink-faint);
    }

    .disabled\:opacity-50:disabled {
        opacity: 0.5;
    }

    @media (hover: hover) {
        .disabled\:hover\:bg-transparent:disabled:hover {
            background-color: #0000;
        }
    }
    .disabled\:active\:scale-100:disabled:active {
        --tw-scale-x: 100%;
        --tw-scale-y: 100%;
        --tw-scale-z: 100%;
        scale: var(--tw-scale-x) var(--tw-scale-y);
    }

    @media (prefers-reduced-motion: reduce) {
        .motion-reduce\:transition-none {
            transition-property: none;
        }

        @media (hover: hover) {
            .motion-reduce\:hover\:scale-100:hover {
                --tw-scale-x: 100%;
                --tw-scale-y: 100%;
                --tw-scale-z: 100%;
                scale: var(--tw-scale-x) var(--tw-scale-y);
            }
        }
        .motion-reduce\:active\:scale-100:active {
            --tw-scale-x: 100%;
            --tw-scale-y: 100%;
            --tw-scale-z: 100%;
            scale: var(--tw-scale-x) var(--tw-scale-y);
        }
    }
    @media (min-width: 40rem) {
        .sm\:w-44 {
            width: calc(var(--spacing) * 44);
        }

        .sm\:flex-none {
            flex: none;
        }

        .sm\:flex-col {
            flex-direction: column;
        }

        .sm\:flex-row {
            flex-direction: row;
        }

        .sm\:p-10 {
            padding: calc(var(--spacing) * 10);
        }
    }
    @media (min-width: 64rem) {
        .lg\:-mx-16 {
            margin-inline: calc(var(--spacing) * -16);
        }

        .lg\:flex {
            display: flex;
        }

        .lg\:hidden {
            display: none;
        }

        .lg\:grid-cols-2 {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .lg\:px-12 {
            padding-inline: calc(var(--spacing) * 12);
        }

        .lg\:px-16 {
            padding-inline: calc(var(--spacing) * 16);
        }
    }
    .rtl\:-scale-x-100:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
        --tw-scale-x: -100%;
        scale: var(--tw-scale-x) var(--tw-scale-y);
    }

    .rtl\:-rotate-90:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
        rotate: -90deg;
    }

    .rtl\:rotate-0:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
        rotate: 0deg;
    }

    .rtl\:rotate-90:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
        rotate: 90deg;
    }

    .rtl\:rotate-180:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
        rotate: 180deg;
    }

    .dark\:opacity-100:where(
          html[data-theme="dark"],
          html[data-theme="dark"] *
        ) {
        opacity: 1;
    }
}

html[data-theme="dark"] {
    color-scheme: dark;
    --color-bg: #1a1a19;
    --color-surface: #212120;
    --color-surface-soft: #2a2a28;
    --color-surface-alt: #161615;
    --color-border: #333331;
    --color-border-soft: #2a2a28;
    --color-ink: #ecece9;
    --color-ink-muted: #a8a8a2;
    --color-ink-faint: #8a8a84;
    --color-brand-50: #262624;
    --color-brand-100: #31312f;
    --color-brand-200: #3a3a37;
    --color-brand-300: #787872;
    --color-brand-400: #a8a8a2;
    --color-brand-500: #ecece8;
    --color-brand-600: #fff;
    --color-brand-700: #fff;
    --color-on-accent: #191918;
    --color-success: #4fbf80;
    --color-success-soft: #1c2a21;
    --color-warning: #d9a550;
    --color-warning-soft: #2b2418;
    --color-danger: #f0776a;
    --color-danger-soft: #2e1e1c;
    --color-danger-hover: #f48d82;
    --color-danger-active: #f7a29a;
    --color-ink-disabled: #94948d;
    --color-info: #79b3d9;
    --color-info-soft: #1a2530;
    --shadow-card: 0 1px 2px #00000052;
    --shadow-elevated: 0 4px 16px -4px #00000070, 0 12px 32px -12px #0000008f;
    --ring-focus: 0 0 0 3px #ecece924;
    --color-chat-user-bg: #2c2c2a;
    --color-chat-user-ink: #ecece9;
    --color-chat-mention-bg: #33332f;
    --color-chat-mention-ink: #ecece9;
}

:root {
    color-scheme: light;
    font-family: var(--font-sans);
    font-size: 15px;
    line-height: var(--leading-body);
    color: var(--color-ink);
    background-color: var(--color-bg);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizelegibility;
}

html,
body,
#root {
    background-color: var(--color-bg);
    min-height: 100vh;
    color: var(--color-ink);
    margin: 0;
}

html,
body {
    transition: background-color var(--duration-base) var(--ease-soft),
    color var(--duration-base) var(--ease-soft);
}

* {
    box-sizing: border-box;
}

::selection {
    background: var(--color-brand-200);
    color: var(--color-brand-700);
}

::placeholder {
    color: var(--color-ink-faint);
}

@media (prefers-reduced-motion: reduce) {
    *,
    :before,
    :after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}

::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

::-webkit-scrollbar-track {
    background: 0 0;
}

::-webkit-scrollbar-thumb {
    background: var(--color-border);
    background-clip: content-box;
    border: 2px solid #0000;
    border-radius: 999px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--color-brand-300);
    background-clip: content-box;
}

.terapod-logo {
    font-size: 32px;
    font-family: "Space Grotesk", sans-serif;
}

.fact-card{
    font-family: "Press Start 2P", system-ui;
    font-size: 22px;
    font-weight: bold;
}

.scroll-on-hover {
    scrollbar-width: thin;
    scrollbar-color: transparent transparent;
    transition: scrollbar-color var(--duration-base) var(--ease-soft);
}

.scroll-on-hover:hover,
.scroll-on-hover:focus-within {
    scrollbar-color: var(--color-border) transparent;
}

.scroll-on-hover::-webkit-scrollbar-thumb {
    background: 0 0;
}

.scroll-on-hover:hover::-webkit-scrollbar-thumb {
    background: var(--color-border);
    background-clip: content-box;
}

.scroll-on-hover:focus-within::-webkit-scrollbar-thumb {
    background: var(--color-border);
    background-clip: content-box;
}

.scroll-on-hover:hover::-webkit-scrollbar-thumb:hover {
    background: var(--color-brand-300);
    background-clip: content-box;
}

@keyframes pulse-dot {
    0%,
    80%,
    to {
        opacity: 0.3;
        transform: translateY(0);
    }
    40% {
        opacity: 1;
        transform: translateY(-2px);
    }
}

.dot-pulse > span {
    width: 5px;
    height: 5px;
    animation: pulse-dot 1.2s var(--ease-soft) infinite;
    background: currentColor;
    border-radius: 50%;
    margin: 0 2px;
    display: inline-block;
}

.dot-pulse {
    color: var(--color-ink-faint);
}

.dot-pulse > span:nth-child(2) {
    animation-delay: 0.15s;
}

.dot-pulse > span:nth-child(3) {
    animation-delay: 0.3s;
}

@keyframes stage-in {
    0% {
        opacity: 0;
        transform: translateY(4px);
    }
    to {
        opacity: 1;
        transform: none;
    }
}

.stage-row {
    animation: stage-in var(--duration-base) var(--ease-soft) both;
}

@keyframes stage-spin {
    to {
        transform: rotate(360deg);
    }
}

.stage-ring {
    border: 1.5px solid var(--color-border);
    border-top-color: var(--color-ink-muted);
    border-radius: 999px;
    animation: 0.9s linear infinite stage-spin;
}

.stage-live {
    color: var(--color-ink);
}

@keyframes stage-shimmer {
    to {
        background-position: -200% 0;
    }
}

@supports ((-webkit-background-clip: text) or (background-clip: text)) {
    .stage-live {
        background-image: linear-gradient(
                90deg,
                var(--color-ink-muted) 0%,
                var(--color-ink) 40%,
                var(--color-ink) 60%,
                var(--color-ink-muted) 100%
        );
        color: #0000;
        background-size: 200% 100%;
        -webkit-background-clip: text;
        background-clip: text;
        animation: 2.4s linear infinite stage-shimmer;
    }
}

.cosmos-star {
    background: currentColor;
    animation-name: cosmos-twinkle;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
    position: absolute;
}

@keyframes cosmos-twinkle {
    0%,
    to {
        opacity: var(--twinkle-dim);
    }
    50% {
        opacity: var(--twinkle-bright);
    }
}

.cosmos-star--cross:before,
.cosmos-star--cross:after {
    content: "";
    opacity: 0.65;
    background: currentColor;
    position: absolute;
}

.cosmos-star--cross:before {
    width: 1px;
    top: -3px;
    bottom: -3px;
    left: 50%;
    transform: translate(-50%);
}

.cosmos-star--cross:after {
    height: 1px;
    top: 50%;
    left: -3px;
    right: -3px;
    transform: translateY(-50%);
}

.cosmos-planet {
    animation-name: cosmos-drift;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
    position: absolute;
}

@keyframes cosmos-drift {
    0%,
    to {
        transform: translate(0);
    }
    50% {
        transform: translateY(-8px);
    }
}

.cosmos-meteor {
    opacity: 0;
    background: linear-gradient(90deg, #0000, currentColor);
    height: 2px;
    animation-name: cosmos-meteor;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    position: absolute;
}

.cosmos-meteor:after {
    content: "";
    background: currentColor;
    width: 3px;
    height: 3px;
    position: absolute;
    top: -1px;
    right: -1px;
}

@keyframes cosmos-meteor {
    0% {
        opacity: 0;
        transform: rotate(var(--meteor-angle)) translateZ(0);
    }
    3% {
        opacity: var(--meteor-opacity);
    }
    17% {
        opacity: var(--meteor-opacity);
    }
    20%,
    to {
        opacity: 0;
        transform: rotate(var(--meteor-angle)) translate3d(var(--meteor-travel), 0, 0);
    }
}

.hljs {
    color: var(--color-ink);
    background: 0 0;
}

.hljs-comment,
.hljs-quote {
    color: var(--color-ink-faint);
    font-style: italic;
}

.hljs-keyword,
.hljs-selector-tag,
.hljs-literal,
.hljs-doctag,
.hljs-name,
.hljs-type {
    color: var(--color-code-keyword);
}

.hljs-string,
.hljs-regexp,
.hljs-addition,
.hljs-attribute,
.hljs-meta .hljs-string {
    color: var(--color-code-string);
}

.hljs-number,
.hljs-symbol,
.hljs-bullet,
.hljs-link,
.hljs-selector-attr,
.hljs-selector-pseudo,
.hljs-template-variable,
.hljs-variable {
    color: var(--color-code-number);
}

.hljs-title,
.hljs-section,
.hljs-title.class_,
.hljs-title.function_,
.hljs-selector-id,
.hljs-selector-class {
    color: var(--color-code-title);
    font-weight: 600;
}

.hljs-built_in,
.hljs-class .hljs-title,
.hljs-params {
    color: var(--color-code-builtin);
}

.hljs-attr,
.hljs-property,
.hljs-tag {
    color: var(--color-code-attr);
}

.hljs-deletion {
    color: var(--color-danger);
}

.hljs-emphasis {
    font-style: italic;
}

.hljs-strong {
    font-weight: 700;
}

:root {
    --color-code-keyword: #7d4f9c;
    --color-code-string: #1f6b4a;
    --color-code-number: #9c5722;
    --color-code-title: #1f5f8b;
    --color-code-builtin: #8a5a0f;
    --color-code-attr: #2f5fa8;
}

html[data-theme="dark"] {
    --color-code-keyword: #c9a3e0;
    --color-code-string: #85cba4;
    --color-code-number: #e0a878;
    --color-code-title: #8fc0e0;
    --color-code-builtin: #d9b56f;
    --color-code-attr: #9db8e8;
}

.Spreadsheet {
    --background-color: var(--color-surface);
    --text-color: var(--color-ink);
    --readonly-text-color: var(--color-ink-muted);
    --outline-color: var(--color-brand-400);
    --outline-background-color: var(--color-brand-100);
    --border-color: var(--color-border-soft);
    --header-background-color: var(--color-surface-soft);
    --elevated-background-color: var(--color-surface);
    --elevated-box-shadow: var(--shadow-elevated);
    background: var(--background-color);
    color: var(--text-color);
    width: 100%;
    display: block;
    position: relative;
    overflow: visible;
}

.Spreadsheet__table {
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
    width: 100%;
}

.Spreadsheet__cell {
    word-break: break-word;
    border-inline-end: 1px solid var(--border-color);
    border-bottom: 1px solid var(--border-color);
    background: var(--background-color);
    cursor: cell;
    min-width: 7em;
    height: 2.2em;
    font-size: 13.5px;
    line-height: var(--leading-tight-ui);
    text-align: start;
    box-sizing: border-box;
    outline: none;
    position: relative;
    overflow: hidden;
}

.Spreadsheet__cell--readonly {
    color: var(--readonly-text-color);
}

.Spreadsheet__data-editor,
.Spreadsheet__data-viewer,
.Spreadsheet .Spreadsheet__active-cell {
    box-sizing: border-box;
}

.Spreadsheet__data-viewer {
    word-break: break-word;
    white-space: nowrap;
    padding: 6px 8px;
}

.Spreadsheet__data-viewer--preserve-breaks {
    white-space: pre-wrap;
}

.Spreadsheet__data-viewer--boolean {
    text-align: center;
}

.Spreadsheet__header {
    background: var(--header-background-color);
    color: var(--color-ink-muted);
    cursor: cell;
    letter-spacing: 0.02em;
    text-align: center;
    -webkit-user-select: none;
    user-select: none;
    border-inline-end: 1px solid var(--border-color);
    border-bottom: 1px solid var(--border-color);
    box-sizing: border-box;
    z-index: 1;
    min-width: 7em;
    height: 2.2em;
    font-size: 12px;
    font-weight: 500;
    position: sticky;
    top: 0;
}

.Spreadsheet__header--selected {
    background: var(--color-brand-100);
    color: var(--color-brand-700);
}

.Spreadsheet__table tr > .Spreadsheet__header:first-child {
    z-index: 2;
    position: sticky;
    inset-inline-start: 0;
}

.Spreadsheet__active-cell {
    border: 2px solid var(--outline-color);
    pointer-events: none;
    border-radius: 3px;
    position: absolute;
}

.Spreadsheet__active-cell--edit {
    background: var(--background-color);
    pointer-events: auto;
}

.Spreadsheet__floating-rect {
    pointer-events: none;
    box-sizing: border-box;
    position: absolute;
}

.Spreadsheet__floating-rect--hidden {
    display: none;
}

.Spreadsheet__floating-rect--selected {
    background: var(--outline-background-color);
    border: 2px var(--outline-color) solid;
    border-radius: 3px;
}

.Spreadsheet__floating-rect--dragging {
    border: none;
}

.Spreadsheet__floating-rect--copied {
    border: 2px var(--outline-color) dashed;
}

.Spreadsheet__data-editor input {
    background: var(--background-color);
    width: 100%;
    height: 100%;
    font-size: inherit;
    text-align: inherit;
    color: inherit;
    border: none;
    outline: none;
    padding: 6px 8px;
    font-family: inherit;
}

.spreadsheet-host .Spreadsheet {
    width: 100%;
    min-width: 100%;
    display: block;
}

.spreadsheet-host .Spreadsheet__table {
    table-layout: fixed;
    width: 100%;
    min-width: 100%;
}

.prose-doc {
    max-width: var(--prose-max-width);
    line-height: var(--leading-body);
    margin: 0 auto;
}

.prose-doc h1 {
    letter-spacing: -0.015em;
    color: var(--color-ink);
    margin: 1.2em 0 0.4em;
    font-size: 1.9rem;
    font-weight: 650;
    line-height: 1.2;
}

.prose-doc h2 {
    letter-spacing: -0.01em;
    color: var(--color-ink);
    margin: 1.1em 0 0.4em;
    font-size: 1.4rem;
    font-weight: 620;
    line-height: 1.28;
}

.prose-doc h3 {
    color: var(--color-ink);
    margin: 1em 0 0.35em;
    font-size: 1.15rem;
    font-weight: 600;
    line-height: 1.34;
}

.prose-doc p {
    margin: 0.6em 0;
}

.prose-doc ul,
.prose-doc ol {
    margin: 0.6em 0;
    padding-inline-start: 1.5em;
}

.prose-doc ul {
    list-style: outside;
}

.prose-doc ol {
    list-style: decimal;
}

.prose-doc li {
    margin: 0.2em 0;
}

.prose-doc blockquote {
    border-inline-start: 2px solid var(--color-border);
    color: var(--color-ink-muted);
    margin: 0.8em 0;
    padding-inline-start: 1em;
}

.prose-doc code {
    background: var(--color-surface-soft);
    border: 1px solid var(--color-border-soft);
    border-radius: var(--radius-sm);
    font-family: var(--font-mono);
    padding: 0.05em 0.35em;
    font-size: 0.88em;
}

.prose-doc pre {
    background: var(--color-surface-soft);
    border: 1px solid var(--color-border-soft);
    border-radius: var(--radius-md);
    font-family: var(--font-mono);
    margin: 0.8em 0;
    padding: 0.85em 1em;
    font-size: 0.88em;
    overflow-x: auto;
}

.prose-doc pre code {
    background: 0 0;
    border: none;
    padding: 0;
}

.prose-doc img {
    border-radius: var(--radius-md);
    border: 1px solid var(--color-border-soft);
    max-width: 100%;
    height: auto;
    margin: 0.6em 0;
}

.prose-doc hr {
    border: none;
    border-top: 1px solid var(--color-border-soft);
    margin: 1.5em 0;
}

.prose-doc:focus {
    outline: none;
}

@property --tw-translate-x {
    syntax: "*";
    inherits: false;
    initial-value: 0;
}

@property --tw-translate-y {
    syntax: "*";
    inherits: false;
    initial-value: 0;
}

@property --tw-translate-z {
    syntax: "*";
    inherits: false;
    initial-value: 0;
}

@property --tw-rotate-x {
    syntax: "*";
    inherits: false;
}

@property --tw-rotate-y {
    syntax: "*";
    inherits: false;
}

@property --tw-rotate-z {
    syntax: "*";
    inherits: false;
}

@property --tw-skew-x {
    syntax: "*";
    inherits: false;
}

@property --tw-skew-y {
    syntax: "*";
    inherits: false;
}

@property --tw-space-y-reverse {
    syntax: "*";
    inherits: false;
    initial-value: 0;
}

@property --tw-divide-y-reverse {
    syntax: "*";
    inherits: false;
    initial-value: 0;
}

@property --tw-border-style {
    syntax: "*";
    inherits: false;
    initial-value: solid;
}

@property --tw-gradient-position {
    syntax: "*";
    inherits: false;
}

@property --tw-gradient-from {
    syntax: "<color>";
    inherits: false;
    initial-value: #0000;
}

@property --tw-gradient-via {
    syntax: "<color>";
    inherits: false;
    initial-value: #0000;
}

@property --tw-gradient-to {
    syntax: "<color>";
    inherits: false;
    initial-value: #0000;
}

@property --tw-gradient-stops {
    syntax: "*";
    inherits: false;
}

@property --tw-gradient-via-stops {
    syntax: "*";
    inherits: false;
}

@property --tw-gradient-from-position {
    syntax: "<length-percentage>";
    inherits: false;
    initial-value: 0%;
}

@property --tw-gradient-via-position {
    syntax: "<length-percentage>";
    inherits: false;
    initial-value: 50%;
}

@property --tw-gradient-to-position {
    syntax: "<length-percentage>";
    inherits: false;
    initial-value: 100%;
}

@property --tw-leading {
    syntax: "*";
    inherits: false;
}

@property --tw-font-weight {
    syntax: "*";
    inherits: false;
}

@property --tw-tracking {
    syntax: "*";
    inherits: false;
}

@property --tw-ordinal {
    syntax: "*";
    inherits: false;
}

@property --tw-slashed-zero {
    syntax: "*";
    inherits: false;
}

@property --tw-numeric-figure {
    syntax: "*";
    inherits: false;
}

@property --tw-numeric-spacing {
    syntax: "*";
    inherits: false;
}

@property --tw-numeric-fraction {
    syntax: "*";
    inherits: false;
}

@property --tw-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000;
}

@property --tw-shadow-color {
    syntax: "*";
    inherits: false;
}

@property --tw-shadow-alpha {
    syntax: "<percentage>";
    inherits: false;
    initial-value: 100%;
}

@property --tw-inset-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000;
}

@property --tw-inset-shadow-color {
    syntax: "*";
    inherits: false;
}

@property --tw-inset-shadow-alpha {
    syntax: "<percentage>";
    inherits: false;
    initial-value: 100%;
}

@property --tw-ring-color {
    syntax: "*";
    inherits: false;
}

@property --tw-ring-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000;
}

@property --tw-inset-ring-color {
    syntax: "*";
    inherits: false;
}

@property --tw-inset-ring-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000;
}

@property --tw-ring-inset {
    syntax: "*";
    inherits: false;
}

@property --tw-ring-offset-width {
    syntax: "<length>";
    inherits: false;
    initial-value: 0;
}

@property --tw-ring-offset-color {
    syntax: "*";
    inherits: false;
    initial-value: #fff;
}

@property --tw-ring-offset-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000;
}

@property --tw-outline-style {
    syntax: "*";
    inherits: false;
    initial-value: solid;
}

@property --tw-blur {
    syntax: "*";
    inherits: false;
}

@property --tw-brightness {
    syntax: "*";
    inherits: false;
}

@property --tw-contrast {
    syntax: "*";
    inherits: false;
}

@property --tw-grayscale {
    syntax: "*";
    inherits: false;
}

@property --tw-hue-rotate {
    syntax: "*";
    inherits: false;
}

@property --tw-invert {
    syntax: "*";
    inherits: false;
}

@property --tw-opacity {
    syntax: "*";
    inherits: false;
}

@property --tw-saturate {
    syntax: "*";
    inherits: false;
}

@property --tw-sepia {
    syntax: "*";
    inherits: false;
}

@property --tw-drop-shadow {
    syntax: "*";
    inherits: false;
}

@property --tw-drop-shadow-color {
    syntax: "*";
    inherits: false;
}

@property --tw-drop-shadow-alpha {
    syntax: "<percentage>";
    inherits: false;
    initial-value: 100%;
}

@property --tw-drop-shadow-size {
    syntax: "*";
    inherits: false;
}

@property --tw-backdrop-blur {
    syntax: "*";
    inherits: false;
}

@property --tw-backdrop-brightness {
    syntax: "*";
    inherits: false;
}

@property --tw-backdrop-contrast {
    syntax: "*";
    inherits: false;
}

@property --tw-backdrop-grayscale {
    syntax: "*";
    inherits: false;
}

@property --tw-backdrop-hue-rotate {
    syntax: "*";
    inherits: false;
}

@property --tw-backdrop-invert {
    syntax: "*";
    inherits: false;
}

@property --tw-backdrop-opacity {
    syntax: "*";
    inherits: false;
}

@property --tw-backdrop-saturate {
    syntax: "*";
    inherits: false;
}

@property --tw-backdrop-sepia {
    syntax: "*";
    inherits: false;
}

@property --tw-duration {
    syntax: "*";
    inherits: false;
}

@property --tw-ease {
    syntax: "*";
    inherits: false;
}

@property --tw-scale-x {
    syntax: "*";
    inherits: false;
    initial-value: 1;
}

@property --tw-scale-y {
    syntax: "*";
    inherits: false;
    initial-value: 1;
}

@property --tw-scale-z {
    syntax: "*";
    inherits: false;
    initial-value: 1;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

@keyframes pulse {
    50% {
        opacity: 0.5;
    }
}
