/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */
@layer properties;
@layer theme, base, components, utilities;
@layer theme {
  :root, :host {
    --font-sans: ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',
    'Noto Color Emoji';
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New',
    monospace;
    --color-red-50: oklch(97.1% 0.013 17.38);
    --color-red-100: oklch(93.6% 0.032 17.717);
    --color-red-200: oklch(88.5% 0.062 18.334);
    --color-red-300: oklch(80.8% 0.114 19.571);
    --color-red-400: oklch(70.4% 0.191 22.216);
    --color-red-500: oklch(63.7% 0.237 25.331);
    --color-red-600: oklch(57.7% 0.245 27.325);
    --color-red-700: oklch(50.5% 0.213 27.518);
    --color-orange-500: oklch(70.5% 0.213 47.604);
    --color-orange-600: oklch(64.6% 0.222 41.116);
    --color-orange-700: oklch(55.3% 0.195 38.402);
    --color-amber-50: oklch(98.7% 0.022 95.277);
    --color-amber-100: oklch(96.2% 0.059 95.617);
    --color-amber-200: oklch(92.4% 0.12 95.746);
    --color-amber-300: oklch(87.9% 0.169 91.605);
    --color-amber-400: oklch(82.8% 0.189 84.429);
    --color-amber-500: oklch(76.9% 0.188 70.08);
    --color-amber-600: oklch(66.6% 0.179 58.318);
    --color-amber-700: oklch(55.5% 0.163 48.998);
    --color-amber-800: oklch(47.3% 0.137 46.201);
    --color-yellow-500: oklch(79.5% 0.184 86.047);
    --color-yellow-600: oklch(68.1% 0.162 75.834);
    --color-lime-100: oklch(96.7% 0.067 122.328);
    --color-lime-400: oklch(84.1% 0.238 128.85);
    --color-lime-500: oklch(76.8% 0.233 130.85);
    --color-green-50: oklch(98.2% 0.018 155.826);
    --color-green-100: oklch(96.2% 0.044 156.743);
    --color-green-200: oklch(92.5% 0.084 155.995);
    --color-green-500: oklch(72.3% 0.219 149.579);
    --color-green-600: oklch(62.7% 0.194 149.214);
    --color-green-700: oklch(52.7% 0.154 150.069);
    --color-emerald-100: oklch(95% 0.052 163.051);
    --color-emerald-500: oklch(69.6% 0.17 162.48);
    --color-emerald-600: oklch(59.6% 0.145 163.225);
    --color-emerald-700: oklch(50.8% 0.118 165.612);
    --color-teal-500: oklch(70.4% 0.14 182.503);
    --color-cyan-50: oklch(98.4% 0.019 200.873);
    --color-cyan-100: oklch(95.6% 0.045 203.388);
    --color-cyan-200: oklch(91.7% 0.08 205.041);
    --color-cyan-300: oklch(86.5% 0.127 207.078);
    --color-cyan-400: oklch(78.9% 0.154 211.53);
    --color-cyan-500: oklch(71.5% 0.143 215.221);
    --color-cyan-600: oklch(60.9% 0.126 221.723);
    --color-cyan-700: oklch(52% 0.105 223.128);
    --color-cyan-900: oklch(39.8% 0.07 227.392);
    --color-sky-500: oklch(68.5% 0.169 237.323);
    --color-blue-50: oklch(97% 0.014 254.604);
    --color-blue-100: oklch(93.2% 0.032 255.585);
    --color-blue-200: oklch(88.2% 0.059 254.128);
    --color-blue-500: oklch(62.3% 0.214 259.815);
    --color-blue-700: oklch(48.8% 0.243 264.376);
    --color-indigo-400: oklch(67.3% 0.182 276.935);
    --color-indigo-500: oklch(58.5% 0.233 277.117);
    --color-violet-50: oklch(96.9% 0.016 293.756);
    --color-violet-100: oklch(94.3% 0.029 294.588);
    --color-violet-200: oklch(89.4% 0.057 293.283);
    --color-violet-300: oklch(81.1% 0.111 293.571);
    --color-violet-400: oklch(70.2% 0.183 293.541);
    --color-violet-500: oklch(60.6% 0.25 292.717);
    --color-violet-600: oklch(54.1% 0.281 293.009);
    --color-violet-700: oklch(49.1% 0.27 292.581);
    --color-violet-900: oklch(38% 0.189 293.745);
    --color-violet-950: oklch(28.3% 0.141 291.089);
    --color-purple-100: oklch(94.6% 0.033 307.174);
    --color-purple-500: oklch(62.7% 0.265 303.9);
    --color-purple-600: oklch(55.8% 0.288 302.321);
    --color-purple-700: oklch(49.6% 0.265 301.924);
    --color-fuchsia-500: oklch(66.7% 0.295 322.15);
    --color-pink-100: oklch(94.8% 0.028 342.258);
    --color-pink-500: oklch(65.6% 0.241 354.308);
    --color-pink-600: oklch(59.2% 0.249 0.584);
    --color-rose-500: oklch(64.5% 0.246 16.439);
    --color-slate-50: oklch(98.4% 0.003 247.858);
    --color-slate-100: oklch(96.8% 0.007 247.896);
    --color-slate-200: oklch(92.9% 0.013 255.508);
    --color-slate-300: oklch(86.9% 0.022 252.894);
    --color-slate-400: oklch(70.4% 0.04 256.788);
    --color-slate-500: oklch(55.4% 0.046 257.417);
    --color-slate-600: oklch(44.6% 0.043 257.281);
    --color-slate-700: oklch(37.2% 0.044 257.287);
    --color-slate-900: oklch(20.8% 0.042 265.755);
    --color-slate-950: oklch(12.9% 0.042 264.695);
    --color-neutral-50: oklch(98.5% 0 0);
    --color-neutral-100: oklch(97% 0 0);
    --color-neutral-200: oklch(92.2% 0 0);
    --color-neutral-300: oklch(87% 0 0);
    --color-neutral-400: oklch(70.8% 0 0);
    --color-neutral-500: oklch(55.6% 0 0);
    --color-neutral-600: oklch(43.9% 0 0);
    --color-neutral-700: oklch(37.1% 0 0);
    --color-neutral-800: oklch(26.9% 0 0);
    --color-neutral-900: oklch(20.5% 0 0);
    --color-black: #000;
    --color-white: #fff;
    --spacing: 0.25rem;
    --container-xs: 20rem;
    --container-md: 28rem;
    --container-lg: 32rem;
    --container-xl: 36rem;
    --container-2xl: 42rem;
    --text-xs: 0.75rem;
    --text-xs--line-height: calc(1 / 0.75);
    --text-sm: 0.875rem;
    --text-sm--line-height: calc(1.25 / 0.875);
    --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --text-xl: 1.25rem;
    --text-xl--line-height: calc(1.75 / 1.25);
    --text-2xl: 1.5rem;
    --text-2xl--line-height: calc(2 / 1.5);
    --text-3xl: 1.875rem;
    --text-3xl--line-height: calc(2.25 / 1.875);
    --text-4xl: 2.25rem;
    --text-4xl--line-height: calc(2.5 / 2.25);
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-extrabold: 800;
    --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.25rem;
    --radius-md: 0.375rem;
    --radius-lg: 0.5rem;
    --radius-xl: 0.75rem;
    --radius-2xl: 1rem;
    --radius-3xl: 1.5rem;
    --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
    --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
    --ease-in: cubic-bezier(0.4, 0, 1, 1);
    --ease-out: cubic-bezier(0, 0, 0.2, 1);
    --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
    --animate-spin: spin 1s linear infinite;
    --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
    --blur-sm: 8px;
    --aspect-video: 16 / 9;
    --default-transition-duration: 150ms;
    --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
  }
}
@layer base {
  *, ::after, ::before, ::backdrop, ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji');
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
  b, strong {
    font-weight: bolder;
  }
  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol, ul, menu {
    list-style: none;
  }
  img, svg, video, canvas, audio, iframe, embed, object {
    display: block;
    vertical-align: middle;
  }
  img, video {
    max-width: 100%;
    height: auto;
  }
  button, input, select, optgroup, textarea, ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::placeholder {
    opacity: 1;
  }
  @supports (not (-webkit-appearance: -apple-pay-button))  or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button, input:where([type='button'], [type='reset'], [type='submit']), ::file-selector-button {
    appearance: button;
  }
  ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden='until-found'])) {
    display: none !important;
  }
}
@layer utilities {
  .pointer-events-none {
    pointer-events: none;
  }
  .collapse {
    visibility: collapse;
  }
  .visible {
    visibility: visible;
  }
  .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;
  }
  .absolute {
    position: absolute;
  }
  .fixed {
    position: fixed;
  }
  .relative {
    position: relative;
  }
  .static {
    position: static;
  }
  .sticky {
    position: sticky;
  }
  .inset-0 {
    inset: calc(var(--spacing) * 0);
  }
  .-top-1 {
    top: calc(var(--spacing) * -1);
  }
  .-top-7 {
    top: calc(var(--spacing) * -7);
  }
  .-top-16 {
    top: calc(var(--spacing) * -16);
  }
  .top-0 {
    top: calc(var(--spacing) * 0);
  }
  .top-1\.5 {
    top: calc(var(--spacing) * 1.5);
  }
  .top-1\/2 {
    top: calc(1/2 * 100%);
  }
  .top-1\/3 {
    top: calc(1/3 * 100%);
  }
  .top-2 {
    top: calc(var(--spacing) * 2);
  }
  .top-4 {
    top: calc(var(--spacing) * 4);
  }
  .top-\[-4rem\] {
    top: -4rem;
  }
  .top-\[-5rem\] {
    top: -5rem;
  }
  .-right-1 {
    right: calc(var(--spacing) * -1);
  }
  .-right-16 {
    right: calc(var(--spacing) * -16);
  }
  .right-0 {
    right: calc(var(--spacing) * 0);
  }
  .right-1 {
    right: calc(var(--spacing) * 1);
  }
  .right-1\.5 {
    right: calc(var(--spacing) * 1.5);
  }
  .right-1\/3 {
    right: calc(1/3 * 100%);
  }
  .right-1\/4 {
    right: calc(1/4 * 100%);
  }
  .right-2 {
    right: calc(var(--spacing) * 2);
  }
  .right-4 {
    right: calc(var(--spacing) * 4);
  }
  .right-6 {
    right: calc(var(--spacing) * 6);
  }
  .right-\[-4rem\] {
    right: -4rem;
  }
  .-bottom-10 {
    bottom: calc(var(--spacing) * -10);
  }
  .bottom-0 {
    bottom: calc(var(--spacing) * 0);
  }
  .bottom-4 {
    bottom: calc(var(--spacing) * 4);
  }
  .bottom-6 {
    bottom: calc(var(--spacing) * 6);
  }
  .bottom-20 {
    bottom: calc(var(--spacing) * 20);
  }
  .bottom-\[-2rem\] {
    bottom: -2rem;
  }
  .bottom-\[-8rem\] {
    bottom: -8rem;
  }
  .-left-10 {
    left: calc(var(--spacing) * -10);
  }
  .left-0 {
    left: calc(var(--spacing) * 0);
  }
  .left-1\/2 {
    left: calc(1/2 * 100%);
  }
  .left-1\/4 {
    left: calc(1/4 * 100%);
  }
  .left-2 {
    left: calc(var(--spacing) * 2);
  }
  .left-3 {
    left: calc(var(--spacing) * 3);
  }
  .left-4 {
    left: calc(var(--spacing) * 4);
  }
  .left-\[-5rem\] {
    left: -5rem;
  }
  .z-0 {
    z-index: 0;
  }
  .z-10 {
    z-index: 10;
  }
  .z-20 {
    z-index: 20;
  }
  .z-50 {
    z-index: 50;
  }
  .z-\[100\] {
    z-index: 100;
  }
  .col-12 {
    grid-column: 12;
  }
  .col-span-2 {
    grid-column: span 2 / span 2;
  }
  .col-span-3 {
    grid-column: span 3 / span 3;
  }
  .col-span-12 {
    grid-column: span 12 / span 12;
  }
  .container {
    width: 100%;
    @media (width >= 40rem) {
      max-width: 40rem;
    }
    @media (width >= 48rem) {
      max-width: 48rem;
    }
    @media (width >= 64rem) {
      max-width: 64rem;
    }
    @media (width >= 80rem) {
      max-width: 80rem;
    }
    @media (width >= 96rem) {
      max-width: 96rem;
    }
  }
  .mx-1 {
    margin-inline: calc(var(--spacing) * 1);
  }
  .mx-5 {
    margin-inline: calc(var(--spacing) * 5);
  }
  .mx-auto {
    margin-inline: auto;
  }
  .my-1 {
    margin-block: calc(var(--spacing) * 1);
  }
  .my-2 {
    margin-block: calc(var(--spacing) * 2);
  }
  .ms-2 {
    margin-inline-start: calc(var(--spacing) * 2);
  }
  .me-1 {
    margin-inline-end: calc(var(--spacing) * 1);
  }
  .me-2 {
    margin-inline-end: calc(var(--spacing) * 2);
  }
  .mt-0\.5 {
    margin-top: calc(var(--spacing) * 0.5);
  }
  .mt-1 {
    margin-top: calc(var(--spacing) * 1);
  }
  .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-6 {
    margin-top: calc(var(--spacing) * 6);
  }
  .mt-8 {
    margin-top: calc(var(--spacing) * 8);
  }
  .mt-auto {
    margin-top: auto;
  }
  .mr-1\.5 {
    margin-right: calc(var(--spacing) * 1.5);
  }
  .mr-2 {
    margin-right: calc(var(--spacing) * 2);
  }
  .mb-0 {
    margin-bottom: calc(var(--spacing) * 0);
  }
  .mb-0\.5 {
    margin-bottom: calc(var(--spacing) * 0.5);
  }
  .mb-1 {
    margin-bottom: calc(var(--spacing) * 1);
  }
  .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-4 {
    margin-bottom: calc(var(--spacing) * 4);
  }
  .mb-5 {
    margin-bottom: calc(var(--spacing) * 5);
  }
  .mb-6 {
    margin-bottom: calc(var(--spacing) * 6);
  }
  .mb-8 {
    margin-bottom: calc(var(--spacing) * 8);
  }
  .mb-10 {
    margin-bottom: calc(var(--spacing) * 10);
  }
  .-ml-1 {
    margin-left: calc(var(--spacing) * -1);
  }
  .ml-1 {
    margin-left: calc(var(--spacing) * 1);
  }
  .ml-2 {
    margin-left: calc(var(--spacing) * 2);
  }
  .ml-4 {
    margin-left: calc(var(--spacing) * 4);
  }
  .ml-auto {
    margin-left: auto;
  }
  .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;
  }
  .block {
    display: block;
  }
  .contents {
    display: contents;
  }
  .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;
  }
  .aspect-video {
    aspect-ratio: var(--aspect-video);
  }
  .h-1\.5 {
    height: calc(var(--spacing) * 1.5);
  }
  .h-2 {
    height: calc(var(--spacing) * 2);
  }
  .h-3 {
    height: calc(var(--spacing) * 3);
  }
  .h-3\.5 {
    height: calc(var(--spacing) * 3.5);
  }
  .h-4 {
    height: calc(var(--spacing) * 4);
  }
  .h-5 {
    height: calc(var(--spacing) * 5);
  }
  .h-6 {
    height: calc(var(--spacing) * 6);
  }
  .h-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-14 {
    height: calc(var(--spacing) * 14);
  }
  .h-16 {
    height: calc(var(--spacing) * 16);
  }
  .h-20 {
    height: calc(var(--spacing) * 20);
  }
  .h-24 {
    height: calc(var(--spacing) * 24);
  }
  .h-32 {
    height: calc(var(--spacing) * 32);
  }
  .h-48 {
    height: calc(var(--spacing) * 48);
  }
  .h-64 {
    height: calc(var(--spacing) * 64);
  }
  .h-72 {
    height: calc(var(--spacing) * 72);
  }
  .h-96 {
    height: calc(var(--spacing) * 96);
  }
  .h-100 {
    height: calc(var(--spacing) * 100);
  }
  .h-full {
    height: 100%;
  }
  .h-px {
    height: 1px;
  }
  .h-screen {
    height: 100vh;
  }
  .max-h-8 {
    max-height: calc(var(--spacing) * 8);
  }
  .max-h-12 {
    max-height: calc(var(--spacing) * 12);
  }
  .max-h-16 {
    max-height: calc(var(--spacing) * 16);
  }
  .max-h-24 {
    max-height: calc(var(--spacing) * 24);
  }
  .max-h-40 {
    max-height: calc(var(--spacing) * 40);
  }
  .max-h-48 {
    max-height: calc(var(--spacing) * 48);
  }
  .max-h-56 {
    max-height: calc(var(--spacing) * 56);
  }
  .max-h-64 {
    max-height: calc(var(--spacing) * 64);
  }
  .max-h-\[85vh\] {
    max-height: 85vh;
  }
  .max-h-full {
    max-height: 100%;
  }
  .min-h-0 {
    min-height: calc(var(--spacing) * 0);
  }
  .min-h-24 {
    min-height: calc(var(--spacing) * 24);
  }
  .min-h-\[8rem\] {
    min-height: 8rem;
  }
  .min-h-\[100px\] {
    min-height: 100px;
  }
  .min-h-full {
    min-height: 100%;
  }
  .min-h-screen {
    min-height: 100vh;
  }
  .w-1\.5 {
    width: calc(var(--spacing) * 1.5);
  }
  .w-1\/2 {
    width: calc(1/2 * 100%);
  }
  .w-2 {
    width: calc(var(--spacing) * 2);
  }
  .w-3 {
    width: calc(var(--spacing) * 3);
  }
  .w-3\.5 {
    width: calc(var(--spacing) * 3.5);
  }
  .w-3\/4 {
    width: calc(3/4 * 100%);
  }
  .w-4 {
    width: calc(var(--spacing) * 4);
  }
  .w-5 {
    width: calc(var(--spacing) * 5);
  }
  .w-6 {
    width: calc(var(--spacing) * 6);
  }
  .w-7 {
    width: calc(var(--spacing) * 7);
  }
  .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-12 {
    width: calc(var(--spacing) * 12);
  }
  .w-14 {
    width: calc(var(--spacing) * 14);
  }
  .w-16 {
    width: calc(var(--spacing) * 16);
  }
  .w-20 {
    width: calc(var(--spacing) * 20);
  }
  .w-24 {
    width: calc(var(--spacing) * 24);
  }
  .w-28 {
    width: calc(var(--spacing) * 28);
  }
  .w-32 {
    width: calc(var(--spacing) * 32);
  }
  .w-36 {
    width: calc(var(--spacing) * 36);
  }
  .w-44 {
    width: calc(var(--spacing) * 44);
  }
  .w-48 {
    width: calc(var(--spacing) * 48);
  }
  .w-64 {
    width: calc(var(--spacing) * 64);
  }
  .w-96 {
    width: calc(var(--spacing) * 96);
  }
  .w-full {
    width: 100%;
  }
  .max-w-2xl {
    max-width: var(--container-2xl);
  }
  .max-w-\[6rem\] {
    max-width: 6rem;
  }
  .max-w-\[8rem\] {
    max-width: 8rem;
  }
  .max-w-\[16rem\] {
    max-width: 16rem;
  }
  .max-w-\[80\%\] {
    max-width: 80%;
  }
  .max-w-\[120px\] {
    max-width: 120px;
  }
  .max-w-\[375px\] {
    max-width: 375px;
  }
  .max-w-\[768px\] {
    max-width: 768px;
  }
  .max-w-full {
    max-width: 100%;
  }
  .max-w-lg {
    max-width: var(--container-lg);
  }
  .max-w-md {
    max-width: var(--container-md);
  }
  .max-w-xl {
    max-width: var(--container-xl);
  }
  .max-w-xs {
    max-width: var(--container-xs);
  }
  .min-w-0 {
    min-width: calc(var(--spacing) * 0);
  }
  .min-w-40 {
    min-width: calc(var(--spacing) * 40);
  }
  .flex-1 {
    flex: 1;
  }
  .flex-shrink {
    flex-shrink: 1;
  }
  .flex-shrink-0 {
    flex-shrink: 0;
  }
  .shrink-0 {
    flex-shrink: 0;
  }
  .-translate-x-1\/2 {
    --tw-translate-x: calc(calc(1/2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .-translate-y-1\/2 {
    --tw-translate-y: calc(calc(1/2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .rotate-90 {
    rotate: 90deg;
  }
  .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-default {
    cursor: default;
  }
  .cursor-grab {
    cursor: grab;
  }
  .cursor-not-allowed {
    cursor: not-allowed;
  }
  .cursor-pointer {
    cursor: pointer;
  }
  .resize {
    resize: both;
  }
  .resize-none {
    resize: 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-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
  .flex-col {
    flex-direction: column;
  }
  .flex-wrap {
    flex-wrap: wrap;
  }
  .items-baseline {
    align-items: baseline;
  }
  .items-center {
    align-items: center;
  }
  .items-end {
    align-items: flex-end;
  }
  .items-start {
    align-items: flex-start;
  }
  .justify-between {
    justify-content: space-between;
  }
  .justify-center {
    justify-content: center;
  }
  .justify-end {
    justify-content: flex-end;
  }
  .gap-0 {
    gap: calc(var(--spacing) * 0);
  }
  .gap-0\.5 {
    gap: calc(var(--spacing) * 0.5);
  }
  .gap-1 {
    gap: calc(var(--spacing) * 1);
  }
  .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-5 {
    gap: calc(var(--spacing) * 5);
  }
  .gap-6 {
    gap: calc(var(--spacing) * 6);
  }
  .space-y-0\.5 {
    :where(& > :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)));
    }
  }
  .space-y-1 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-1\.5 {
    :where(& > :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)));
    }
  }
  .space-y-2 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-3 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-4 {
    :where(& > :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)));
    }
  }
  .space-y-5 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-6 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-8 {
    :where(& > :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)));
    }
  }
  .divide-y {
    :where(& > :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)));
    }
  }
  .divide-neutral-100 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-neutral-100);
    }
  }
  .self-center {
    align-self: center;
  }
  .truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .overflow-auto {
    overflow: auto;
  }
  .overflow-hidden {
    overflow: hidden;
  }
  .overflow-x-auto {
    overflow-x: auto;
  }
  .overflow-x-hidden {
    overflow-x: hidden;
  }
  .overflow-y-auto {
    overflow-y: auto;
  }
  .rounded {
    border-radius: 0.25rem;
  }
  .rounded-2xl {
    border-radius: var(--radius-2xl);
  }
  .rounded-3xl {
    border-radius: var(--radius-3xl);
  }
  .rounded-\[var\(--skin-ed-radius\)\] {
    border-radius: var(--skin-ed-radius);
  }
  .rounded-full {
    border-radius: calc(infinity * 1px);
  }
  .rounded-lg {
    border-radius: var(--radius-lg);
  }
  .rounded-md {
    border-radius: var(--radius-md);
  }
  .rounded-xl {
    border-radius: var(--radius-xl);
  }
  .rounded-t-xl {
    border-top-left-radius: var(--radius-xl);
    border-top-right-radius: var(--radius-xl);
  }
  .rounded-l-none {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }
  .rounded-r-none {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }
  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .border-0 {
    border-style: var(--tw-border-style);
    border-width: 0px;
  }
  .border-2 {
    border-style: var(--tw-border-style);
    border-width: 2px;
  }
  .border-t {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
  }
  .border-r {
    border-right-style: var(--tw-border-style);
    border-right-width: 1px;
  }
  .border-r-0 {
    border-right-style: var(--tw-border-style);
    border-right-width: 0px;
  }
  .border-b {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }
  .border-l {
    border-left-style: var(--tw-border-style);
    border-left-width: 1px;
  }
  .border-dashed {
    --tw-border-style: dashed;
    border-style: dashed;
  }
  .border-\[var\(--color-border\)\] {
    border-color: var(--color-border);
  }
  .border-\[var\(--neutral-100\)\] {
    border-color: var(--neutral-100);
  }
  .border-\[var\(--neutral-200\)\] {
    border-color: var(--neutral-200);
  }
  .border-\[var\(--neutral-300\)\] {
    border-color: var(--neutral-300);
  }
  .border-amber-200 {
    border-color: var(--color-amber-200);
  }
  .border-amber-300\/30 {
    border-color: color-mix(in srgb, oklch(87.9% 0.169 91.605) 30%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-amber-300) 30%, transparent);
    }
  }
  .border-blue-200 {
    border-color: var(--color-blue-200);
  }
  .border-cyan-200 {
    border-color: var(--color-cyan-200);
  }
  .border-cyan-400\/20 {
    border-color: color-mix(in srgb, oklch(78.9% 0.154 211.53) 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-cyan-400) 20%, transparent);
    }
  }
  .border-green-200 {
    border-color: var(--color-green-200);
  }
  .border-lime-400 {
    border-color: var(--color-lime-400);
  }
  .border-neutral-100 {
    border-color: var(--color-neutral-100);
  }
  .border-neutral-200 {
    border-color: var(--color-neutral-200);
  }
  .border-red-200 {
    border-color: var(--color-red-200);
  }
  .border-red-300 {
    border-color: var(--color-red-300);
  }
  .border-red-500 {
    border-color: var(--color-red-500);
  }
  .border-slate-200 {
    border-color: var(--color-slate-200);
  }
  .border-slate-300 {
    border-color: var(--color-slate-300);
  }
  .border-slate-900 {
    border-color: var(--color-slate-900);
  }
  .border-transparent {
    border-color: transparent;
  }
  .border-violet-200 {
    border-color: var(--color-violet-200);
  }
  .border-violet-300\/70 {
    border-color: color-mix(in srgb, oklch(81.1% 0.111 293.571) 70%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-violet-300) 70%, transparent);
    }
  }
  .border-white {
    border-color: var(--color-white);
  }
  .border-white\/10 {
    border-color: color-mix(in srgb, #fff 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-white) 10%, transparent);
    }
  }
  .border-white\/15 {
    border-color: color-mix(in srgb, #fff 15%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-white) 15%, transparent);
    }
  }
  .border-white\/20 {
    border-color: color-mix(in srgb, #fff 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-white) 20%, transparent);
    }
  }
  .border-white\/30 {
    border-color: color-mix(in srgb, #fff 30%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-white) 30%, transparent);
    }
  }
  .bg-\[color-mix\(in_srgb\,var\(--color-surface\,white\)_90\%\,transparent\)\] {
    background-color: var(--color-surface,white);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in srgb,var(--color-surface,white) 90%,transparent);
    }
  }
  .bg-\[var\(--bg-app\,\#f5f5f5\)\] {
    background-color: var(--bg-app,#f5f5f5);
  }
  .bg-\[var\(--color-primary\,var\(--primary-500\)\)\] {
    background-color: var(--color-primary,var(--primary-500));
  }
  .bg-\[var\(--neutral-50\)\] {
    background-color: var(--neutral-50);
  }
  .bg-\[var\(--neutral-50\,\#f9fafb\)\] {
    background-color: var(--neutral-50,#f9fafb);
  }
  .bg-\[var\(--neutral-100\)\] {
    background-color: var(--neutral-100);
  }
  .bg-\[var\(--neutral-100\,\#f3f4f6\)\] {
    background-color: var(--neutral-100,#f3f4f6);
  }
  .bg-\[var\(--neutral-200\)\] {
    background-color: var(--neutral-200);
  }
  .bg-\[var\(--neutral-300\)\] {
    background-color: var(--neutral-300);
  }
  .bg-\[var\(--primary-500\)\] {
    background-color: var(--primary-500);
  }
  .bg-\[var\(--secondary\)\] {
    background-color: var(--secondary);
  }
  .bg-\[var\(--secondary\)\]\/10 {
    background-color: var(--secondary);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--secondary) 10%, transparent);
    }
  }
  .bg-amber-50 {
    background-color: var(--color-amber-50);
  }
  .bg-amber-50\/60 {
    background-color: color-mix(in srgb, oklch(98.7% 0.022 95.277) 60%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-amber-50) 60%, transparent);
    }
  }
  .bg-amber-100 {
    background-color: var(--color-amber-100);
  }
  .bg-amber-200 {
    background-color: var(--color-amber-200);
  }
  .bg-amber-200\/60 {
    background-color: color-mix(in srgb, oklch(92.4% 0.12 95.746) 60%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-amber-200) 60%, transparent);
    }
  }
  .bg-amber-400 {
    background-color: var(--color-amber-400);
  }
  .bg-amber-400\/30 {
    background-color: color-mix(in srgb, oklch(82.8% 0.189 84.429) 30%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-amber-400) 30%, transparent);
    }
  }
  .bg-black\/30 {
    background-color: color-mix(in srgb, #000 30%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-black) 30%, transparent);
    }
  }
  .bg-black\/40 {
    background-color: color-mix(in srgb, #000 40%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-black) 40%, transparent);
    }
  }
  .bg-black\/50 {
    background-color: color-mix(in srgb, #000 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-black) 50%, transparent);
    }
  }
  .bg-blue-50 {
    background-color: var(--color-blue-50);
  }
  .bg-blue-100 {
    background-color: var(--color-blue-100);
  }
  .bg-cyan-50 {
    background-color: var(--color-cyan-50);
  }
  .bg-cyan-400 {
    background-color: var(--color-cyan-400);
  }
  .bg-cyan-400\/10 {
    background-color: color-mix(in srgb, oklch(78.9% 0.154 211.53) 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-cyan-400) 10%, transparent);
    }
  }
  .bg-cyan-500 {
    background-color: var(--color-cyan-500);
  }
  .bg-emerald-100 {
    background-color: var(--color-emerald-100);
  }
  .bg-green-50 {
    background-color: var(--color-green-50);
  }
  .bg-green-100 {
    background-color: var(--color-green-100);
  }
  .bg-green-500 {
    background-color: var(--color-green-500);
  }
  .bg-lime-400 {
    background-color: var(--color-lime-400);
  }
  .bg-neutral-50 {
    background-color: var(--color-neutral-50);
  }
  .bg-neutral-50\/60 {
    background-color: color-mix(in srgb, oklch(98.5% 0 0) 60%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-neutral-50) 60%, transparent);
    }
  }
  .bg-neutral-100 {
    background-color: var(--color-neutral-100);
  }
  .bg-neutral-200 {
    background-color: var(--color-neutral-200);
  }
  .bg-neutral-800 {
    background-color: var(--color-neutral-800);
  }
  .bg-neutral-900 {
    background-color: var(--color-neutral-900);
  }
  .bg-pink-100 {
    background-color: var(--color-pink-100);
  }
  .bg-purple-100 {
    background-color: var(--color-purple-100);
  }
  .bg-red-50 {
    background-color: var(--color-red-50);
  }
  .bg-red-100 {
    background-color: var(--color-red-100);
  }
  .bg-red-500 {
    background-color: var(--color-red-500);
  }
  .bg-red-500\/20 {
    background-color: color-mix(in srgb, oklch(63.7% 0.237 25.331) 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-red-500) 20%, transparent);
    }
  }
  .bg-slate-50 {
    background-color: var(--color-slate-50);
  }
  .bg-slate-50\/80 {
    background-color: color-mix(in srgb, oklch(98.4% 0.003 247.858) 80%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-slate-50) 80%, transparent);
    }
  }
  .bg-slate-100 {
    background-color: var(--color-slate-100);
  }
  .bg-slate-200 {
    background-color: var(--color-slate-200);
  }
  .bg-slate-900 {
    background-color: var(--color-slate-900);
  }
  .bg-slate-900\/60 {
    background-color: color-mix(in srgb, oklch(20.8% 0.042 265.755) 60%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-slate-900) 60%, transparent);
    }
  }
  .bg-slate-950 {
    background-color: var(--color-slate-950);
  }
  .bg-slate-950\/60 {
    background-color: color-mix(in srgb, oklch(12.9% 0.042 264.695) 60%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-slate-950) 60%, transparent);
    }
  }
  .bg-slate-950\/70 {
    background-color: color-mix(in srgb, oklch(12.9% 0.042 264.695) 70%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-slate-950) 70%, transparent);
    }
  }
  .bg-slate-950\/80 {
    background-color: color-mix(in srgb, oklch(12.9% 0.042 264.695) 80%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-slate-950) 80%, transparent);
    }
  }
  .bg-transparent {
    background-color: transparent;
  }
  .bg-violet-50 {
    background-color: var(--color-violet-50);
  }
  .bg-violet-100 {
    background-color: var(--color-violet-100);
  }
  .bg-violet-500 {
    background-color: var(--color-violet-500);
  }
  .bg-violet-500\/10 {
    background-color: color-mix(in srgb, oklch(60.6% 0.25 292.717) 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-violet-500) 10%, transparent);
    }
  }
  .bg-violet-500\/20 {
    background-color: color-mix(in srgb, oklch(60.6% 0.25 292.717) 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-violet-500) 20%, transparent);
    }
  }
  .bg-white {
    background-color: var(--color-white);
  }
  .bg-white\/5 {
    background-color: color-mix(in srgb, #fff 5%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-white) 5%, transparent);
    }
  }
  .bg-white\/10 {
    background-color: color-mix(in srgb, #fff 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-white) 10%, transparent);
    }
  }
  .bg-white\/15 {
    background-color: color-mix(in srgb, #fff 15%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-white) 15%, transparent);
    }
  }
  .bg-white\/20 {
    background-color: color-mix(in srgb, #fff 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-white) 20%, transparent);
    }
  }
  .bg-white\/90 {
    background-color: color-mix(in srgb, #fff 90%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-white) 90%, transparent);
    }
  }
  .bg-gradient-to-br {
    --tw-gradient-position: to bottom right in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }
  .bg-gradient-to-r {
    --tw-gradient-position: to right in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }
  .from-amber-400 {
    --tw-gradient-from: var(--color-amber-400);
    --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));
  }
  .from-indigo-500 {
    --tw-gradient-from: var(--color-indigo-500);
    --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));
  }
  .from-violet-100 {
    --tw-gradient-from: var(--color-violet-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));
  }
  .from-violet-500 {
    --tw-gradient-from: var(--color-violet-500);
    --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));
  }
  .from-violet-500\/20 {
    --tw-gradient-from: color-mix(in srgb, oklch(60.6% 0.25 292.717) 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-gradient-from: color-mix(in oklab, var(--color-violet-500) 20%, transparent);
    }
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .via-cyan-50 {
    --tw-gradient-via: var(--color-cyan-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);
  }
  .via-cyan-400\/10 {
    --tw-gradient-via: color-mix(in srgb, oklch(78.9% 0.154 211.53) 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-gradient-via: color-mix(in oklab, var(--color-cyan-400) 10%, transparent);
    }
    --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-cyan-400 {
    --tw-gradient-to: var(--color-cyan-400);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-lime-100 {
    --tw-gradient-to: var(--color-lime-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));
  }
  .to-lime-400\/20 {
    --tw-gradient-to: color-mix(in srgb, oklch(84.1% 0.238 128.85) 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-gradient-to: color-mix(in oklab, var(--color-lime-400) 20%, transparent);
    }
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-orange-500 {
    --tw-gradient-to: var(--color-orange-500);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .bg-cover {
    background-size: cover;
  }
  .bg-center {
    background-position: center;
  }
  .fill-none {
    fill: none;
  }
  .stroke-current {
    stroke: currentcolor;
  }
  .object-contain {
    object-fit: contain;
  }
  .object-cover {
    object-fit: cover;
  }
  .p-0 {
    padding: calc(var(--spacing) * 0);
  }
  .p-0\.5 {
    padding: calc(var(--spacing) * 0.5);
  }
  .p-1 {
    padding: calc(var(--spacing) * 1);
  }
  .p-1\.5 {
    padding: calc(var(--spacing) * 1.5);
  }
  .p-2 {
    padding: calc(var(--spacing) * 2);
  }
  .p-2\.5 {
    padding: calc(var(--spacing) * 2.5);
  }
  .p-3 {
    padding: calc(var(--spacing) * 3);
  }
  .p-4 {
    padding: calc(var(--spacing) * 4);
  }
  .p-5 {
    padding: calc(var(--spacing) * 5);
  }
  .p-6 {
    padding: calc(var(--spacing) * 6);
  }
  .p-8 {
    padding: calc(var(--spacing) * 8);
  }
  .p-10 {
    padding: calc(var(--spacing) * 10);
  }
  .p-12 {
    padding: calc(var(--spacing) * 12);
  }
  .px-0\.5 {
    padding-inline: calc(var(--spacing) * 0.5);
  }
  .px-1 {
    padding-inline: calc(var(--spacing) * 1);
  }
  .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);
  }
  .py-0\.5 {
    padding-block: calc(var(--spacing) * 0.5);
  }
  .py-1 {
    padding-block: calc(var(--spacing) * 1);
  }
  .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-3\.5 {
    padding-block: calc(var(--spacing) * 3.5);
  }
  .py-4 {
    padding-block: calc(var(--spacing) * 4);
  }
  .py-5 {
    padding-block: calc(var(--spacing) * 5);
  }
  .py-6 {
    padding-block: calc(var(--spacing) * 6);
  }
  .py-8 {
    padding-block: calc(var(--spacing) * 8);
  }
  .py-10 {
    padding-block: calc(var(--spacing) * 10);
  }
  .py-12 {
    padding-block: calc(var(--spacing) * 12);
  }
  .py-16 {
    padding-block: calc(var(--spacing) * 16);
  }
  .py-20 {
    padding-block: calc(var(--spacing) * 20);
  }
  .pt-1 {
    padding-top: calc(var(--spacing) * 1);
  }
  .pt-2 {
    padding-top: calc(var(--spacing) * 2);
  }
  .pt-3 {
    padding-top: calc(var(--spacing) * 3);
  }
  .pt-4 {
    padding-top: calc(var(--spacing) * 4);
  }
  .pt-5 {
    padding-top: calc(var(--spacing) * 5);
  }
  .pt-6 {
    padding-top: calc(var(--spacing) * 6);
  }
  .pt-10 {
    padding-top: calc(var(--spacing) * 10);
  }
  .pr-10 {
    padding-right: calc(var(--spacing) * 10);
  }
  .pb-1 {
    padding-bottom: calc(var(--spacing) * 1);
  }
  .pb-2 {
    padding-bottom: calc(var(--spacing) * 2);
  }
  .pb-3 {
    padding-bottom: calc(var(--spacing) * 3);
  }
  .pb-4 {
    padding-bottom: calc(var(--spacing) * 4);
  }
  .pb-5 {
    padding-bottom: calc(var(--spacing) * 5);
  }
  .pb-6 {
    padding-bottom: calc(var(--spacing) * 6);
  }
  .pb-12 {
    padding-bottom: calc(var(--spacing) * 12);
  }
  .pl-10 {
    padding-left: calc(var(--spacing) * 10);
  }
  .pl-12 {
    padding-left: calc(var(--spacing) * 12);
  }
  .text-center {
    text-align: center;
  }
  .text-end {
    text-align: end;
  }
  .text-left {
    text-align: left;
  }
  .text-right {
    text-align: right;
  }
  .font-mono {
    font-family: var(--font-mono);
  }
  .text-2xl {
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--line-height));
  }
  .text-3xl {
    font-size: var(--text-3xl);
    line-height: var(--tw-leading, var(--text-3xl--line-height));
  }
  .text-4xl {
    font-size: var(--text-4xl);
    line-height: var(--tw-leading, var(--text-4xl--line-height));
  }
  .text-base {
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
  }
  .text-lg {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
  }
  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }
  .text-xl {
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
  }
  .text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }
  .text-\[0\.6rem\] {
    font-size: 0.6rem;
  }
  .text-\[0\.7rem\] {
    font-size: 0.7rem;
  }
  .text-\[0\.8em\] {
    font-size: 0.8em;
  }
  .text-\[0\.65rem\] {
    font-size: 0.65rem;
  }
  .text-\[0\.75em\] {
    font-size: 0.75em;
  }
  .text-\[0\.625rem\] {
    font-size: 0.625rem;
  }
  .text-\[7px\] {
    font-size: 7px;
  }
  .text-\[8px\] {
    font-size: 8px;
  }
  .text-\[9px\] {
    font-size: 9px;
  }
  .text-\[10px\] {
    font-size: 10px;
  }
  .text-\[11px\] {
    font-size: 11px;
  }
  .text-\[12px\] {
    font-size: 12px;
  }
  .leading-4 {
    --tw-leading: calc(var(--spacing) * 4);
    line-height: calc(var(--spacing) * 4);
  }
  .leading-5 {
    --tw-leading: calc(var(--spacing) * 5);
    line-height: calc(var(--spacing) * 5);
  }
  .leading-6 {
    --tw-leading: calc(var(--spacing) * 6);
    line-height: calc(var(--spacing) * 6);
  }
  .leading-7 {
    --tw-leading: calc(var(--spacing) * 7);
    line-height: calc(var(--spacing) * 7);
  }
  .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-extrabold {
    --tw-font-weight: var(--font-weight-extrabold);
    font-weight: var(--font-weight-extrabold);
  }
  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }
  .font-normal {
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
  }
  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }
  .tracking-\[0\.2em\] {
    --tw-tracking: 0.2em;
    letter-spacing: 0.2em;
  }
  .tracking-tight {
    --tw-tracking: var(--tracking-tight);
    letter-spacing: var(--tracking-tight);
  }
  .tracking-wide {
    --tw-tracking: var(--tracking-wide);
    letter-spacing: var(--tracking-wide);
  }
  .tracking-wider {
    --tw-tracking: var(--tracking-wider);
    letter-spacing: var(--tracking-wider);
  }
  .break-words {
    overflow-wrap: break-word;
  }
  .whitespace-nowrap {
    white-space: nowrap;
  }
  .whitespace-pre-wrap {
    white-space: pre-wrap;
  }
  .text-\[var\(--color-error\)\] {
    color: var(--color-error);
  }
  .text-\[var\(--color-text\)\] {
    color: var(--color-text);
  }
  .text-\[var\(--neutral-300\)\] {
    color: var(--neutral-300);
  }
  .text-\[var\(--neutral-400\)\] {
    color: var(--neutral-400);
  }
  .text-\[var\(--neutral-500\)\] {
    color: var(--neutral-500);
  }
  .text-\[var\(--neutral-600\)\] {
    color: var(--neutral-600);
  }
  .text-\[var\(--neutral-600\,\#4b5563\)\] {
    color: var(--neutral-600,#4b5563);
  }
  .text-\[var\(--neutral-700\)\] {
    color: var(--neutral-700);
  }
  .text-\[var\(--neutral-800\)\] {
    color: var(--neutral-800);
  }
  .text-\[var\(--neutral-900\)\] {
    color: var(--neutral-900);
  }
  .text-\[var\(--primary-500\)\] {
    color: var(--primary-500);
  }
  .text-\[var\(--secondary\)\] {
    color: var(--secondary);
  }
  .text-amber-100 {
    color: var(--color-amber-100);
  }
  .text-amber-400 {
    color: var(--color-amber-400);
  }
  .text-amber-500 {
    color: var(--color-amber-500);
  }
  .text-amber-600 {
    color: var(--color-amber-600);
  }
  .text-amber-700 {
    color: var(--color-amber-700);
  }
  .text-amber-800 {
    color: var(--color-amber-800);
  }
  .text-blue-500 {
    color: var(--color-blue-500);
  }
  .text-blue-700 {
    color: var(--color-blue-700);
  }
  .text-cyan-100 {
    color: var(--color-cyan-100);
  }
  .text-cyan-300 {
    color: var(--color-cyan-300);
  }
  .text-cyan-500 {
    color: var(--color-cyan-500);
  }
  .text-cyan-600 {
    color: var(--color-cyan-600);
  }
  .text-cyan-700 {
    color: var(--color-cyan-700);
  }
  .text-cyan-900 {
    color: var(--color-cyan-900);
  }
  .text-emerald-500 {
    color: var(--color-emerald-500);
  }
  .text-emerald-600 {
    color: var(--color-emerald-600);
  }
  .text-emerald-700 {
    color: var(--color-emerald-700);
  }
  .text-fuchsia-500 {
    color: var(--color-fuchsia-500);
  }
  .text-green-600 {
    color: var(--color-green-600);
  }
  .text-green-700 {
    color: var(--color-green-700);
  }
  .text-indigo-400 {
    color: var(--color-indigo-400);
  }
  .text-indigo-500 {
    color: var(--color-indigo-500);
  }
  .text-lime-500 {
    color: var(--color-lime-500);
  }
  .text-neutral-200 {
    color: var(--color-neutral-200);
  }
  .text-neutral-300 {
    color: var(--color-neutral-300);
  }
  .text-neutral-400 {
    color: var(--color-neutral-400);
  }
  .text-neutral-500 {
    color: var(--color-neutral-500);
  }
  .text-neutral-600 {
    color: var(--color-neutral-600);
  }
  .text-neutral-700 {
    color: var(--color-neutral-700);
  }
  .text-neutral-900 {
    color: var(--color-neutral-900);
  }
  .text-orange-500 {
    color: var(--color-orange-500);
  }
  .text-orange-600 {
    color: var(--color-orange-600);
  }
  .text-pink-500 {
    color: var(--color-pink-500);
  }
  .text-pink-600 {
    color: var(--color-pink-600);
  }
  .text-purple-500 {
    color: var(--color-purple-500);
  }
  .text-purple-600 {
    color: var(--color-purple-600);
  }
  .text-purple-700 {
    color: var(--color-purple-700);
  }
  .text-red-200 {
    color: var(--color-red-200);
  }
  .text-red-500 {
    color: var(--color-red-500);
  }
  .text-red-600 {
    color: var(--color-red-600);
  }
  .text-red-700 {
    color: var(--color-red-700);
  }
  .text-rose-500 {
    color: var(--color-rose-500);
  }
  .text-sky-500 {
    color: var(--color-sky-500);
  }
  .text-slate-100 {
    color: var(--color-slate-100);
  }
  .text-slate-200 {
    color: var(--color-slate-200);
  }
  .text-slate-300 {
    color: var(--color-slate-300);
  }
  .text-slate-400 {
    color: var(--color-slate-400);
  }
  .text-slate-500 {
    color: var(--color-slate-500);
  }
  .text-slate-600 {
    color: var(--color-slate-600);
  }
  .text-slate-700 {
    color: var(--color-slate-700);
  }
  .text-slate-900 {
    color: var(--color-slate-900);
  }
  .text-slate-950 {
    color: var(--color-slate-950);
  }
  .text-teal-500 {
    color: var(--color-teal-500);
  }
  .text-violet-500 {
    color: var(--color-violet-500);
  }
  .text-violet-600 {
    color: var(--color-violet-600);
  }
  .text-violet-700 {
    color: var(--color-violet-700);
  }
  .text-violet-900 {
    color: var(--color-violet-900);
  }
  .text-white {
    color: var(--color-white);
  }
  .text-white\/50 {
    color: color-mix(in srgb, #fff 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-white) 50%, transparent);
    }
  }
  .text-white\/60 {
    color: color-mix(in srgb, #fff 60%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-white) 60%, transparent);
    }
  }
  .text-white\/70 {
    color: color-mix(in srgb, #fff 70%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-white) 70%, transparent);
    }
  }
  .text-white\/80 {
    color: color-mix(in srgb, #fff 80%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-white) 80%, transparent);
    }
  }
  .text-white\/90 {
    color: color-mix(in srgb, #fff 90%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-white) 90%, transparent);
    }
  }
  .text-yellow-500 {
    color: var(--color-yellow-500);
  }
  .text-yellow-600 {
    color: var(--color-yellow-600);
  }
  .lowercase {
    text-transform: lowercase;
  }
  .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;
  }
  .underline {
    text-decoration-line: underline;
  }
  .accent-\[var\(--color-primary\,\#6366f1\)\] {
    accent-color: var(--color-primary,#6366f1);
  }
  .opacity-0 {
    opacity: 0%;
  }
  .opacity-25 {
    opacity: 25%;
  }
  .opacity-40 {
    opacity: 40%;
  }
  .opacity-60 {
    opacity: 60%;
  }
  .opacity-70 {
    opacity: 70%;
  }
  .opacity-75 {
    opacity: 75%;
  }
  .shadow {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-2xl {
    --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / 0.25));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-lg {
    --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-md {
    --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-sm {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-xl {
    --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .ring {
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .ring-1 {
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .ring-2 {
    --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);
  }
  .shadow-violet-950\/40 {
    --tw-shadow-color: color-mix(in srgb, oklch(28.3% 0.141 291.089) 40%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-violet-950) 40%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }
  .ring-\[color-mix\(in_srgb\,var\(--color-primary\,var\(--primary-400\)\)_60\%\,transparent\)\] {
    --tw-ring-color: var(--color-primary,var(--primary-400));
    @supports (color: color-mix(in lab, red, red)) {
      --tw-ring-color: color-mix(in srgb,var(--color-primary,var(--primary-400)) 60%,transparent);
    }
  }
  .ring-\[var\(--neutral-200\)\] {
    --tw-ring-color: var(--neutral-200);
  }
  .ring-cyan-300 {
    --tw-ring-color: var(--color-cyan-300);
  }
  .ring-indigo-400 {
    --tw-ring-color: var(--color-indigo-400);
  }
  .ring-red-400 {
    --tw-ring-color: var(--color-red-400);
  }
  .ring-violet-200 {
    --tw-ring-color: var(--color-violet-200);
  }
  .ring-violet-300\/60 {
    --tw-ring-color: color-mix(in srgb, oklch(81.1% 0.111 293.571) 60%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-ring-color: color-mix(in oklab, var(--color-violet-300) 60%, transparent);
    }
  }
  .ring-violet-400\/30 {
    --tw-ring-color: color-mix(in srgb, oklch(70.2% 0.183 293.541) 30%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-ring-color: color-mix(in oklab, var(--color-violet-400) 30%, transparent);
    }
  }
  .ring-violet-400\/60 {
    --tw-ring-color: color-mix(in srgb, oklch(70.2% 0.183 293.541) 60%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-ring-color: color-mix(in oklab, var(--color-violet-400) 60%, transparent);
    }
  }
  .ring-white\/10 {
    --tw-ring-color: color-mix(in srgb, #fff 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-ring-color: color-mix(in oklab, var(--color-white) 10%, transparent);
    }
  }
  .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-sm {
    --tw-backdrop-blur: blur(var(--blur-sm));
    -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-filter {
    -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, visibility, 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-all {
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-colors {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-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-shadow {
    transition-property: box-shadow;
    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-200 {
    --tw-duration: 200ms;
    transition-duration: 200ms;
  }
  .ease-in {
    --tw-ease: var(--ease-in);
    transition-timing-function: var(--ease-in);
  }
  .ease-in-out {
    --tw-ease: var(--ease-in-out);
    transition-timing-function: var(--ease-in-out);
  }
  .ease-out {
    --tw-ease: var(--ease-out);
    transition-timing-function: var(--ease-out);
  }
  .outline-none {
    --tw-outline-style: none;
    outline-style: none;
  }
  .select-none {
    -webkit-user-select: none;
    user-select: none;
  }
  .\[program\:chaton-worker\] {
    program: chaton-worker;
  }
  .group-open\:rotate-180 {
    &:is(:where(.group):is([open], :popover-open, :open) *) {
      rotate: 180deg;
    }
  }
  .group-hover\:flex {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        display: flex;
      }
    }
  }
  .group-hover\:scale-110 {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        --tw-scale-x: 110%;
        --tw-scale-y: 110%;
        --tw-scale-z: 110%;
        scale: var(--tw-scale-x) var(--tw-scale-y);
      }
    }
  }
  .group-hover\:opacity-100 {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        opacity: 100%;
      }
    }
  }
  .group-hover\/ch\:opacity-100 {
    &:is(:where(.group\/ch):hover *) {
      @media (hover: hover) {
        opacity: 100%;
      }
    }
  }
  .group-hover\/name\:opacity-100 {
    &:is(:where(.group\/name):hover *) {
      @media (hover: hover) {
        opacity: 100%;
      }
    }
  }
  .peer-checked\:bg-\[color-mix\(in_srgb\,var\(--color-primary\,var\(--primary-500\)\)_8\%\,var\(--color-surface\,white\)\)\] {
    &:is(:where(.peer):checked ~ *) {
      background-color: var(--color-primary,var(--primary-500));
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in srgb,var(--color-primary,var(--primary-500)) 8%,var(--color-surface,white));
      }
    }
  }
  .peer-checked\:bg-\[var\(--primary-500\)\] {
    &:is(:where(.peer):checked ~ *) {
      background-color: var(--primary-500);
    }
  }
  .peer-checked\:text-white {
    &:is(:where(.peer):checked ~ *) {
      color: var(--color-white);
    }
  }
  .after\:absolute {
    &::after {
      content: var(--tw-content);
      position: absolute;
    }
  }
  .after\:top-\[2px\] {
    &::after {
      content: var(--tw-content);
      top: 2px;
    }
  }
  .after\:left-\[2px\] {
    &::after {
      content: var(--tw-content);
      left: 2px;
    }
  }
  .after\:h-5 {
    &::after {
      content: var(--tw-content);
      height: calc(var(--spacing) * 5);
    }
  }
  .after\:w-5 {
    &::after {
      content: var(--tw-content);
      width: calc(var(--spacing) * 5);
    }
  }
  .after\:rounded-full {
    &::after {
      content: var(--tw-content);
      border-radius: calc(infinity * 1px);
    }
  }
  .after\:bg-white {
    &::after {
      content: var(--tw-content);
      background-color: var(--color-white);
    }
  }
  .after\:transition-all {
    &::after {
      content: var(--tw-content);
      transition-property: all;
      transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
      transition-duration: var(--tw-duration, var(--default-transition-duration));
    }
  }
  .peer-checked\:after\:translate-x-full {
    &:is(:where(.peer):checked ~ *) {
      &::after {
        content: var(--tw-content);
        --tw-translate-x: 100%;
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }
  }
  .last\:border-0 {
    &:last-child {
      border-style: var(--tw-border-style);
      border-width: 0px;
    }
  }
  .last\:border-r-0 {
    &:last-child {
      border-right-style: var(--tw-border-style);
      border-right-width: 0px;
    }
  }
  .hover\:scale-110 {
    &:hover {
      @media (hover: hover) {
        --tw-scale-x: 110%;
        --tw-scale-y: 110%;
        --tw-scale-z: 110%;
        scale: var(--tw-scale-x) var(--tw-scale-y);
      }
    }
  }
  .hover\:border-\[var\(--color-primary\)\] {
    &:hover {
      @media (hover: hover) {
        border-color: var(--color-primary);
      }
    }
  }
  .hover\:border-\[var\(--color-primary\,var\(--primary-300\)\)\] {
    &:hover {
      @media (hover: hover) {
        border-color: var(--color-primary,var(--primary-300));
      }
    }
  }
  .hover\:border-\[var\(--primary-300\)\] {
    &:hover {
      @media (hover: hover) {
        border-color: var(--primary-300);
      }
    }
  }
  .hover\:border-\[var\(--secondary\)\]\/30 {
    &:hover {
      @media (hover: hover) {
        border-color: var(--secondary);
        @supports (color: color-mix(in lab, red, red)) {
          border-color: color-mix(in oklab, var(--secondary) 30%, transparent);
        }
      }
    }
  }
  .hover\:\!bg-red-50 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-red-50) !important;
      }
    }
  }
  .hover\:bg-\[var\(--color-surface-hover\)\] {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-surface-hover);
      }
    }
  }
  .hover\:bg-\[var\(--neutral-50\)\] {
    &:hover {
      @media (hover: hover) {
        background-color: var(--neutral-50);
      }
    }
  }
  .hover\:bg-\[var\(--neutral-100\)\] {
    &:hover {
      @media (hover: hover) {
        background-color: var(--neutral-100);
      }
    }
  }
  .hover\:bg-\[var\(--neutral-200\)\] {
    &:hover {
      @media (hover: hover) {
        background-color: var(--neutral-200);
      }
    }
  }
  .hover\:bg-amber-300 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-amber-300);
      }
    }
  }
  .hover\:bg-black\/40 {
    &:hover {
      @media (hover: hover) {
        background-color: color-mix(in srgb, #000 40%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-black) 40%, transparent);
        }
      }
    }
  }
  .hover\:bg-black\/60 {
    &:hover {
      @media (hover: hover) {
        background-color: color-mix(in srgb, #000 60%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-black) 60%, transparent);
        }
      }
    }
  }
  .hover\:bg-cyan-300 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-cyan-300);
      }
    }
  }
  .hover\:bg-green-50 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-green-50);
      }
    }
  }
  .hover\:bg-neutral-50 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-neutral-50);
      }
    }
  }
  .hover\:bg-neutral-50\/60 {
    &:hover {
      @media (hover: hover) {
        background-color: color-mix(in srgb, oklch(98.5% 0 0) 60%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-neutral-50) 60%, transparent);
        }
      }
    }
  }
  .hover\:bg-neutral-700 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-neutral-700);
      }
    }
  }
  .hover\:bg-red-50 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-red-50);
      }
    }
  }
  .hover\:bg-red-600 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-red-600);
      }
    }
  }
  .hover\:bg-slate-100 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-slate-100);
      }
    }
  }
  .hover\:bg-slate-200 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-slate-200);
      }
    }
  }
  .hover\:bg-violet-400 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-violet-400);
      }
    }
  }
  .hover\:bg-white\/5 {
    &:hover {
      @media (hover: hover) {
        background-color: color-mix(in srgb, #fff 5%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-white) 5%, transparent);
        }
      }
    }
  }
  .hover\:bg-white\/10 {
    &:hover {
      @media (hover: hover) {
        background-color: color-mix(in srgb, #fff 10%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-white) 10%, transparent);
        }
      }
    }
  }
  .hover\:bg-white\/15 {
    &:hover {
      @media (hover: hover) {
        background-color: color-mix(in srgb, #fff 15%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-white) 15%, transparent);
        }
      }
    }
  }
  .hover\:bg-white\/20 {
    &:hover {
      @media (hover: hover) {
        background-color: color-mix(in srgb, #fff 20%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-white) 20%, transparent);
        }
      }
    }
  }
  .hover\:bg-white\/25 {
    &:hover {
      @media (hover: hover) {
        background-color: color-mix(in srgb, #fff 25%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-white) 25%, transparent);
        }
      }
    }
  }
  .hover\:\!text-red-500 {
    &:hover {
      @media (hover: hover) {
        color: var(--color-red-500) !important;
      }
    }
  }
  .hover\:text-\[var\(--color-error\)\] {
    &:hover {
      @media (hover: hover) {
        color: var(--color-error);
      }
    }
  }
  .hover\:text-\[var\(--neutral-600\)\] {
    &:hover {
      @media (hover: hover) {
        color: var(--neutral-600);
      }
    }
  }
  .hover\:text-\[var\(--neutral-700\)\] {
    &:hover {
      @media (hover: hover) {
        color: var(--neutral-700);
      }
    }
  }
  .hover\:text-\[var\(--text\)\] {
    &:hover {
      @media (hover: hover) {
        color: var(--text);
      }
    }
  }
  .hover\:text-orange-700 {
    &:hover {
      @media (hover: hover) {
        color: var(--color-orange-700);
      }
    }
  }
  .hover\:text-red-500 {
    &:hover {
      @media (hover: hover) {
        color: var(--color-red-500);
      }
    }
  }
  .hover\:text-red-700 {
    &:hover {
      @media (hover: hover) {
        color: var(--color-red-700);
      }
    }
  }
  .hover\:text-white {
    &:hover {
      @media (hover: hover) {
        color: var(--color-white);
      }
    }
  }
  .hover\:no-underline {
    &:hover {
      @media (hover: hover) {
        text-decoration-line: none;
      }
    }
  }
  .hover\:underline {
    &:hover {
      @media (hover: hover) {
        text-decoration-line: underline;
      }
    }
  }
  .hover\:opacity-80 {
    &:hover {
      @media (hover: hover) {
        opacity: 80%;
      }
    }
  }
  .hover\:opacity-90 {
    &:hover {
      @media (hover: hover) {
        opacity: 90%;
      }
    }
  }
  .hover\:opacity-100 {
    &:hover {
      @media (hover: hover) {
        opacity: 100%;
      }
    }
  }
  .hover\:shadow-lg {
    &:hover {
      @media (hover: hover) {
        --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
      }
    }
  }
  .hover\:shadow-md {
    &:hover {
      @media (hover: hover) {
        --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
      }
    }
  }
  .hover\:shadow-sm {
    &:hover {
      @media (hover: hover) {
        --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
      }
    }
  }
  .focus\:border-\[var\(--color-primary\,var\(--primary-500\)\)\] {
    &:focus {
      border-color: var(--color-primary,var(--primary-500));
    }
  }
  .focus\:border-\[var\(--primary-500\)\] {
    &:focus {
      border-color: var(--primary-500);
    }
  }
  .focus\:border-red-500 {
    &:focus {
      border-color: var(--color-red-500);
    }
  }
  .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-\[color-mix\(in_srgb\,var\(--color-primary\,var\(--primary-500\)\)_20\%\,transparent\)\] {
    &:focus {
      --tw-ring-color: var(--color-primary,var(--primary-500));
      @supports (color: color-mix(in lab, red, red)) {
        --tw-ring-color: color-mix(in srgb,var(--color-primary,var(--primary-500)) 20%,transparent);
      }
    }
  }
  .focus\:ring-\[var\(--primary-500\)\] {
    &:focus {
      --tw-ring-color: var(--primary-500);
    }
  }
  .focus\:ring-\[var\(--primary-500\)\]\/20 {
    &:focus {
      --tw-ring-color: var(--primary-500);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-ring-color: color-mix(in oklab, var(--primary-500) 20%, transparent);
      }
    }
  }
  .focus\:ring-red-500\/20 {
    &:focus {
      --tw-ring-color: color-mix(in srgb, oklch(63.7% 0.237 25.331) 20%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-ring-color: color-mix(in oklab, var(--color-red-500) 20%, transparent);
      }
    }
  }
  .focus\:outline-none {
    &:focus {
      --tw-outline-style: none;
      outline-style: none;
    }
  }
  .active\:cursor-grabbing {
    &:active {
      cursor: grabbing;
    }
  }
  .disabled\:cursor-not-allowed {
    &:disabled {
      cursor: not-allowed;
    }
  }
  .disabled\:opacity-40 {
    &:disabled {
      opacity: 40%;
    }
  }
  .has-\[\:checked\]\:border-\[var\(--color-primary\,var\(--primary-500\)\)\] {
    &:has(*:is(:checked)) {
      border-color: var(--color-primary,var(--primary-500));
    }
  }
  .has-\[\:checked\]\:bg-\[var\(--primary-500\,\#6366f1\)\]\/5 {
    &:has(*:is(:checked)) {
      background-color: var(--primary-500,#6366f1);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--primary-500,#6366f1) 5%, transparent);
      }
    }
  }
  .sm\:mb-6 {
    @media (width >= 40rem) {
      margin-bottom: calc(var(--spacing) * 6);
    }
  }
  .sm\:mb-8 {
    @media (width >= 40rem) {
      margin-bottom: calc(var(--spacing) * 8);
    }
  }
  .sm\:flex {
    @media (width >= 40rem) {
      display: flex;
    }
  }
  .sm\:inline {
    @media (width >= 40rem) {
      display: inline;
    }
  }
  .sm\:w-auto {
    @media (width >= 40rem) {
      width: auto;
    }
  }
  .sm\:grid-cols-2 {
    @media (width >= 40rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  .sm\:grid-cols-3 {
    @media (width >= 40rem) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
  .sm\:grid-cols-4 {
    @media (width >= 40rem) {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
  }
  .sm\:grid-cols-5 {
    @media (width >= 40rem) {
      grid-template-columns: repeat(5, minmax(0, 1fr));
    }
  }
  .sm\:flex-row {
    @media (width >= 40rem) {
      flex-direction: row;
    }
  }
  .sm\:gap-4 {
    @media (width >= 40rem) {
      gap: calc(var(--spacing) * 4);
    }
  }
  .sm\:p-6 {
    @media (width >= 40rem) {
      padding: calc(var(--spacing) * 6);
    }
  }
  .sm\:p-8 {
    @media (width >= 40rem) {
      padding: calc(var(--spacing) * 8);
    }
  }
  .sm\:px-6 {
    @media (width >= 40rem) {
      padding-inline: calc(var(--spacing) * 6);
    }
  }
  .sm\:text-2xl {
    @media (width >= 40rem) {
      font-size: var(--text-2xl);
      line-height: var(--tw-leading, var(--text-2xl--line-height));
    }
  }
  .sm\:text-3xl {
    @media (width >= 40rem) {
      font-size: var(--text-3xl);
      line-height: var(--tw-leading, var(--text-3xl--line-height));
    }
  }
  .sm\:text-base {
    @media (width >= 40rem) {
      font-size: var(--text-base);
      line-height: var(--tw-leading, var(--text-base--line-height));
    }
  }
  .md\:col-span-2 {
    @media (width >= 48rem) {
      grid-column: span 2 / span 2;
    }
  }
  .md\:col-span-3 {
    @media (width >= 48rem) {
      grid-column: span 3 / span 3;
    }
  }
  .md\:grid-cols-2 {
    @media (width >= 48rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  .md\:grid-cols-5 {
    @media (width >= 48rem) {
      grid-template-columns: repeat(5, minmax(0, 1fr));
    }
  }
  .lg\:block {
    @media (width >= 64rem) {
      display: block;
    }
  }
  .lg\:flex {
    @media (width >= 64rem) {
      display: flex;
    }
  }
  .lg\:hidden {
    @media (width >= 64rem) {
      display: none;
    }
  }
  .lg\:w-1\/2 {
    @media (width >= 64rem) {
      width: calc(1/2 * 100%);
    }
  }
  .lg\:grid-cols-2 {
    @media (width >= 64rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  .lg\:grid-cols-3 {
    @media (width >= 64rem) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
  .lg\:grid-cols-4 {
    @media (width >= 64rem) {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
  }
  .lg\:grid-cols-5 {
    @media (width >= 64rem) {
      grid-template-columns: repeat(5, minmax(0, 1fr));
    }
  }
  .lg\:grid-cols-\[1\.1fr_0\.9fr\] {
    @media (width >= 64rem) {
      grid-template-columns: 1.1fr 0.9fr;
    }
  }
  .lg\:grid-cols-\[1\.2fr_0\.8fr\] {
    @media (width >= 64rem) {
      grid-template-columns: 1.2fr 0.8fr;
    }
  }
  .lg\:p-8 {
    @media (width >= 64rem) {
      padding: calc(var(--spacing) * 8);
    }
  }
  .lg\:p-10 {
    @media (width >= 64rem) {
      padding: calc(var(--spacing) * 10);
    }
  }
  .lg\:px-8 {
    @media (width >= 64rem) {
      padding-inline: calc(var(--spacing) * 8);
    }
  }
  .lg\:text-4xl {
    @media (width >= 64rem) {
      font-size: var(--text-4xl);
      line-height: var(--tw-leading, var(--text-4xl--line-height));
    }
  }
  .lg\:text-lg {
    @media (width >= 64rem) {
      font-size: var(--text-lg);
      line-height: var(--tw-leading, var(--text-lg--line-height));
    }
  }
  .xl\:sticky {
    @media (width >= 80rem) {
      position: sticky;
    }
  }
  .xl\:top-4 {
    @media (width >= 80rem) {
      top: calc(var(--spacing) * 4);
    }
  }
  .xl\:top-6 {
    @media (width >= 80rem) {
      top: calc(var(--spacing) * 6);
    }
  }
  .xl\:col-span-5 {
    @media (width >= 80rem) {
      grid-column: span 5 / span 5;
    }
  }
  .xl\:block {
    @media (width >= 80rem) {
      display: block;
    }
  }
  .xl\:flex {
    @media (width >= 80rem) {
      display: flex;
    }
  }
  .xl\:hidden {
    @media (width >= 80rem) {
      display: none;
    }
  }
  .xl\:h-fit {
    @media (width >= 80rem) {
      height: fit-content;
    }
  }
  .xl\:grid-cols-\[1fr_420px\] {
    @media (width >= 80rem) {
      grid-template-columns: 1fr 420px;
    }
  }
  .xl\:grid-cols-\[88px_minmax\(0\,1fr\)\] {
    @media (width >= 80rem) {
      grid-template-columns: 88px minmax(0,1fr);
    }
  }
  .xl\:grid-cols-\[220px_minmax\(0\,1fr\)\] {
    @media (width >= 80rem) {
      grid-template-columns: 220px minmax(0,1fr);
    }
  }
  .xl\:grid-cols-\[minmax\(0\,1fr\)\] {
    @media (width >= 80rem) {
      grid-template-columns: minmax(0,1fr);
    }
  }
  .xl\:flex-col {
    @media (width >= 80rem) {
      flex-direction: column;
    }
  }
  .xl\:gap-3 {
    @media (width >= 80rem) {
      gap: calc(var(--spacing) * 3);
    }
  }
  .xl\:self-start {
    @media (width >= 80rem) {
      align-self: flex-start;
    }
  }
  .\32 xl\:block {
    @media (width >= 96rem) {
      display: block;
    }
  }
  .dark\:text-white {
    @media (prefers-color-scheme: dark) {
      color: var(--color-white);
    }
  }
}
@layer base {
  :root {
    --primary-50: #f5f3ff;
    --primary-100: #ede9fe;
    --primary-200: #ddd6fe;
    --primary-300: #c4b5fd;
    --primary-400: #a78bfa;
    --primary-500: #8b5cf6;
    --primary-600: #7c3aed;
    --primary-700: #6d28d9;
    --primary-800: #5b21b6;
    --primary-900: #4c1d95;
    --accent-50: #ecfeff;
    --accent-100: #cffafe;
    --accent-200: #a5f3fc;
    --accent-300: #67e8f9;
    --accent-400: #22d3ee;
    --accent-500: #06b6d4;
    --accent-600: #0891b2;
    --accent-700: #0e7490;
    --lime-400: #a3e635;
    --lime-500: #84cc16;
    --neutral-50: #f8fafc;
    --neutral-100: #f1f5f9;
    --neutral-200: #e2e8f0;
    --neutral-300: #cbd5e1;
    --neutral-400: #94a3b8;
    --neutral-500: #64748b;
    --neutral-600: #475569;
    --neutral-700: #334155;
    --neutral-800: #1e293b;
    --neutral-900: #0f172a;
    --color-success: #10b981;
    --color-warning: #f59e0b;
    --color-error: #ef4444;
    --color-info: #3b82f6;
    --bg-app: #f0f2f5;
    --bg-surface: #ffffff;
    --bg-sidebar: #1e1f2b;
    --bg-sidebar-hover: #2a2b3d;
    --bg-sidebar-active: #33354a;
    --shadow-sm: 0 1px 2px rgba(0,0,0,0.05);
    --shadow-md: 0 4px 6px -1px rgba(0,0,0,0.07), 0 2px 4px -2px rgba(0,0,0,0.05);
    --shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.08), 0 4px 6px -4px rgba(0,0,0,0.05);
    --shadow-xl: 0 20px 25px -5px rgba(0,0,0,0.1), 0 8px 10px -6px rgba(0,0,0,0.05);
    --shadow-focus: 0 0 0 3px var(--color-primary, #4f46e5);
    @supports (color: color-mix(in lab, red, red)) {
      --shadow-focus: 0 0 0 3px color-mix(in srgb, var(--color-primary, #4f46e5) 15%, transparent);
    }
    --radius-sm: 6px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --radius-xl: 16px;
    --radius-2xl: 1rem;
    --radius-3xl: 1.5rem;
    --radius-full: 9999px;
    --btn-radius: var(--radius-md);
    --btn-px: 1.25rem;
    --btn-py: 0.625rem;
    --input-radius: var(--radius-md);
    --input-border: var(--neutral-300);
    --card-radius: var(--radius-3xl);
    --card-border: var(--neutral-200);
    --card-shadow: var(--shadow-sm);
    --msg-radius: 1.125rem;
    --msg-outgoing-bg: var(--color-primary, #4f46e5);
    --msg-outgoing-color: white;
    --msg-incoming-bg: var(--color-surface, white);
    --msg-incoming-color: var(--color-text, #111827);
    --avatar-radius: var(--radius-2xl);
    --font-size-sm: 0.875rem;
    --font-size-lg: 1.125rem;
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --line-height-base: 1.6;
    --line-height-tight: 1.3;
    --letter-spacing-base: 0;
    --font-family-heading: var(--font-family-ui);
    --font-family-mono: 'JetBrains Mono', 'Fira Code', monospace;
    --transition-fast: 0.15s;
    --transition-base: 0.2s;
    --transition-slow: 0.3s;
    --transition-easing: cubic-bezier(0.4, 0, 0.2, 1);
    --color-text-secondary: var(--neutral-500);
    --color-text-muted: var(--neutral-400);
    --color-success-light: var(--color-success);
    @supports (color: color-mix(in lab, red, red)) {
      --color-success-light: color-mix(in srgb, var(--color-success) 12%, white);
    }
    --color-warning-light: var(--color-warning);
    @supports (color: color-mix(in lab, red, red)) {
      --color-warning-light: color-mix(in srgb, var(--color-warning) 12%, white);
    }
    --color-error-light: var(--color-error);
    @supports (color: color-mix(in lab, red, red)) {
      --color-error-light: color-mix(in srgb, var(--color-error) 12%, white);
    }
    --color-info-light: var(--color-info);
    @supports (color: color-mix(in lab, red, red)) {
      --color-info-light: color-mix(in srgb, var(--color-info) 12%, white);
    }
    --color-primary-hover: var(--color-primary, #4f46e5);
    @supports (color: color-mix(in lab, red, red)) {
      --color-primary-hover: color-mix(in srgb, var(--color-primary, #4f46e5) 85%, black);
    }
    --color-primary-light: var(--color-primary, #4f46e5);
    @supports (color: color-mix(in lab, red, red)) {
      --color-primary-light: color-mix(in srgb, var(--color-primary, #4f46e5) 15%, white);
    }
    --color-accent-hover: var(--color-accent, #06b6d4);
    @supports (color: color-mix(in lab, red, red)) {
      --color-accent-hover: color-mix(in srgb, var(--color-accent, #06b6d4) 85%, black);
    }
    --color-accent-light: var(--color-accent, #06b6d4);
    @supports (color: color-mix(in lab, red, red)) {
      --color-accent-light: color-mix(in srgb, var(--color-accent, #06b6d4) 15%, white);
    }
    --color-surface-hover: var(--neutral-100);
    --bg-image: none;
    --radius-base: 0.75rem;
    --sidebar-opacity: 100%;
    --color-topbar: var(--color-surface, white);
    --color-border: var(--neutral-200);
    --color-hover: var(--color-primary, #4f46e5);
    @supports (color: color-mix(in lab, red, red)) {
      --color-hover: color-mix(in srgb, var(--color-primary, #4f46e5) 8%, transparent);
    }
    --mix-base: white;
    --color-slack: #4A154B;
    --color-discord: #5865F2;
    --color-teams: #6264A7;
    --color-telegram: #0088cc;
    --color-whatsapp: #25D366;
    --color-mattermost: #0058CC;
  }
  *, *::before, *::after {
    box-sizing: border-box;
  }
  html {
    font-size: var(--font-size-base, 0.9375rem);
    scroll-behavior: smooth;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  @media (min-width: 768px) {
    html {
      font-size: var(--font-size-base, 1rem);
    }
  }
  body {
    background-color: var(--color-background, var(--bg-app));
    color: var(--color-text, var(--neutral-800));
    font-family: var(--font-family-ui, 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif);
    font-weight: var(--font-weight-normal, 400);
    line-height: var(--line-height-base, 1.6);
    letter-spacing: var(--letter-spacing-base, 0);
  }
  h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-family-heading, var(--font-family-ui));
    line-height: var(--line-height-tight, 1.3);
  }
  code, pre, kbd, samp {
    font-family: var(--font-family-mono, 'JetBrains Mono', 'Fira Code', monospace);
  }
  body::after {
    content: "BETA v0.1.0";
    position: fixed;
    top: 12px;
    right: 12px;
    background: var(--primary-600, #7c3aed);
    color: #fff;
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    padding: 2px 8px;
    border-radius: 4px;
    opacity: 0.7;
    z-index: 9999;
    pointer-events: none;
  }
}
@layer utilities {
  .bg-primary {
    background-color: var(--color-primary, var(--primary-600));
  }
  .text-primary {
    color: var(--color-primary, var(--primary-600));
  }
  .border-primary {
    border-color: var(--color-primary, var(--primary-600));
  }
  .ring-primary {
    --tw-ring-color: var(--color-primary, var(--primary-600));
  }
  .hover\:bg-primary-dark:hover {
    background-color: var(--color-primary, var(--primary-600));
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in srgb, var(--color-primary, var(--primary-600)) 85%, black);
    }
  }
  .bg-accent {
    background-color: var(--color-accent, var(--accent-500));
  }
  .text-accent {
    color: var(--color-accent, var(--accent-500));
  }
  .bg-surface {
    background-color: var(--color-surface, var(--bg-surface));
  }
  .bg-app {
    background-color: var(--color-background, var(--bg-app));
  }
  .text-app {
    color: var(--color-text, var(--neutral-800));
  }
  .gradient-primary {
    background: linear-gradient(135deg, var(--color-primary, var(--primary-500)), var(--color-accent, var(--accent-400)));
  }
  .gradient-kohort {
    background: linear-gradient(135deg, var(--color-primary, var(--primary-500)), var(--color-accent, var(--accent-400)), var(--lime-400));
  }
  .gradient-text {
    background: linear-gradient(135deg, var(--color-primary, var(--primary-500)), var(--color-accent, var(--accent-400)));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }
  .text-muted {
    color: var(--color-text-muted, var(--neutral-400));
  }
  .text-secondary {
    color: var(--color-text-secondary, var(--neutral-500));
  }
  .bg-success-light {
    background-color: var(--color-success-light);
  }
  .bg-warning-light {
    background-color: var(--color-warning-light);
  }
  .bg-error-light {
    background-color: var(--color-error-light);
  }
  .bg-info-light {
    background-color: var(--color-info-light);
  }
  .bg-primary-light {
    background-color: var(--color-primary-light);
  }
  .bg-accent-light {
    background-color: var(--color-accent-light);
  }
  .hover\:bg-accent:hover {
    background-color: var(--color-accent-hover);
  }
  .hover\:bg-surface:hover {
    background-color: var(--color-surface-hover, var(--neutral-100));
  }
  .hover\:bg-hover:hover {
    background-color: var(--color-hover);
  }
  .bg-primary-subtle {
    background-color: var(--color-primary, var(--primary-600));
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in srgb, var(--color-primary, var(--primary-600)) 12%, transparent);
    }
  }
  .bg-accent-subtle {
    background-color: var(--color-accent, var(--accent-500));
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in srgb, var(--color-accent, var(--accent-500)) 12%, transparent);
    }
  }
  .hover\:bg-primary-subtle:hover {
    background-color: var(--color-primary, var(--primary-600));
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in srgb, var(--color-primary, var(--primary-600)) 6%, var(--mix-base, white));
    }
  }
  .bg-slack {
    background-color: var(--color-slack);
  }
  .bg-discord {
    background-color: var(--color-discord);
  }
  .bg-teams {
    background-color: var(--color-teams);
  }
  .bg-telegram {
    background-color: var(--color-telegram);
  }
  .bg-whatsapp {
    background-color: var(--color-whatsapp);
  }
  .bg-mattermost {
    background-color: var(--color-mattermost);
  }
  .bg-warning {
    background-color: var(--color-warning);
  }
  .text-warning {
    color: var(--color-warning);
  }
  .bg-info {
    background-color: var(--color-info);
  }
  .bg-warning-subtle {
    background-color: var(--color-warning);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in srgb, var(--color-warning) 12%, transparent);
    }
  }
}
[data-density="compact"] {
  --ui-p: 0.5rem;
  --ui-gap: 0.5rem;
}
[data-density="comfortable"] {
  --ui-p: 1rem;
  --ui-gap: 1rem;
}
[data-density="spacious"] {
  --ui-p: 1.5rem;
  --ui-gap: 1.5rem;
}
@media (hover: hover) {
  .kohort-hover-shift:hover {
    background: var(--color-primary);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-primary) 6%, var(--mix-base, white));
    }
    transform: translateX(0.2rem);
  }
  .kohort-hover-border:hover {
    border-color: var(--color-primary);
  }
  .kohort-hover-bg:hover {
    background: var(--color-surface-hover, var(--neutral-100));
  }
  .kohort-hover-darken:hover {
    filter: brightness(0.92);
  }
  .kohort-hover-fade:hover {
    opacity: 0.9;
  }
}
@layer components {
  .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: var(--btn-py, 0.625rem) var(--btn-px, 1.25rem);
    border-radius: var(--btn-radius, var(--radius-md));
    font-size: var(--font-size-sm, 0.875rem);
    font-weight: var(--font-weight-semibold, 600);
    border: none;
    cursor: pointer;
    transition: all var(--transition-base, 0.2s) var(--transition-easing, cubic-bezier(0.4, 0, 0.2, 1));
    text-decoration: none;
    white-space: nowrap;
  }
  .btn:active {
    transform: scale(0.97);
  }
  .btn-primary {
    background: var(--color-primary, var(--primary-600));
    color: white;
    box-shadow: var(--shadow-sm);
  }
  .btn-primary:hover {
    background: var(--color-primary-hover, var(--color-primary));
    @supports (color: color-mix(in lab, red, red)) {
      background: var(--color-primary-hover, color-mix(in srgb, var(--color-primary) 85%, black));
    }
    box-shadow: var(--shadow-md);
    transform: translateY(-1px);
  }
  .btn-secondary {
    background: var(--neutral-100);
    color: var(--neutral-700);
    border: 1px solid var(--neutral-300);
  }
  .btn-secondary:hover {
    background: var(--neutral-200);
  }
  .btn-accent {
    background: var(--color-accent, var(--accent-500));
    color: white;
  }
  .btn-accent:hover {
    background: var(--color-accent, var(--accent-500));
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-accent, var(--accent-500)) 85%, black);
    }
  }
  .btn-danger {
    background: var(--color-error);
    color: white;
  }
  .btn-danger:hover {
    background: var(--color-error);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-error) 85%, black);
    }
  }
  .btn-ghost {
    background: transparent;
    color: var(--color-primary, var(--primary-600));
  }
  .btn-ghost:hover {
    background: var(--color-primary, var(--primary-600));
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-primary, var(--primary-600)) 10%, transparent);
    }
  }
  .btn-sm {
    padding: 0.375rem 0.875rem;
    font-size: 0.8125rem;
  }
  .btn-lg {
    padding: 0.875rem 1.75rem;
    font-size: 1rem;
  }
  @media (max-width: 767px) {
    .btn-sm {
      min-height: 2.75rem;
      padding: 0.5rem 1rem;
    }
    .form-input {
      min-height: 2.75rem;
    }
  }
  .form-input {
    width: 100%;
    padding: 0.625rem 0.875rem;
    border: 1px solid var(--input-border, var(--neutral-300));
    border-radius: var(--input-radius, var(--radius-md));
    font-size: var(--font-size-sm, 0.875rem);
    transition: all var(--transition-base, 0.2s);
    background: var(--color-surface, white);
    color: var(--color-text, var(--neutral-800));
  }
  .form-input:focus {
    outline: none;
    border-color: var(--color-primary, var(--primary-500));
    box-shadow: var(--shadow-focus, 0 0 0 3px rgba(99,102,241,0.15));
  }
  .form-input::placeholder {
    color: var(--neutral-400);
  }
  .form-label {
    display: block;
    font-size: 0.8125rem;
    font-weight: var(--font-weight-semibold, 600);
    color: var(--neutral-700);
    margin-bottom: 0.375rem;
  }
  .badge {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.1875rem 0.625rem;
    border-radius: var(--radius-full);
    font-size: 0.75rem;
    font-weight: var(--font-weight-semibold, 600);
  }
  .badge-primary {
    background: var(--color-primary, var(--primary-600));
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-primary, var(--primary-600)) 15%, var(--mix-base, white));
    }
    color: var(--color-primary, var(--primary-700));
  }
  .badge-accent {
    background: var(--color-accent, var(--accent-500));
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-accent, var(--accent-500)) 15%, var(--mix-base, white));
    }
    color: var(--color-accent, var(--accent-600));
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in srgb, var(--color-accent, var(--accent-600)) 85%, black);
    }
  }
  .badge-success {
    background: var(--color-success-light);
    color: var(--color-success);
  }
  .badge-warning {
    background: var(--color-warning-light);
    color: var(--color-warning);
  }
  .badge-error {
    background: var(--color-error-light);
    color: var(--color-error);
  }
  .badge-neutral {
    background: var(--neutral-100);
    color: var(--neutral-600);
  }
}
@layer components {
  .card {
    background: var(--color-surface, white);
    border-radius: var(--card-radius, var(--radius-3xl));
    border: 1px solid var(--card-border, var(--color-border));
    overflow: hidden;
    transition: all var(--transition-slow, 0.25s) var(--transition-easing);
  }
  .card:hover {
    box-shadow: var(--shadow-lg);
    transform: translateY(-2px);
  }
  .card-body {
    padding: 1.25rem;
  }
  .kohort-card {
    border-radius: var(--card-radius, var(--radius-3xl));
    border: 1px solid var(--card-border, var(--color-border));
    background: var(--color-surface, white);
    padding: 1.25rem;
    box-shadow: var(--card-shadow, var(--shadow-sm));
  }
  .kohort-chip {
    border-radius: var(--radius-full);
    background: var(--neutral-100);
    padding: 0.125rem 0.5rem;
    font-size: 0.6875rem;
    color: var(--neutral-600);
  }
  .kohort-action-soft {
    border-radius: var(--radius-xl);
    background: var(--neutral-100);
    padding: 0.5rem 0.75rem;
    font-size: 0.875rem;
    color: var(--neutral-700);
    transition: background 0.15s;
    border: none;
    cursor: pointer;
  }
  .kohort-action-soft:hover {
    background: var(--neutral-200);
  }
  .kohort-kanban {
    width: 100%;
  }
  .kohort-kanban-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1rem;
    padding: 0 0.25rem;
  }
  .kohort-kanban-header h3 {
    font-size: 1rem;
    font-weight: var(--font-weight-bold, 700);
    color: var(--color-text, var(--neutral-800));
  }
  .kohort-kanban-header span {
    font-size: 0.75rem;
    color: var(--color-text-muted, var(--neutral-400));
  }
  .kohort-kanban-board-selector {
    display: flex;
    gap: 0.375rem;
    margin-bottom: 0.75rem;
    overflow-x: auto;
    padding-bottom: 0.25rem;
  }
  .kohort-kanban-board-btn {
    border-radius: var(--radius-xl);
    padding: 0.25rem 0.75rem;
    font-size: 0.75rem;
    font-weight: var(--font-weight-medium, 500);
    cursor: pointer;
    border: 1px solid var(--color-border);
    background: var(--color-surface, white);
    color: var(--neutral-600);
    transition: all 0.15s;
    white-space: nowrap;
  }
  .kohort-kanban-board-btn:hover {
    border-color: var(--neutral-300);
    background: var(--neutral-50);
  }
  .kohort-kanban-board-btn--active {
    background: var(--neutral-800);
    color: white;
    border-color: var(--neutral-800);
  }
  .kohort-kanban-board-btn--active:hover {
    background: var(--neutral-700);
    border-color: var(--neutral-700);
  }
  .kohort-kanban-columns {
    display: flex;
    gap: 0.75rem;
    overflow-x: auto;
    padding-bottom: 0.5rem;
    align-items: flex-start;
  }
  .kohort-kanban-column {
    flex: 0 0 min(16rem, 80vw);
    min-width: min(16rem, 80vw);
    background: var(--neutral-50, #f8fafc);
    border-radius: var(--radius-lg, 0.5rem);
    padding: 0.75rem;
    max-height: 65vh;
    overflow-y: auto;
  }
  .kohort-kanban-column-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 0.125rem 0.5rem;
    font-size: 0.6875rem;
    font-weight: var(--font-weight-bold, 700);
    color: var(--color-text-secondary, var(--neutral-500));
    text-transform: uppercase;
    letter-spacing: 0.05em;
  }
  .kohort-kanban-column-count {
    font-weight: var(--font-weight-normal, 400);
    color: var(--color-text-muted, var(--neutral-400));
    font-size: 0.625rem;
    background: var(--neutral-200);
    border-radius: var(--radius-full, 9999px);
    padding: 0.0625rem 0.375rem;
  }
  .kohort-kanban-card {
    background: var(--color-surface, white);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md, 0.375rem);
    padding: 0.625rem 0.75rem;
    margin-bottom: 0.375rem;
    font-size: 0.8125rem;
    cursor: default;
    transition: box-shadow 0.15s;
  }
  .kohort-kanban-card:hover {
    box-shadow: var(--shadow-sm);
  }
  .kohort-kanban-card-title {
    font-weight: var(--font-weight-medium, 500);
    color: var(--color-text, var(--neutral-800));
    line-height: 1.3;
  }
  .kohort-kanban-card-desc {
    font-size: 0.75rem;
    color: var(--color-text-secondary, var(--neutral-500));
    margin-top: 0.25rem;
    line-height: 1.4;
  }
  .kohort-kanban-card-meta {
    font-size: 0.6875rem;
    color: var(--color-text-muted, var(--neutral-400));
    margin-top: 0.25rem;
  }
  .kohort-kanban-add-card {
    width: 100%;
    padding: 0.375rem;
    border: 1px dashed var(--neutral-300);
    border-radius: var(--radius-md, 0.375rem);
    background: none;
    color: var(--color-text-muted, var(--neutral-400));
    font-size: 0.75rem;
    cursor: pointer;
    transition: color 0.15s, border-color 0.15s;
    margin-top: 0.25rem;
  }
  .kohort-kanban-add-card:hover {
    color: var(--color-success, #10b981);
    border-color: var(--color-success, #10b981);
  }
  .kohort-kanban--compact .kohort-kanban-columns {
    flex-direction: column;
  }
  .kohort-kanban--compact .kohort-kanban-column {
    flex: none;
    width: 100%;
    min-width: 0;
    max-height: 15rem;
  }
  .kohort-label {
    font-size: 0.75rem;
    font-weight: var(--font-weight-semibold, 600);
    text-transform: uppercase;
    letter-spacing: 0.2em;
    color: var(--color-text-secondary, var(--neutral-500));
  }
  .kohort-stat-tile {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.125rem;
    padding: 0.75rem 0.5rem;
    border-radius: 0.875rem;
    border: 1px solid var(--color-border);
    background: var(--color-surface);
  }
  .kohort-stat-value {
    font-size: 1.375rem;
    font-weight: var(--font-weight-bold, 700);
    color: var(--neutral-800);
    line-height: 1;
  }
  .kohort-stat-label {
    font-size: 0.6875rem;
    color: var(--color-text-secondary, var(--neutral-500));
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: var(--font-weight-medium, 500);
  }
  .kohort-section-label {
    font-size: 0.6875rem;
    font-weight: var(--font-weight-bold, 700);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--color-text-muted, var(--neutral-400));
  }
  .kohort-dash-row {
    display: flex;
    align-items: flex-start;
    gap: 0.625rem;
    padding: 0.5rem 0.625rem;
    border-radius: 0.625rem;
    transition: background 0.1s;
  }
  .kohort-dash-row:hover {
    background: var(--neutral-50);
  }
  .kohort-dash-dot {
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 9999px;
    flex-shrink: 0;
    margin-top: 0.3rem;
  }
  .kohort-dash-dot--event {
    background: var(--color-primary);
    box-shadow: 0 0 0 3px var(--color-primary);
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary) 20%, transparent);
    }
  }
  .kohort-dash-dot--board {
    background: var(--color-accent);
    box-shadow: 0 0 0 3px var(--color-accent);
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-accent) 20%, transparent);
    }
  }
  .kohort-dash-row-title {
    font-size: 0.8125rem;
    font-weight: var(--font-weight-semibold, 600);
    color: var(--neutral-800);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .kohort-dash-row-meta {
    font-size: 0.6875rem;
    color: var(--color-text-muted, var(--neutral-400));
    margin-top: 0.1rem;
  }
  .kohort-dash-count {
    flex-shrink: 0;
    font-size: 0.6875rem;
    font-weight: var(--font-weight-bold, 700);
    padding: 0.1rem 0.4rem;
    border-radius: 9999px;
    background: #06b6d4;
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, #06b6d4 12%, var(--mix-base, white));
    }
    color: var(--color-accent);
    align-self: center;
  }
  .kohort-dash-badge {
    font-size: 0.6rem;
    font-weight: var(--font-weight-bold, 700);
    padding: 0.1rem 0.35rem;
    border-radius: 9999px;
  }
  .kohort-dash-badge--today {
    background: var(--color-primary-light);
    color: var(--color-primary);
  }
  .kohort-dash-badge--soon {
    background: var(--color-warning-light);
    color: var(--color-warning);
  }
  .kohort-dash-meta-chip {
    font-size: 0.6875rem;
    color: var(--color-text-muted, var(--neutral-400));
  }
  .kohort-quick-gradient {
    border-radius: var(--radius-3xl);
    border: 1px solid var(--color-border);
    background: linear-gradient(135deg, var(--color-primary, var(--primary-500)), var(--color-accent, var(--accent-400)) );
    @supports (color: color-mix(in lab, red, red)) {
      background: linear-gradient(135deg, color-mix(in srgb, var(--color-primary, var(--primary-500)) 8%, var(--mix-base, white)), color-mix(in srgb, var(--color-accent, var(--accent-400)) 8%, var(--mix-base, white)) );
    }
    padding: 1rem;
  }
  .section-card {
    background: var(--color-surface, white);
    border-radius: var(--radius-xl);
    border: 1px solid var(--color-border);
    padding: 1.25rem;
    box-shadow: var(--shadow-sm);
  }
  @media (min-width: 640px) {
    .section-card {
      padding: 1.5rem;
    }
  }
  .page-app {
    min-height: 100%;
    background-color: var(--color-background, var(--bg-app));
  }
  .page-container {
    max-width: 48rem;
    margin-left: auto;
    margin-right: auto;
    padding: 2rem 1rem;
  }
  @media (min-width: 640px) {
    .page-container {
      padding-left: 1.5rem;
      padding-right: 1.5rem;
    }
  }
  @media (min-width: 1024px) {
    .page-container {
      padding-left: 2rem;
      padding-right: 2rem;
    }
  }
  .page-container-wide {
    max-width: 80rem;
    margin-left: auto;
    margin-right: auto;
    padding: 2rem 1rem;
  }
  @media (min-width: 640px) {
    .page-container-wide {
      padding-left: 1.5rem;
      padding-right: 1.5rem;
    }
  }
  @media (min-width: 1024px) {
    .page-container-wide {
      padding-left: 2rem;
      padding-right: 2rem;
    }
  }
  .btn-on-gradient {
    background: var(--color-surface, white);
    color: var(--color-primary, var(--primary-700));
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in srgb, var(--color-primary, var(--primary-700)) 90%, black);
    }
  }
  .btn-on-gradient:hover {
    background: var(--color-surface, white);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-surface, white) 90%, black);
    }
  }
  .icon-badge {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: var(--radius-lg);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }
  .icon-badge-primary {
    background: var(--color-primary, var(--primary-600));
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-primary, var(--primary-600)) 12%, var(--color-surface, white));
    }
    color: var(--color-primary, var(--primary-600));
  }
  .icon-badge-accent {
    background: var(--color-accent, var(--accent-500));
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-accent, var(--accent-500)) 12%, var(--color-surface, white));
    }
    color: var(--color-accent, var(--accent-500));
  }
  .icon-badge-warning {
    background: var(--color-warning);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-warning) 12%, var(--color-surface, white));
    }
    color: var(--color-warning);
  }
  .alert {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem;
    border-radius: var(--radius-lg);
    border: 1px solid;
    font-size: 0.875rem;
  }
  .alert-error {
    background: var(--color-error);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-error) 8%, var(--mix-base, white));
    }
    border-color: var(--color-error);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--color-error) 30%, var(--mix-base, white));
    }
    color: var(--color-error);
  }
  .alert-success {
    background: var(--color-success);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-success) 8%, var(--mix-base, white));
    }
    border-color: var(--color-success);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--color-success) 30%, var(--mix-base, white));
    }
    color: var(--color-success);
  }
  .alert-warning {
    background: var(--color-warning);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-warning) 8%, var(--mix-base, white));
    }
    border-color: var(--color-warning);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--color-warning) 30%, var(--mix-base, white));
    }
    color: var(--color-warning);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in srgb, var(--color-warning) 70%, black);
    }
  }
  .avatar {
    border-radius: var(--avatar-radius, var(--radius-2xl));
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: var(--font-weight-semibold, 600);
    color: white;
    flex-shrink: 0;
  }
  .avatar-xs {
    width: 1.5rem;
    height: 1.5rem;
    font-size: 0.625rem;
  }
  .avatar-sm {
    width: 2rem;
    height: 2rem;
    font-size: 0.75rem;
  }
  .avatar-md {
    width: 2.75rem;
    height: 2.75rem;
    font-size: 0.875rem;
  }
  .avatar-lg {
    width: 3rem;
    height: 3rem;
    font-size: var(--font-size-lg, 1.125rem);
  }
  .avatar-xl {
    width: 4rem;
    height: 4rem;
    font-size: 1.5rem;
  }
  .avatar-user {
    background: linear-gradient(135deg, var(--color-primary, var(--primary-500)), var(--color-accent, var(--accent-400)));
  }
}
@layer components {
  .call-overlay {
    position: fixed;
    inset: 0;
    z-index: 100;
    background: #000;
  }
  .call-overlay-inner {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .call-status-bar {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    padding: 1rem 1.5rem;
    background: linear-gradient(180deg, rgba(0,0,0,0.6) 0%, transparent 100%);
    z-index: 2;
  }
  .call-status-text {
    color: white;
    font-size: 0.875rem;
    font-weight: var(--font-weight-medium, 500);
  }
  .call-remote-video {
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #111;
  }
  .call-local-video {
    position: absolute;
    bottom: 5rem;
    right: 1.5rem;
    width: 12rem;
    height: 9rem;
    border-radius: var(--radius-lg);
    border: 2px solid rgba(255,255,255,0.2);
    object-fit: cover;
    background: #222;
    z-index: 3;
  }
  .call-controls {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    padding: 1.5rem;
    background: linear-gradient(0deg, rgba(0,0,0,0.6) 0%, transparent 100%);
    z-index: 2;
  }
  .call-btn {
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    border: none;
    background: rgba(255,255,255,0.15);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.15s;
    backdrop-filter: blur(8px);
  }
  .call-btn:hover {
    background: rgba(255,255,255,0.25);
  }
  .call-btn-muted {
    background: var(--color-error) !important;
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-error) 50%, transparent) !important;
    }
  }
  .call-btn-end {
    background: var(--color-error);
    width: 3.5rem;
    height: 3.5rem;
  }
  .call-btn-end:hover {
    background: var(--color-error);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-error) 85%, black);
    }
  }
  .status-dot {
    position: absolute;
    bottom: -1px;
    right: -1px;
    width: 0.625rem;
    height: 0.625rem;
    border-radius: 50%;
    border: 2px solid var(--color-surface, white);
  }
  .status-dot-inline {
    display: inline-block;
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    flex-shrink: 0;
  }
  .status-online {
    background-color: var(--color-success);
  }
  .status-away {
    background-color: var(--color-warning);
  }
  .status-busy {
    background-color: var(--color-error);
  }
  .status-offline {
    background-color: var(--color-text-secondary, var(--neutral-500));
  }
  .status-menu {
    position: absolute;
    bottom: 100%;
    left: 0.5rem;
    right: 0.5rem;
    margin-bottom: 0.5rem;
    background: var(--color-surface);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-surface) 90%, black);
    }
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: var(--radius-md);
    padding: 0.25rem 0;
    box-shadow: var(--shadow-lg);
    z-index: 50;
  }
  .status-menu-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
    padding: 0.625rem 0.75rem;
    min-height: 2.75rem;
    font-size: 0.8125rem;
    color: var(--neutral-300);
    background: none;
    border: none;
    cursor: pointer;
    transition: background 0.15s;
  }
  .status-menu-item:hover {
    background: rgba(255,255,255,0.08);
    color: white;
  }
  .media-video-wrapper {
    margin: 0.25rem 0;
  }
  .media-video {
    max-width: 20rem;
    max-height: 14rem;
    border-radius: var(--radius-md);
    background: #000;
  }
  .media-download {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.6875rem;
    margin-top: 0.25rem;
    text-decoration: none;
    transition: opacity 0.15s;
  }
  .media-download:hover {
    opacity: 0.8;
  }
  .media-audio-wrapper {
    padding: 0.5rem 0.75rem;
    border-radius: var(--radius-md);
    max-width: 18rem;
    margin: 0.25rem 0;
  }
  .media-audio-incoming {
    background: var(--neutral-50);
    border: 1px solid var(--color-border);
  }
  .media-audio-outgoing {
    background: rgba(255,255,255,0.12);
  }
  .media-audio-filename {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.75rem;
    font-weight: var(--font-weight-medium, 500);
    margin-bottom: 0.375rem;
    min-width: 0;
  }
  .media-audio {
    width: 100%;
    height: 2rem;
    border-radius: var(--radius-sm);
  }
  .media-audio::-webkit-media-controls-panel {
    background: transparent;
  }
  .md-inline-code {
    font-family: 'JetBrains Mono', 'Fira Code', 'Consolas', monospace;
    font-size: 0.8125em;
    padding: 0.125em 0.375em;
    border-radius: 4px;
    background: rgba(0,0,0,0.06);
  }
  .msg-outgoing .md-inline-code {
    background: rgba(255,255,255,0.15);
  }
  .md-code-block {
    font-family: 'JetBrains Mono', 'Fira Code', 'Consolas', monospace;
    font-size: 0.8125rem;
    line-height: 1.5;
    padding: 0.75rem 1rem;
    border-radius: var(--radius-md);
    background: var(--neutral-800);
    color: var(--neutral-200);
    overflow-x: auto;
    margin: 0.375rem 0;
    white-space: pre;
  }
  .msg-outgoing .md-code-block {
    background: rgba(0,0,0,0.3);
    color: var(--neutral-100);
  }
  .md-blockquote {
    border-left: 3px solid var(--neutral-300);
    padding-left: 0.75rem;
    margin: 0.25rem 0;
    color: var(--color-text-secondary, var(--neutral-500));
    font-style: italic;
  }
  .msg-outgoing .md-blockquote {
    border-left-color: rgba(255,255,255,0.4);
    color: rgba(255,255,255,0.8);
  }
  .md-list {
    margin: 0.25rem 0;
    padding-left: 1.25rem;
  }
  ul.md-list {
    list-style: disc;
  }
  ol.md-list {
    list-style: decimal;
  }
  .md-list li {
    margin-bottom: 0.125rem;
  }
  .md-heading {
    font-weight: var(--font-weight-bold, 700);
    margin: 0.25rem 0;
  }
  .md-h1 {
    font-size: 1.25em;
  }
  .md-h2 {
    font-size: 1.125em;
  }
  .md-h3 {
    font-size: 1em;
  }
  .md-hr {
    border: none;
    border-top: 1px solid var(--color-border);
    margin: 0.5rem 0;
  }
  .msg-outgoing .md-hr {
    border-top-color: rgba(255,255,255,0.2);
  }
  .md-link {
    text-decoration: underline;
    text-underline-offset: 2px;
  }
  .msg-incoming .md-link {
    color: var(--color-primary, var(--primary-600));
  }
  .msg-outgoing .md-link {
    color: rgba(255,255,255,0.9);
  }
}
@layer components {
  .msg {
    display: flex;
    gap: 0.625rem;
    margin-bottom: 0.25rem;
    padding: 0.25rem 1.5rem;
    animation: msg-appear 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  }
  .msg:hover {
    background: rgba(0,0,0,0.02);
  }
  @media (max-width: 767px) {
    .msg {
      padding: 0.25rem 0.75rem;
    }
  }
  .msg-outgoing {
    flex-direction: row-reverse;
  }
  .msg-body {
    min-width: 0;
    flex: 1;
  }
  .msg-outgoing .msg-body {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
  }
  .msg-bubble {
    padding: 0.625rem 1rem;
    border-radius: var(--msg-radius, 1.125rem);
    max-width: min(75%, 32rem);
    font-size: var(--font-size-sm, 0.875rem);
    line-height: 1.5;
    word-break: break-word;
  }
  .msg-incoming .msg-bubble {
    background: var(--msg-incoming-bg, var(--color-surface, white));
    color: var(--msg-incoming-color, var(--color-text, var(--neutral-800)));
    border: 1px solid var(--color-border);
    border-bottom-left-radius: 0.25rem;
  }
  .msg-outgoing .msg-bubble {
    background: var(--msg-outgoing-bg, var(--color-primary, var(--primary-600)));
    color: var(--msg-outgoing-color, white);
    border-bottom-right-radius: 0.25rem;
  }
  .msg-meta {
    font-size: 0.6875rem;
    color: var(--color-text-muted, var(--neutral-400));
    margin-top: 0.25rem;
    padding: 0 0.25rem;
  }
  .msg-outgoing .msg-meta {
    text-align: right;
  }
  .msg-thread-link {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    margin-top: 0.25rem;
    padding: 0.125rem 0.5rem;
    font-size: 0.75rem;
    font-weight: var(--font-weight-medium, 500);
    color: var(--color-primary, var(--primary-600));
    background: none;
    border: none;
    cursor: pointer;
    border-radius: 0.375rem;
    transition: background 0.15s;
  }
  .msg-thread-link:hover {
    background: var(--color-primary, var(--primary-600));
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-primary, var(--primary-600)) 8%, transparent);
    }
  }
  .thread-panel {
    width: 0;
    min-width: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    background: var(--bg-app, #f9fafb);
    flex-shrink: 0;
    transition: width 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  }
  .thread-panel--open {
    position: fixed;
    right: 0;
    top: 0;
    bottom: 0;
    width: min(28rem, 40vw);
    z-index: 40;
    border-left: 1px solid var(--color-border);
    box-shadow: -4px 0 24px rgba(0,0,0,0.05);
  }
  .thread-panel-inner {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
  }
  @media (max-width: 767px) {
    .thread-panel--open {
      width: 100dvw;
    }
  }
  .content-detail-panel {
    width: 0;
    min-width: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    background: var(--color-surface, white);
    flex-shrink: 0;
    transition: width 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  }
  .content-detail-panel--open {
    position: fixed;
    right: 0;
    top: 0;
    bottom: 0;
    width: min(24rem, 35vw);
    z-index: 40;
    border-left: 1px solid var(--color-border);
    box-shadow: -4px 0 24px rgba(0,0,0,0.05);
  }
  .content-detail-panel-inner {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
  }
  @media (max-width: 767px) {
    .content-detail-panel--open {
      width: 100dvw;
    }
  }
  .gallery-panel {
    width: 0;
    min-width: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    background: var(--color-surface, white);
    flex-shrink: 0;
    transition: width 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  }
  .gallery-panel--open {
    position: fixed;
    right: 0;
    top: 0;
    bottom: 0;
    width: min(24rem, 35vw);
    z-index: 40;
    border-left: 1px solid var(--color-border);
    box-shadow: -4px 0 24px rgba(0,0,0,0.05);
  }
  .gallery-panel-inner {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
  }
  @media (max-width: 767px) {
    .gallery-panel--open {
      width: 100dvw;
    }
  }
  .pinned-detail-panel {
    width: 0;
    min-width: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    background: var(--color-surface, white);
    flex-shrink: 0;
    transition: width 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  }
  .pinned-detail-panel--open {
    position: fixed;
    right: 0;
    top: 0;
    bottom: 0;
    width: min(24rem, 35vw);
    z-index: 40;
    border-left: 1px solid var(--color-border);
    box-shadow: -4px 0 24px rgba(0,0,0,0.05);
  }
  .pinned-detail-panel-inner {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
  }
  @media (max-width: 767px) {
    .pinned-detail-panel--open {
      width: 100dvw;
    }
  }
  @keyframes kohort-slide-up {
    from {
      opacity: 0;
      transform: translateY(0.6rem) scale(0.98);
    }
    to {
      opacity: 1;
      transform: translateY(0) scale(1);
    }
  }
  @keyframes kohort-fade-in {
    from {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }
  @keyframes kohort-chip-pop {
    0% {
      transform: scale(1);
    }
    40% {
      transform: scale(1.12);
    }
    100% {
      transform: scale(1);
    }
  }
  .kohort-calendar {
    background: var(--color-surface, white);
    border-radius: var(--radius-xl);
    border: 1px solid var(--color-border);
    overflow: hidden;
    box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.04);
  }
  .kohort-calendar-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--neutral-100);
    background: linear-gradient(135deg, var(--color-primary, var(--primary-500)), white);
    @supports (color: color-mix(in lab, red, red)) {
      background: linear-gradient(135deg, color-mix(in srgb, var(--color-primary, var(--primary-500)) 4%, var(--mix-base, white)), white);
    }
  }
  .kohort-calendar-month-label {
    font-weight: var(--font-weight-bold, 700);
    font-size: 0.9375rem;
    color: var(--neutral-800);
    text-transform: capitalize;
    letter-spacing: -0.01em;
  }
  .kohort-calendar-nav-btn {
    width: 2rem;
    height: 2rem;
    border-radius: var(--radius-lg);
    border: none;
    background: transparent;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-text-secondary, var(--neutral-500));
    transition: background 0.12s, color 0.12s, transform 0.12s;
  }
  .kohort-calendar-nav-btn:hover {
    background: var(--color-primary, var(--primary-500));
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-primary, var(--primary-500)) 10%, var(--mix-base, white));
    }
    color: var(--color-primary, var(--primary-600));
    transform: scale(1.1);
  }
  .kohort-calendar-nav-btn:active {
    transform: scale(0.95);
  }
  .kohort-calendar-weekdays {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    background: var(--neutral-50);
    border-bottom: 1px solid var(--neutral-100);
  }
  .kohort-calendar-weekdays span {
    text-align: center;
    padding: 0.375rem 0;
    font-size: 0.6875rem;
    font-weight: var(--font-weight-bold, 700);
    color: var(--color-text-muted, var(--neutral-400));
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }
  .kohort-calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 1px;
    background: var(--neutral-100);
  }
  .kohort-calendar-cell {
    background: var(--color-surface, white);
    min-height: 5rem;
    padding: 0.3rem 0.35rem 0.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    cursor: pointer;
    transition: background 0.12s ease, box-shadow 0.12s ease;
    position: relative;
  }
  .kohort-calendar-cell:hover {
    background: var(--color-primary, var(--primary-500));
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-primary, var(--primary-500)) 5%, var(--mix-base, white));
    }
    z-index: 1;
  }
  .kohort-calendar-cell--other-month {
    cursor: default;
    background: var(--neutral-50) !important;
    box-shadow: none !important;
    outline: none !important;
  }
  .kohort-calendar-cell--has-events:hover {
    background: var(--color-primary, var(--primary-500));
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-primary, var(--primary-500)) 8%, var(--mix-base, white));
    }
  }
  .kohort-calendar-cell--selected {
    background: var(--color-primary, var(--primary-500)) !important;
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-primary, var(--primary-500)) 12%, var(--mix-base, white)) !important;
    }
    box-shadow: inset 0 0 0 2px var(--color-primary, var(--primary-500));
    z-index: 2;
  }
  .kohort-calendar-cell--today .kohort-calendar-day {
    background: var(--color-primary, var(--primary-500));
    color: white;
    border-radius: 9999px;
    box-shadow: 0 0 0 3px var(--color-primary, var(--primary-500));
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary, var(--primary-500)) 25%, transparent);
    }
  }
  .kohort-calendar-cell--other-month .kohort-calendar-day {
    color: var(--neutral-300);
  }
  .kohort-calendar-day {
    font-size: 0.75rem;
    font-weight: var(--font-weight-semibold, 600);
    width: 1.5rem;
    height: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--neutral-700);
    transition: transform 0.1s;
    flex-shrink: 0;
  }
  .kohort-calendar-cell:not(.kohort-calendar-cell--other-month):hover .kohort-calendar-day {
    transform: scale(1.1);
  }
  .kohort-calendar-event-chip {
    font-size: 0.625rem;
    font-weight: var(--font-weight-semibold, 600);
    padding: 0.15rem 0.375rem;
    border-radius: 9999px;
    background: var(--color-primary, var(--primary-600));
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-primary, var(--primary-600)) 15%, var(--mix-base, white));
    }
    color: var(--color-primary, var(--primary-700));
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in srgb, var(--color-primary, var(--primary-700)) 90%, black);
    }
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    pointer-events: none;
    border: none;
    display: block;
    text-align: left;
  }
  .kohort-calendar-cell--selected .kohort-calendar-event-chip {
    background: var(--color-primary, var(--primary-600));
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-primary, var(--primary-600)) 22%, var(--mix-base, white));
    }
    animation: kohort-chip-pop 0.25s ease;
  }
  .kohort-day-panel {
    margin-top: 0.75rem;
    border-radius: var(--radius-xl);
    background: var(--color-surface, white);
    border: 1px solid var(--color-border);
    box-shadow: 0 4px 16px -2px rgb(0 0 0 / 0.1), 0 2px 4px -1px rgb(0 0 0 / 0.06);
    overflow: hidden;
    animation: kohort-slide-up 0.22s cubic-bezier(0.34, 1.4, 0.64, 1) both;
  }
  .kohort-day-panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem 1rem;
    background: linear-gradient(135deg, var(--color-primary, var(--primary-500)), var(--color-primary, var(--primary-500)));
    @supports (color: color-mix(in lab, red, red)) {
      background: linear-gradient(135deg, color-mix(in srgb, var(--color-primary, var(--primary-500)) 10%, var(--mix-base, white)), color-mix(in srgb, var(--color-primary, var(--primary-500)) 4%, var(--mix-base, white)));
    }
    border-bottom: 1px solid var(--color-primary, var(--primary-500));
    @supports (color: color-mix(in lab, red, red)) {
      border-bottom: 1px solid color-mix(in srgb, var(--color-primary, var(--primary-500)) 15%, transparent);
    }
  }
  .kohort-day-panel-date {
    font-weight: var(--font-weight-bold, 700);
    font-size: 0.875rem;
    color: var(--neutral-800);
    text-transform: capitalize;
    letter-spacing: -0.01em;
  }
  .kohort-day-panel-close {
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 9999px;
    border: none;
    background: white;
    color: var(--color-text-secondary, var(--neutral-500));
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.12s, color 0.12s, transform 0.12s;
    box-shadow: 0 1px 3px rgb(0 0 0 / 0.08);
  }
  .kohort-day-panel-close:hover {
    background: var(--neutral-100);
    color: var(--neutral-800);
    transform: rotate(90deg) scale(1.05);
  }
  .kohort-day-panel-events {
    display: flex;
    flex-direction: column;
    padding: 0.375rem;
  }
  .kohort-day-empty {
    text-align: center;
    padding: 1.25rem 1rem;
    font-size: 0.8125rem;
    color: var(--color-text-muted, var(--neutral-400));
    font-style: italic;
  }
  .kohort-day-event-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.625rem 0.75rem;
    border-radius: 0.75rem;
    border: none;
    background: none;
    cursor: pointer;
    text-align: left;
    width: 100%;
    transition: background 0.12s, transform 0.15s cubic-bezier(0.34, 1.56, 0.64, 1);
    animation: kohort-fade-in 0.18s ease both;
  }
  .kohort-day-event-item:hover {
    background: var(--color-primary, var(--primary-500));
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-primary, var(--primary-500)) 7%, var(--mix-base, white));
    }
    transform: translateX(0.25rem);
  }
  .kohort-day-event-item:active {
    transform: translateX(0.1rem) scale(0.99);
  }
  .kohort-day-event-dot {
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 9999px;
    background: var(--color-primary, var(--primary-500));
    flex-shrink: 0;
    box-shadow: 0 0 0 3px var(--color-primary, var(--primary-500));
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary, var(--primary-500)) 20%, transparent);
    }
  }
  .kohort-day-event-info {
    min-width: 0;
    flex: 1;
  }
  .kohort-day-event-title {
    font-size: 0.875rem;
    font-weight: var(--font-weight-semibold, 600);
    color: var(--neutral-800);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .kohort-day-event-time {
    font-size: 0.75rem;
    color: var(--color-text-muted, var(--neutral-400));
    margin-top: 0.1rem;
  }
  .kohort-day-event-arrow {
    width: 1rem;
    height: 1rem;
    color: var(--neutral-300);
    flex-shrink: 0;
    transition: color 0.12s, transform 0.15s;
  }
  .kohort-day-event-item:hover .kohort-day-event-arrow {
    color: var(--color-primary, var(--primary-500));
    transform: translateX(0.15rem);
  }
  .gallery-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.25rem;
  }
  @media (min-width: 480px) {
    .gallery-grid {
      grid-template-columns: repeat(3, 1fr);
    }
  }
  .gallery-cell {
    position: relative;
    aspect-ratio: 1;
    overflow: hidden;
    border-radius: 0.25rem;
    background: var(--neutral-100);
  }
  .gallery-cell-info {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 0.125rem 0.375rem;
    background: linear-gradient(transparent, rgba(0,0,0,0.5));
    color: white;
  }
  .gallery-filter {
    padding: 0.25rem 0.75rem;
    font-size: 0.75rem;
    border-radius: 999px;
    border: 1px solid var(--color-border);
    background: var(--color-surface, white);
    color: var(--neutral-600);
    cursor: pointer;
    transition: all 0.15s;
  }
  .gallery-filter:hover {
    background: var(--neutral-50);
  }
  .gallery-filter--active {
    background: var(--color-primary, var(--primary-600));
    color: white;
    border-color: var(--color-primary, var(--primary-600));
  }
  .gallery-cell--file {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.375rem;
    padding: 0.75rem 0.5rem;
    text-align: center;
  }
  .gallery-file-icon {
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    background: var(--neutral-400);
    flex-shrink: 0;
  }
  .gallery-file-icon--pdf {
    background: var(--color-error);
  }
  .gallery-file-icon--word {
    background: var(--color-info);
  }
  .gallery-file-icon--excel {
    background: var(--color-success);
  }
  .gallery-file-icon--ppt {
    background: var(--color-warning);
  }
  .gallery-file-icon--text {
    background: var(--neutral-500);
  }
  .gallery-file-icon--audio {
    background: var(--color-primary);
  }
  .gallery-file-icon--poll {
    background: var(--color-primary);
  }
  .gallery-file-icon--calendar {
    background: var(--color-accent);
  }
  .gallery-file-icon--generic {
    background: var(--neutral-400);
  }
  .gallery-file-name {
    font-size: 0.65rem;
    color: var(--neutral-700);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
    line-height: 1.2;
  }
  .gallery-file-size {
    font-size: 0.6rem;
    color: var(--color-text-muted, var(--neutral-400));
  }
  .compose-menu-trigger {
    width: 2.5rem;
    height: 2.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.75rem;
    color: var(--color-text-secondary, var(--neutral-500));
    background: var(--neutral-100);
    border: 1px solid var(--color-border);
    cursor: pointer;
    transition: all 0.15s;
  }
  .compose-menu-trigger:hover {
    background: var(--color-primary, var(--primary-600));
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-primary, var(--primary-600)) 8%, var(--mix-base, white));
    }
    color: var(--color-primary, var(--primary-600));
    border-color: var(--color-primary, var(--primary-600));
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--color-primary, var(--primary-600)) 30%, var(--mix-base, white));
    }
  }
  .compose-menu-popup {
    position: absolute;
    bottom: calc(100% + 8px);
    left: 0;
    min-width: min(14rem, calc(100vw - 2rem));
    max-height: 60vh;
    overflow-y: auto;
    background: var(--color-surface, white);
    border: 1px solid var(--color-border);
    border-radius: 0.75rem;
    box-shadow: 0 8px 24px rgba(0,0,0,0.12);
    padding: 0.25rem;
    z-index: 999;
  }
  .compose-menu-item {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    width: 100%;
    padding: 0.625rem 0.75rem;
    min-height: 2.75rem;
    font-size: 0.8125rem;
    color: var(--neutral-700);
    border-radius: 0.5rem;
    cursor: pointer;
    transition: background 0.1s;
    border: none;
    background: transparent;
    text-align: left;
  }
  .compose-menu-item:hover {
    background: var(--neutral-50);
  }
  .compose-menu-group-label {
    padding: 0.375rem 0.75rem 0.125rem;
    font-size: 0.6875rem;
    font-weight: var(--font-weight-semibold, 600);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--color-text-muted, var(--neutral-400));
    user-select: none;
  }
  .compose-menu-group-label:not(:first-child) {
    margin-top: 0.25rem;
    border-top: 1px solid var(--color-border);
    padding-top: 0.5rem;
  }
  .emoji-picker-btn {
    color: var(--color-text-muted, var(--neutral-400));
    padding: 0.25rem;
    border-radius: 0.375rem;
    border: none;
    background: transparent;
    cursor: pointer;
    transition: color 0.15s;
  }
  .emoji-picker-btn:hover {
    color: var(--neutral-600);
  }
  .emoji-picker-popup {
    position: absolute;
    bottom: 100%;
    right: 0;
    margin-bottom: 0.5rem;
    width: min(20rem, calc(100vw - 2rem));
    max-height: 18rem;
    overflow-y: auto;
    background: var(--color-surface, white);
    border: 1px solid var(--color-border);
    border-radius: 0.75rem;
    box-shadow: 0 8px 24px rgba(0,0,0,0.12);
    padding: 0.5rem;
    z-index: 999;
  }
  .emoji-picker-category {
    font-size: 0.6875rem;
    font-weight: var(--font-weight-semibold, 600);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--color-text-muted, var(--neutral-400));
    padding: 0.375rem 0.25rem 0.25rem;
  }
  .emoji-picker-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(2.5rem, 1fr));
    gap: 0.125rem;
  }
  .emoji-picker-item {
    font-size: 1.25rem;
    width: 2.5rem;
    height: 2.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.375rem;
    border: none;
    background: transparent;
    cursor: pointer;
    transition: background 0.1s;
  }
  .emoji-picker-item:hover {
    background: var(--neutral-100);
  }
  .compose-inline-form {
    background: var(--neutral-50);
    border: 1px solid var(--color-border);
    border-radius: 0.75rem;
    padding: 0.75rem 1rem;
  }
  .lightbox {
    position: fixed;
    inset: 0;
    z-index: 50;
    background: rgba(0,0,0,0.9);
    display: none;
    align-items: center;
    justify-content: center;
  }
  .lightbox--open {
    display: flex;
  }
  .toast {
    display: inline-flex;
    align-items: center;
    gap: 0.625rem;
    padding: 0.75rem 1.25rem;
    border-radius: var(--radius-md);
    font-size: 0.875rem;
    font-weight: var(--font-weight-medium, 500);
    box-shadow: var(--shadow-lg);
    animation: toast-slide-in 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  }
  .toast-success {
    background: var(--color-success);
    color: white;
  }
  .toast-error {
    background: var(--color-error);
    color: white;
  }
  .toast-info {
    background: var(--color-info);
    color: white;
  }
  .nav-tabs {
    display: flex;
    border-bottom: 2px solid var(--color-border);
    gap: 0;
  }
  .nav-tab {
    padding: 0.625rem 1.25rem;
    font-size: 0.875rem;
    font-weight: var(--font-weight-medium, 500);
    color: var(--color-text-secondary, var(--neutral-500));
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    cursor: pointer;
    transition: all 0.2s;
    text-decoration: none;
  }
  .nav-tab:hover {
    color: var(--neutral-700);
  }
  .nav-tab-active {
    color: var(--color-primary, var(--primary-600));
    border-bottom-color: var(--color-primary, var(--primary-600));
    font-weight: var(--font-weight-semibold, 600);
  }
  .link-preview-card {
    display: flex;
    gap: 0.75rem;
    margin-top: 0.5rem;
    padding: 0.625rem;
    border: 1px solid var(--color-border);
    border-radius: 0.625rem;
    background: var(--neutral-50);
    text-decoration: none;
    color: inherit;
    transition: background 0.15s;
    overflow: hidden;
  }
  .link-preview-card:hover {
    background: var(--neutral-100);
  }
  .link-preview-img {
    width: 5rem;
    height: 5rem;
    object-fit: cover;
    border-radius: 0.5rem;
    flex-shrink: 0;
  }
  .link-preview-body {
    min-width: 0;
    flex: 1;
  }
  .link-preview-title {
    font-size: 0.8125rem;
    font-weight: var(--font-weight-semibold, 600);
    color: var(--neutral-800);
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .link-preview-desc {
    font-size: 0.75rem;
    color: var(--color-text-secondary, var(--neutral-500));
    margin-top: 0.25rem;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .link-preview-url {
    font-size: 0.6875rem;
    color: var(--color-text-muted, var(--neutral-400));
    margin-top: 0.25rem;
  }
  .global-search-panel {
    position: absolute;
    top: 100%;
    right: 0;
    margin-top: 0.5rem;
    width: min(22rem, calc(100vw - 2rem));
    background: var(--color-surface, white);
    border: 1px solid var(--color-border);
    border-radius: 0.75rem;
    box-shadow: 0 8px 24px rgba(0,0,0,0.12);
    z-index: 999;
    overflow: hidden;
  }
  .global-search-input {
    width: 100%;
    padding: 0.625rem 0.75rem;
    border: none;
    border-bottom: 1px solid var(--color-border);
    font-size: 0.8125rem;
    background: transparent;
    color: var(--color-text, var(--neutral-800));
    outline: none;
  }
  .global-search-input::placeholder {
    color: var(--color-text-muted, var(--neutral-400));
  }
  .global-search-results {
    max-height: 20rem;
    overflow-y: auto;
  }
  .global-search-result {
    display: block;
    padding: 0.5rem 0.75rem;
    text-decoration: none;
    color: inherit;
    transition: background 0.1s;
    border-bottom: 1px solid var(--neutral-100);
  }
  .global-search-result:hover {
    background: var(--neutral-50);
  }
  .global-search-result:last-child {
    border-bottom: none;
  }
  .kohort-date-separator {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.5rem 1rem;
    color: var(--color-text-muted, var(--neutral-400));
    font-size: 0.6875rem;
    font-weight: var(--font-weight-semibold, 600);
    text-transform: capitalize;
    letter-spacing: 0.02em;
    user-select: none;
  }
  .kohort-date-separator::before, .kohort-date-separator::after {
    content: '';
    flex: 1;
    height: 1px;
    background: var(--neutral-200);
  }
  .hotkeys-overlay {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: rgba(0,0,0,0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(4px);
  }
  .hotkeys-card {
    background: var(--color-surface, white);
    border-radius: 1rem;
    padding: 1.5rem;
    width: 24rem;
    max-width: 90vw;
    box-shadow: 0 20px 60px rgba(0,0,0,0.2);
  }
  .hotkeys-kbd {
    display: inline-flex;
    align-items: center;
    padding: 0.125rem 0.5rem;
    font-size: 0.75rem;
    font-family: inherit;
    font-weight: var(--font-weight-semibold, 600);
    color: var(--neutral-600);
    background: var(--neutral-100);
    border: 1px solid var(--color-border);
    border-radius: 0.375rem;
    white-space: nowrap;
  }
  .profile-card-popup {
    width: 16rem;
    background: var(--color-surface, white);
    border: 1px solid var(--color-border);
    border-radius: 0.75rem;
    box-shadow: 0 8px 24px rgba(0,0,0,0.12);
    padding: 0.875rem;
  }
  .profile-card-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.375rem;
    padding: 0.375rem 0.75rem;
    font-size: 0.75rem;
    font-weight: var(--font-weight-semibold, 600);
    border-radius: 0.5rem;
    background: var(--color-primary, var(--primary-500));
    color: white;
    text-decoration: none;
    transition: opacity 0.15s;
  }
  .profile-card-btn:hover {
    opacity: 0.9;
  }
  .profile-card-btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.375rem 0.75rem;
    font-size: 0.75rem;
    font-weight: var(--font-weight-semibold, 600);
    border-radius: 0.5rem;
    background: var(--neutral-100);
    color: var(--neutral-600);
    text-decoration: none;
    transition: background 0.15s;
  }
  .profile-card-btn-secondary:hover {
    background: var(--neutral-200);
  }
  @media (min-width: 1024px) {
    .content-detail-panel--wide.content-detail-panel--open {
      position: static;
      width: auto;
      min-width: 0;
      flex: 1 1 auto;
      max-width: none;
      border-left: none;
      box-shadow: none;
    }
    :has(> .content-detail-panel--wide.content-detail-panel--open) > [data-controller~="compose-menu"] {
      display: none;
    }
  }
  .ts-viewer {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 1rem;
    min-height: 100%;
  }
  .ts-viewer__header {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--color-border);
  }
  .ts-viewer__title {
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--neutral-900);
    margin: 0;
    line-height: 1.3;
  }
  .ts-viewer__meta {
    font-size: 0.75rem;
    color: var(--neutral-500);
  }
  .ts-viewer__characters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem;
  }
  .ts-viewer__character-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.375rem 0.625rem;
    border-radius: 9999px;
    background: var(--neutral-50, #f8fafc);
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--neutral-700, #334155);
  }
  .ts-viewer__character-pill::before {
    content: '';
    display: inline-block;
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 9999px;
    background: var(--char-color, #9333ea);
    flex-shrink: 0;
  }
  .ts-viewer__body {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
  .ts-viewer__main {
    flex: 1;
    min-width: 0;
  }
  .ts-viewer__aside {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
  }
  .ts-controls {
    display: flex;
    gap: 0.5rem;
  }
  .ts-controls button {
    flex: 1;
    padding: 0.625rem 0.5rem;
    border-radius: 0.5rem;
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
    min-height: 2.75rem;
    transition: background 0.15s, transform 0.1s;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.375rem;
  }
  .ts-controls button:active:not(:disabled) {
    transform: scale(0.97);
  }
  .ts-controls button:disabled {
    opacity: 0.4;
    cursor: not-allowed;
  }
  .ts-controls__play {
    background: #9333ea;
    color: white;
    border: none;
  }
  .ts-controls__play:hover:not(:disabled) {
    background: #7e22ce;
  }
  .ts-controls__pause, .ts-controls__stop {
    background: white;
    color: var(--neutral-600);
    border: 1px solid var(--color-border);
  }
  .ts-controls__pause:hover:not(:disabled), .ts-controls__stop:hover:not(:disabled) {
    background: var(--neutral-100);
  }
  .ts-mode {
    display: none;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.625rem;
    border-radius: 0.5rem;
    background: var(--neutral-50, #f8fafc);
    font-size: 0.75rem;
    color: var(--neutral-700, #334155);
  }
  .ts-mode label {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
    margin: 0;
  }
  .ts-mode__provider {
    color: var(--neutral-400, #94a3b8);
  }
  .ts-status {
    font-size: 0.75rem;
    color: var(--neutral-500);
    min-height: 1.25rem;
    padding: 0 0.25rem;
  }
  .ts-lines {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
  }
  .ts-line {
    padding: 0.625rem 0.75rem;
    border-radius: 0.5rem;
    transition: background 0.15s, box-shadow 0.15s, transform 0.1s;
    scroll-margin: 5rem;
  }
  .ts-line--stage {
    text-align: center;
    font-style: italic;
    color: var(--neutral-500, #64748b);
    font-size: 0.8125rem;
    padding: 0.375rem 0.75rem;
  }
  .ts-line--dialogue {
    background: white;
    border-left: 3px solid var(--char-color, #9333ea);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  }
  .ts-line--dialogue:hover {
    background: var(--neutral-50, #f8fafc);
  }
  .ts-line--current {
    background: var(--char-color, #9333ea);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--char-color, #9333ea) 10%, white);
    }
    box-shadow: 0 0 0 2px var(--char-color, #9333ea);
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 0 0 2px color-mix(in srgb, var(--char-color, #9333ea) 40%, transparent);
    }
  }
  .ts-line__speaker {
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--char-color, #9333ea);
    margin-bottom: 0.125rem;
  }
  .ts-line__text {
    font-size: 0.9375rem;
    line-height: 1.55;
    color: var(--neutral-900, #1e293b);
  }
  .ts-line__direction {
    font-style: italic;
    color: var(--neutral-500, #64748b);
    margin-right: 0.375rem;
  }
  .ts-editor {
    border: 1px solid var(--color-border);
    border-radius: 0.5rem;
    padding: 0.5rem 0.75rem;
    background: white;
  }
  .ts-editor > summary {
    cursor: pointer;
    user-select: none;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--neutral-700, #334155);
    padding: 0.25rem 0;
    list-style: none;
  }
  .ts-editor > summary::-webkit-details-marker {
    display: none;
  }
  .ts-editor > summary::before {
    content: '▸';
    display: inline-block;
    margin-right: 0.375rem;
    transition: transform 0.15s;
    color: var(--neutral-400);
  }
  .ts-editor[open] > summary::before {
    transform: rotate(90deg);
  }
  @media (min-width: 1024px) {
    .ts-viewer {
      padding: 1.5rem 2rem;
      gap: 1.25rem;
    }
    .ts-viewer__title {
      font-size: 1.5rem;
    }
    .ts-viewer__body {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(20rem, 22rem);
      gap: 1.5rem;
      align-items: start;
    }
    .ts-viewer__main {
      max-width: 56rem;
    }
    .ts-viewer__aside {
      position: sticky;
      top: 1rem;
      max-height: calc(100vh - 6rem);
      overflow-y: auto;
      padding-right: 0.25rem;
    }
    .ts-line__text {
      font-size: 1rem;
      line-height: 1.6;
    }
    .ts-line--dialogue {
      padding: 0.75rem 1rem;
    }
  }
}
.kohort-grid {
  display: grid;
  height: 100%;
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .kohort-grid {
    grid-template-columns: 14rem 1fr;
  }
  .kohort-grid--sidebar-collapsed {
    grid-template-columns: 3.5rem 1fr;
  }
}
@media (min-width: 1024px) {
  .kohort-grid {
    grid-template-columns: 14rem 18rem 1fr;
  }
  .kohort-grid--sidebar-collapsed {
    grid-template-columns: 3.5rem 18rem 1fr;
  }
}
@media (min-width: 1536px) {
  .kohort-grid:has(.kohort-sidebar-tertiary) {
    grid-template-columns: 14rem 18rem 1fr 16rem;
  }
  .kohort-grid--sidebar-collapsed:has(.kohort-sidebar-tertiary) {
    grid-template-columns: 3.5rem 18rem 1fr 16rem;
  }
}
.kohort-grid > turbo-frame {
  display: contents;
}
.kohort-main-chat {
  min-height: 0;
  overflow: hidden;
}
body.has-bg-image .kohort-main-chat {
  background: var(--bg-image);
  background-size: cover;
  background-position: center;
}
body.has-bg-image .kohort-messages-scroll, body.has-bg-image .kohort-empty-state {
  background: transparent !important;
}
body.has-bg-image .kohort-message-card {
  background: var(--color-surface, white);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-surface, white) 85%, transparent);
  }
  backdrop-filter: blur(8px);
}
body.has-bg-image .kohort-composer-wrap {
  background: var(--color-surface, white);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-surface, white) 90%, transparent);
  }
}
body.has-bg-image .kohort-topbar {
  background: var(--color-topbar);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-topbar) 90%, transparent);
  }
}
.kohort-sidebar-secondary {
  background: var(--bg-sidebar, var(--color-surface, white));
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--bg-sidebar, var(--color-surface, white)) var(--sidebar-opacity, 100%), transparent);
  }
}
.kohort-sidebar-primary {
  border-right: 1px solid var(--color-border);
  background: var(--color-surface, white);
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: min(18rem, 85vw);
  z-index: 50;
  transform: translateX(-100%);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: none;
}
.kohort-sidebar-primary--open {
  transform: translateX(0);
  box-shadow: 4px 0 16px rgba(0, 0, 0, 0.15);
}
@media (min-width: 768px) {
  .kohort-sidebar-primary {
    position: static;
    transform: none;
    z-index: auto;
    box-shadow: none;
    width: auto;
    transition: none;
  }
  .kohort-sidebar-primary--open {
    box-shadow: none;
  }
}
.kohort-sidebar-primary--collapsed {
  overflow: hidden;
}
.kohort-sidebar-primary--collapsed .sidebar-expanded-content {
  display: none;
}
.kohort-sidebar-primary--collapsed .sidebar-collapsed-content {
  display: flex;
}
.sidebar-collapsed-content {
  display: none;
  flex-direction: column;
  align-items: center;
  padding-top: 0.875rem;
  height: 100%;
}
.sidebar-collapsed-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.75rem;
  cursor: pointer;
  transition: background 0.15s;
  border: none;
  background: transparent;
  padding: 0;
}
.sidebar-collapsed-logo:hover {
  background: var(--neutral-100);
}
.kohort-sidebar-collapse-btn {
  display: none;
}
@media (min-width: 768px) {
  .kohort-sidebar-collapse-btn {
    display: flex;
  }
}
@media (max-width: 767px) {
  .sidebar-collapsed-content {
    display: none !important;
  }
  .kohort-sidebar-primary--collapsed .sidebar-expanded-content {
    display: block;
  }
}
@media (min-width: 768px) {
  .kohort-grid {
    transition: grid-template-columns 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  }
}
.kohort-sidebar-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.5);
  z-index: 40;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s;
}
.kohort-sidebar-overlay.active {
  opacity: 1;
  pointer-events: auto;
}
@media (min-width: 768px) {
  .kohort-sidebar-overlay {
    display: none !important;
  }
}
.kohort-sidebar-close {
  display: flex;
}
@media (min-width: 768px) {
  .kohort-sidebar-close {
    display: none;
  }
}
.kohort-sidebar-secondary {
  border-right: 1px solid var(--color-border);
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: min(18rem, 85vw);
  z-index: 50;
  transform: translateX(-100%);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: none;
}
.kohort-sidebar-secondary--open {
  transform: translateX(0);
  box-shadow: 4px 0 16px rgba(0, 0, 0, 0.15);
}
@media (min-width: 1024px) {
  .kohort-sidebar-secondary {
    position: static;
    transform: none;
    z-index: auto;
    box-shadow: none;
    width: auto;
    transition: none;
  }
  .kohort-sidebar-secondary--open {
    box-shadow: none;
  }
}
.kohort-sidebar-secondary-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.5);
  z-index: 40;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s;
}
.kohort-sidebar-secondary-overlay.active {
  opacity: 1;
  pointer-events: auto;
}
@media (min-width: 1024px) {
  .kohort-sidebar-secondary-overlay {
    display: none !important;
  }
}
.kohort-channels-toggle {
  display: inline-flex;
}
@media (min-width: 1024px) {
  .kohort-channels-toggle {
    display: none;
  }
}
.kohort-sidebar-tertiary {
  border-left: 1px solid var(--color-border);
  background: var(--color-surface);
  display: none;
  flex-direction: column;
  height: 100%;
  overflow-y: auto;
}
@media (min-width: 1536px) {
  .kohort-sidebar-tertiary {
    display: flex;
  }
}
.kohort-group-item {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  border-radius: var(--radius-2xl);
  padding: 0.75rem;
  text-align: left;
  transition: all 0.15s;
  cursor: pointer;
  border: 1px solid var(--color-border);
  background: var(--color-surface, white);
  color: var(--neutral-700);
}
.kohort-group-item:hover {
  background: var(--color-surface-hover, var(--neutral-100));
}
.kohort-group-item--active {
  background: var(--neutral-900);
  color: white;
  border-color: var(--neutral-900);
  box-shadow: var(--shadow-md);
}
.kohort-group-item--active:hover {
  background: var(--neutral-800);
}
.kohort-group-item--child {
  padding: 0.5rem 0.625rem;
  border-radius: var(--radius-xl);
  border: none;
  background: transparent;
}
.kohort-group-item--child:hover {
  background: var(--color-surface-hover, var(--neutral-100));
}
.kohort-group-item--child.kohort-group-item--active {
  background: var(--neutral-900);
  color: white;
}
.kohort-tree-chevron {
  transition: transform 0.15s ease;
}
.kohort-tree-chevron.rotate-90 {
  transform: rotate(90deg);
}
.kohort-tree-children {
  margin-left: 0.875rem;
  padding-left: 0.75rem;
  border-left: 1.5px solid var(--neutral-200);
}
.kohort-view-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.375rem;
  border-radius: var(--radius-lg);
  color: var(--neutral-400);
  transition: all 0.15s;
  cursor: pointer;
  border: none;
  background: none;
}
.kohort-view-btn:hover {
  color: var(--neutral-700);
  background: var(--neutral-100);
}
.kohort-view-btn--active {
  color: var(--primary-600, var(--neutral-900));
  background: var(--neutral-100);
}
.kohort-channel-item {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  border-radius: var(--radius-2xl);
  padding: 0.75rem;
  text-align: left;
  transition: all 0.15s;
  cursor: pointer;
  border: 1px solid var(--color-border);
  background: var(--color-surface, white);
  color: var(--neutral-700);
}
.kohort-channel-item:hover {
  background: var(--color-surface-hover, var(--neutral-100));
}
.kohort-channel-item--active {
  background: var(--color-primary, var(--primary-600));
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-primary, var(--primary-600)) 12%, var(--mix-base, white));
  }
  color: var(--color-primary, var(--primary-900));
  @supports (color: color-mix(in lab, red, red)) {
    color: color-mix(in srgb, var(--color-primary, var(--primary-900)) 90%, black);
  }
  border-color: var(--color-primary, var(--primary-600));
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in srgb, var(--color-primary, var(--primary-600)) 25%, var(--mix-base, white));
  }
  box-shadow: 0 0 0 1px var(--color-primary, var(--primary-600));
  @supports (color: color-mix(in lab, red, red)) {
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--color-primary, var(--primary-600)) 25%, var(--mix-base, white));
  }
}
.kohort-channel-item--sub {
  padding: 0.5rem 0.75rem;
  border: none;
  background: transparent;
  border-radius: var(--radius-lg, 0.5rem);
}
.kohort-channel-item--sub:hover {
  background: var(--neutral-100);
}
.kohort-channel-item--sub.kohort-channel-item--active {
  background: var(--color-primary, var(--primary-600));
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-primary, var(--primary-600)) 8%, var(--mix-base, white));
  }
  border: none;
  box-shadow: none;
}
.kohort-subchannel-line {
  display: inline-block;
  width: 0.625rem;
  height: 0;
  border-bottom: 1.5px solid var(--neutral-300);
  flex-shrink: 0;
}
.kohort-topbar {
  position: relative;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  min-height: 3.5rem;
  flex-shrink: 0;
  border-bottom: 1px solid var(--color-border);
  background: var(--color-topbar);
  backdrop-filter: blur(8px);
  padding: 0 0.375rem;
  gap: 0.375rem;
}
@media (min-width: 768px) {
  .kohort-topbar {
    flex-wrap: nowrap;
    min-height: 4rem;
    padding: 0 1.25rem;
    gap: 1rem;
  }
}
.kohort-topbar-tabs {
  display: flex;
  justify-content: center;
  gap: 0.25rem;
  order: 10;
  flex-basis: 100%;
  padding: 0.25rem 0.5rem 0.375rem;
  border-top: 1px solid var(--color-border);
}
@media (min-width: 640px) {
  .kohort-topbar-tabs {
    order: 0;
    flex-basis: auto;
    flex: 1;
    padding: 0 1rem;
    border-top: none;
  }
}
.kohort-topbar-action {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.4375rem 0.5rem;
  min-width: 2.75rem;
  min-height: 2.75rem;
  justify-content: center;
  border-radius: var(--radius-lg);
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--neutral-600);
  background: transparent;
  border: none;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
  white-space: nowrap;
}
@media (min-width: 768px) {
  .kohort-topbar-action {
    padding: 0.4375rem 0.625rem;
    min-width: auto;
    justify-content: flex-start;
  }
}
.kohort-topbar-action:hover {
  background: var(--neutral-100);
  color: var(--neutral-800);
}
.kohort-topbar-action--active {
  background: var(--color-primary, var(--primary-500));
  color: white;
}
.kohort-topbar-action--active:hover {
  background: var(--color-primary, var(--primary-600));
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-primary, var(--primary-600)) 85%, black);
  }
  color: white;
}
.kohort-topbar-badge {
  display: none;
}
@media (min-width: 768px) {
  .kohort-topbar-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
  }
}
.kohort-topbar-badge-count {
  font-size: 0.6875rem;
  font-weight: 700;
  min-width: 1rem;
  text-align: center;
  color: var(--neutral-500);
}
.kohort-view-tabs {
  display: flex;
  gap: 0.5rem;
  border-radius: var(--radius-2xl);
  border: 1px solid var(--color-border);
  background: var(--color-surface, white);
  padding: 0.25rem;
  box-shadow: var(--shadow-sm);
}
.kohort-view-tab {
  border-radius: var(--radius-xl);
  padding: 0.25rem 0.75rem;
  font-size: 0.875rem;
  cursor: pointer;
  transition: all 0.15s;
  border: none;
  background: transparent;
  color: var(--neutral-600);
}
.kohort-view-tab:hover {
  background: var(--color-surface-hover, var(--neutral-100));
}
.kohort-view-tab--active {
  background: var(--color-primary, var(--primary-500));
  color: white;
  box-shadow: var(--shadow-sm);
}
.kohort-view-tab--active:hover {
  background: var(--color-primary, var(--primary-600));
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-primary, var(--primary-600)) 85%, black);
  }
}
.kohort-message-card {
  border-radius: var(--radius-2xl);
  border: 1px solid var(--color-border);
  background: var(--color-surface, white);
  padding: 1rem 1.125rem;
  box-shadow: var(--shadow-sm);
  transition: box-shadow 0.15s, border-color 0.15s;
}
.kohort-message-card:hover {
  box-shadow: var(--shadow-md);
  border-color: var(--neutral-300);
}
.kohort-composer-wrap {
  border-top: 1px solid var(--color-border);
  background: var(--color-surface, white);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-surface, white) 95%, transparent);
  }
  backdrop-filter: blur(8px);
  padding: 0.75rem 0.5rem;
  flex-shrink: 0;
  position: sticky;
  bottom: 0;
}
[data-controller~="view-tabs"][data-active-tab="landing"] .kohort-composer-wrap, [data-controller~="view-tabs"][data-active-tab="landing"] .widget-dock, [data-controller~="view-tabs"][data-active-tab="landing"] .widget-dock-backdrop {
  display: none !important;
}
@media (min-width: 768px) {
  .kohort-composer-wrap {
    padding: 1rem 1.25rem;
  }
}
.kohort-composer-card {
  position: relative;
  border-radius: var(--radius-2xl);
  border: 1px solid var(--color-border);
  background: var(--color-surface, white);
  padding: 0.875rem;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.kohort-composer-card:focus-within {
  border-color: var(--color-primary, var(--primary-400));
  box-shadow: 0 0 0 3px var(--color-primary, var(--primary-500));
  @supports (color: color-mix(in lab, red, red)) {
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary, var(--primary-500)) 12%, transparent);
  }
}
.kohort-composer-input {
  min-height: 2.75rem;
  border-radius: var(--radius-xl);
  border: none;
  background: transparent;
  padding: 0.375rem 0;
  font-size: 0.875rem;
  color: var(--neutral-500);
  width: 100%;
  resize: none;
  line-height: 1.6;
}
.kohort-composer-input:focus {
  outline: none;
  color: var(--color-text, var(--neutral-800));
}
.widget-dock {
  flex-shrink: 0;
  border-right: 1px solid var(--color-border);
  background: var(--color-surface, white);
  display: none;
  flex-direction: row;
}
@media (max-width: 1023px) {
  .widget-dock {
    position: fixed;
    left: 0;
    top: 0;
    bottom: 0;
    z-index: 50;
    transform: translateX(-100%);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: none;
    display: flex;
  }
  .widget-dock.widget-dock--open {
    transform: translateX(0);
    box-shadow: 4px 0 16px rgba(0, 0, 0, 0.1);
  }
}
@media (min-width: 1024px) {
  .widget-dock {
    display: flex;
  }
}
.widget-dock-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  z-index: 40;
  opacity: 0;
  transition: opacity 0.3s;
  pointer-events: none;
}
.widget-dock-backdrop.active {
  display: block;
  opacity: 1;
  pointer-events: auto;
}
@media (min-width: 1024px) {
  .widget-dock-backdrop {
    display: none !important;
  }
}
.widget-dock-close {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  z-index: 10;
  width: 2.75rem;
  height: 2.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.5rem;
  border: none;
  background: var(--neutral-100);
  color: var(--neutral-500);
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}
.widget-dock-close:hover {
  background: var(--neutral-200);
  color: var(--neutral-700);
}
.widget-dock-tabs {
  width: 3.25rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 0;
  border-right: 1px solid var(--neutral-100);
  overflow-y: auto;
}
.widget-dock-tab {
  width: 2.75rem;
  height: 2.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.5rem;
  color: var(--neutral-400);
  background: transparent;
  border: none;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}
.widget-dock-tab:hover {
  background: var(--neutral-100);
  color: var(--neutral-700);
}
.widget-dock-tab--active {
  background: var(--color-primary, var(--primary-500));
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-primary, var(--primary-500)) 12%, var(--mix-base, white));
  }
  color: var(--color-primary, var(--primary-500));
}
.widget-dock-panel {
  width: 13rem;
  overflow-y: auto;
  padding: 0.375rem;
  border-right: 1px solid var(--color-border);
  background: var(--color-surface, white);
}
.kohort-info {
  border-radius: var(--radius-3xl);
  border: 1px solid var(--color-accent, var(--accent-500));
  @supports (color: color-mix(in lab, red, red)) {
    border: 1px solid color-mix(in srgb, var(--color-accent, var(--accent-500)) 30%, var(--mix-base, white));
  }
  background: var(--color-accent, var(--accent-500));
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-accent, var(--accent-500)) 8%, var(--mix-base, white));
  }
  padding: 1rem;
  font-size: 0.875rem;
  color: var(--color-accent, var(--accent-700));
  @supports (color: color-mix(in lab, red, red)) {
    color: color-mix(in srgb, var(--color-accent, var(--accent-700)) 80%, black);
  }
}
.kohort-pinned-rail {
  position: sticky;
  top: 1.5rem;
  max-height: calc(100dvh - 7.5rem);
  overflow-y: auto;
  z-index: 10;
  flex-direction: column;
  gap: 0.75rem;
  border-radius: var(--radius-3xl);
  border: 1px solid var(--color-border);
  background: var(--color-surface, white);
  padding: 0.875rem;
  min-width: 200px;
  width: 100%;
}
.kohort-pinned-rail-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid var(--neutral-100);
}
.kohort-pin-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.25rem;
  height: 1.25rem;
  border-radius: 9999px;
  background: var(--color-primary, var(--primary-500));
  color: white;
  font-size: 0.6875rem;
  font-weight: 700;
  padding: 0 0.3rem;
  line-height: 1;
}
.kohort-pin-number {
  position: absolute;
  top: -0.35rem;
  left: -0.35rem;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 1.1rem;
  height: 1.1rem;
  border-radius: 9999px;
  background: var(--color-primary, var(--primary-500));
  color: white;
  font-size: 0.6rem;
  font-weight: 700;
  line-height: 1;
}
.kohort-skeleton {
  background: linear-gradient(90deg, var(--neutral-100) 25%, var(--neutral-50) 50%, var(--neutral-100) 75%);
  background-size: 200% 100%;
  animation: kohort-skeleton-pulse 1.5s ease-in-out infinite;
}
@keyframes kohort-skeleton-pulse {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}
.kohort-settings-overlay {
  position: fixed;
  inset: 0;
  z-index: 50;
  display: none;
}
.kohort-settings-overlay--open {
  display: flex;
}
.kohort-settings-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.4);
}
.kohort-settings-panel {
  position: relative;
  margin-left: auto;
  height: 100%;
  width: 100%;
  max-width: 36rem;
  background: white;
  box-shadow: var(--shadow-xl);
  display: flex;
  flex-direction: column;
}
.kb-mount {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
}
.kb-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}
.kb-error {
  padding: 2rem;
  text-align: center;
  color: var(--color-error);
  font-size: 0.875rem;
}
.kb-wrapper {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
}
.kb-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0 1.5rem;
  height: 3.25rem;
  background: rgba(0,0,0,0.18);
  backdrop-filter: blur(8px);
  flex-shrink: 0;
  border-bottom: 1px solid rgba(255,255,255,0.12);
}
.kb-header-left {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
}
.kb-header-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}
.kb-back-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  flex-shrink: 0;
  border: 1px solid rgba(255,255,255,0.25);
  border-radius: 8px;
  background: rgba(255,255,255,0.15);
  color: rgba(255,255,255,0.9);
  cursor: pointer;
  transition: background 0.15s;
}
.kb-back-btn:hover {
  background: rgba(255,255,255,0.25);
}
.kb-back-btn svg {
  width: 1rem;
  height: 1rem;
}
.kb-header-info {
  min-width: 0;
}
.kb-title {
  font-size: 0.9375rem;
  font-weight: 700;
  color: white;
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.kb-subtitle {
  font-size: 0.6875rem;
  color: rgba(255,255,255,0.65);
  line-height: 1;
}
.kb-btn-secondary {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.375rem 0.75rem;
  border: 1px solid rgba(255,255,255,0.3);
  border-radius: 8px;
  background: rgba(255,255,255,0.15);
  color: rgba(255,255,255,0.9);
  font-size: 0.8125rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s;
  white-space: nowrap;
}
.kb-btn-secondary:hover {
  background: rgba(255,255,255,0.25);
}
.kb-btn-secondary svg {
  width: 0.875rem;
  height: 0.875rem;
  flex-shrink: 0;
}
.kb-board {
  display: flex;
  align-items: flex-start;
  gap: 0.875rem;
  padding: 1.25rem 1.5rem 2rem;
  overflow-x: auto;
  overflow-y: hidden;
  flex: 1;
  min-height: 0;
  background: rgba(0,0,0,0.08);
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,0.2) transparent;
}
.kb-column {
  flex: 0 0 min(17rem, 80vw);
  width: min(17rem, 80vw);
  display: flex;
  flex-direction: column;
  max-height: calc(100vh - 11rem);
  background: var(--neutral-200);
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 0 0 1px rgba(0,0,0,0.04);
  transition: box-shadow 0.15s, background 0.15s;
  overflow: hidden;
}
.kb-column--over {
  box-shadow: 0 0 0 2px var(--color-primary), 0 4px 12px rgba(124,58,237,0.2);
  background: var(--color-primary-light);
}
.kb-column-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 0.75rem 0.5rem;
  flex-shrink: 0;
}
.kb-column-title-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
  flex: 1;
}
.kb-column-title {
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--color-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.kb-column-count {
  font-size: 0.6875rem;
  font-weight: 700;
  color: var(--color-text-secondary);
  background: var(--color-hover);
  border-radius: 99px;
  padding: 0.0625rem 0.45rem;
  flex-shrink: 0;
  line-height: 1.5;
}
.kb-column-actions {
  display: flex;
  align-items: center;
  gap: 0.125rem;
  flex-shrink: 0;
  opacity: 0;
  transition: opacity 0.15s;
}
.kb-column:hover .kb-column-actions {
  opacity: 1;
}
.kb-icon-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: var(--color-text-secondary);
  cursor: pointer;
  transition: background 0.12s, color 0.12s;
}
.kb-icon-btn:hover {
  background: var(--color-hover);
  color: var(--color-text);
}
.kb-icon-btn--danger:hover {
  background: var(--color-error-light);
  color: var(--color-error);
}
.kb-icon-btn svg {
  width: 0.875rem;
  height: 0.875rem;
}
.kb-cards-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  overflow-y: auto;
  flex: 1;
  padding: 0 0.5rem;
  min-height: 1rem;
  scrollbar-width: thin;
  scrollbar-color: rgba(0,0,0,0.12) transparent;
}
.kb-card {
  background: var(--color-surface);
  border-radius: 8px;
  padding: 0.625rem 0.75rem;
  box-shadow: 0 1px 2px rgba(9,30,66,0.1), 0 0 0 1px rgba(9,30,66,0.06);
  cursor: pointer;
  user-select: none;
  transition: box-shadow 0.15s, transform 0.1s;
}
.kb-card:hover {
  box-shadow: 0 4px 12px rgba(9,30,66,0.15), 0 0 0 1px var(--color-hover);
  transform: translateY(-1px);
}
.kb-card--dragging {
  opacity: 0.35;
  transform: rotate(1.5deg) scale(1.02);
  box-shadow: 0 8px 24px rgba(9,30,66,0.2);
}
.kb-card-labels {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  margin-bottom: 0.5rem;
}
.kb-label {
  height: 0.375rem;
  min-width: 2.5rem;
  border-radius: 99px;
  display: inline-block;
  opacity: 0.85;
}
.kb-card:hover .kb-label {
  opacity: 1;
}
.kb-card-title {
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--color-text);
  line-height: 1.45;
  margin: 0;
  word-break: break-word;
}
.kb-card-footer {
  margin-top: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}
.kb-card-badges {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.3rem;
}
.kb-card-assignee {
  flex-shrink: 0;
}
.kb-due-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  font-size: 0.6875rem;
  font-weight: 500;
  padding: 0.15rem 0.45rem;
  border-radius: 99px;
  background: var(--neutral-100);
  color: var(--color-text-secondary);
}
.kb-due-badge--overdue {
  background: var(--color-error-light);
  color: var(--color-error);
}
.kb-due-badge--soon {
  background: var(--color-warning-light);
  color: var(--color-warning);
}
.kb-checklist-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  font-size: 0.6875rem;
  font-weight: 500;
  padding: 0.15rem 0.45rem;
  border-radius: 99px;
  background: var(--neutral-100);
  color: var(--color-text-secondary);
}
.kb-checklist-badge--done {
  background: var(--color-success-light);
  color: var(--color-success);
}
.kb-card-meta-icon {
  color: var(--neutral-400);
}
.kb-add-card-btn {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  width: 100%;
  padding: 0.5rem 0.75rem;
  margin: 0.375rem 0 0;
  border: none;
  border-radius: 0 0 12px 12px;
  background: transparent;
  color: var(--color-text-secondary);
  font-size: 0.8125rem;
  cursor: pointer;
  transition: background 0.12s, color 0.12s;
  flex-shrink: 0;
}
.kb-add-card-btn:hover {
  background: rgba(9,30,66,0.06);
  color: var(--color-text);
}
.kb-add-card-btn svg {
  width: 0.875rem;
  height: 0.875rem;
  flex-shrink: 0;
}
.kb-add-column-hint {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.625rem 1rem;
  border-radius: 12px;
  background: rgba(255,255,255,0.35);
  border: 1.5px dashed rgba(0,0,0,0.18);
  color: rgba(0,0,0,0.45);
  font-size: 0.8125rem;
  font-weight: 500;
  cursor: pointer;
  align-self: flex-start;
  white-space: nowrap;
  transition: background 0.15s, color 0.15s, border-color 0.15s;
}
.kb-add-column-hint:hover {
  background: rgba(255,255,255,0.6);
  color: rgba(0,0,0,0.7);
  border-color: rgba(0,0,0,0.3);
}
.kb-add-column-hint svg {
  width: 0.875rem;
  height: 0.875rem;
}
.kb-board-list-header {
  padding: 1.25rem 1.25rem 0.625rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.kb-board-list-title {
  font-size: 0.6875rem;
  font-weight: 800;
  color: var(--neutral-400);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.kb-board-list {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  padding: 0 0.875rem 1.25rem;
}
.kb-board-card {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  padding: 0.875rem 1rem;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 12px;
  cursor: pointer;
  text-align: left;
  width: 100%;
  box-shadow: 0 1px 2px rgba(0,0,0,0.04);
  transition: box-shadow 0.15s, transform 0.15s, border-color 0.15s;
}
.kb-board-card:hover {
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  transform: translateY(-1px);
  border-color: var(--neutral-300);
}
.kb-board-card-icon {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 10px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.kb-board-card-icon svg {
  width: 1.25rem;
  height: 1.25rem;
}
.kb-board-card-body {
  flex: 1;
  min-width: 0;
}
.kb-board-card-title {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--neutral-800);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin: 0;
}
.kb-board-card-date {
  font-size: 0.75rem;
  color: var(--neutral-400);
  margin: 0.1rem 0 0;
}
.kb-board-card-arrow {
  width: 1rem;
  height: 1rem;
  color: var(--neutral-300);
  flex-shrink: 0;
}
.kb-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
  padding: 3.5rem 2rem;
  text-align: center;
}
.kb-empty-state svg {
  width: 3.5rem;
  height: 3.5rem;
  color: var(--neutral-300);
}
.kb-empty-state p {
  margin: 0;
  font-size: 0.875rem;
  color: var(--neutral-500);
}
.kb-empty-hint {
  font-size: 0.75rem !important;
  color: var(--neutral-300) !important;
}
.kb-modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(0,0,0,0.55);
  backdrop-filter: blur(4px);
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 3rem 1rem 2rem;
  overflow-y: auto;
  animation: kb-fade-in 0.15s ease;
}
.kb-modal {
  background: var(--color-surface);
  border-radius: 16px;
  box-shadow: 0 24px 60px rgba(0,0,0,0.25), 0 0 0 1px rgba(0,0,0,0.06);
  width: 100%;
  max-width: 46rem;
  display: flex;
  flex-direction: column;
  animation: kb-slide-up 0.22s cubic-bezier(0.22,1,0.36,1);
  flex-shrink: 0;
}
.kb-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.25rem 1.5rem 0.875rem;
  border-bottom: 1px solid var(--neutral-100);
}
.kb-modal-col-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--color-text-secondary);
  background: var(--neutral-100);
  padding: 0.3rem 0.75rem;
  border-radius: 99px;
}
.kb-modal-close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border: none;
  border-radius: 8px;
  background: transparent;
  color: var(--neutral-500);
  cursor: pointer;
  transition: background 0.12s, color 0.12s;
}
.kb-modal-close:hover {
  background: var(--neutral-100);
  color: var(--color-text);
}
.kb-modal-close svg {
  width: 1rem;
  height: 1rem;
}
.kb-modal-body {
  padding: 1rem 1.5rem 1.25rem;
}
.kb-modal-title-input {
  width: 100%;
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--color-text);
  border: none;
  outline: none;
  resize: none;
  padding: 0.25rem 0.5rem 0.25rem 0;
  line-height: 1.35;
  background: transparent;
  border-radius: 6px;
  font-family: inherit;
  box-sizing: border-box;
  transition: background 0.12s;
}
.kb-modal-title-input:hover {
  background: var(--neutral-100);
}
.kb-modal-title-input:focus {
  background: var(--neutral-100);
  outline: 2px solid var(--color-primary);
  outline-offset: 0;
}
.kb-modal-layout {
  display: flex;
  gap: 1.5rem;
  margin-top: 1rem;
}
.kb-modal-main {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.kb-modal-sidebar {
  width: 12rem;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.kb-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--color-primary);
  color: white;
  font-weight: 700;
  flex-shrink: 0;
  overflow: hidden;
  border: 2px solid var(--color-surface);
}
.kb-avatar--none {
  background: var(--neutral-200);
  color: var(--neutral-400);
  font-weight: 400;
}
.kb-member-list {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.kb-member-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0.35rem 0.5rem;
  border-radius: 0.5rem;
  cursor: pointer;
  text-align: left;
  border: none;
  background: transparent;
  transition: background 0.12s;
}
.kb-member-row:hover {
  background: var(--neutral-100);
}
.kb-member-row--selected {
  background: var(--color-primary-light) !important;
}
.kb-member-row--selected .kb-member-name {
  color: var(--color-primary);
  font-weight: 600;
}
.kb-member-name {
  font-size: 0.8125rem;
  color: var(--neutral-700);
}
.kb-modal-section {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.kb-modal-section-header {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.6875rem;
  font-weight: 800;
  color: var(--color-text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.kb-modal-section-header svg {
  width: 0.875rem;
  height: 0.875rem;
}
.kb-modal-desc {
  width: 100%;
  padding: 0.625rem 0.75rem;
  border: 1.5px solid var(--neutral-300);
  border-radius: 8px;
  font-size: 0.875rem;
  color: var(--color-text);
  resize: vertical;
  font-family: inherit;
  box-sizing: border-box;
  line-height: 1.5;
  background: var(--neutral-50);
  transition: border-color 0.15s, background 0.15s;
}
.kb-modal-desc:focus {
  outline: none;
  border-color: var(--color-primary);
  background: var(--color-surface);
  box-shadow: 0 0 0 2px rgba(124,58,237,0.15);
}
.kb-modal-footer {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.875rem 1.5rem;
  border-top: 1px solid var(--neutral-100);
  background: var(--neutral-50);
  border-radius: 0 0 16px 16px;
}
.kb-btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.5rem 1.25rem;
  border: none;
  border-radius: 8px;
  background: var(--color-primary);
  color: white;
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s, box-shadow 0.15s;
  box-shadow: 0 1px 4px rgba(124,58,237,0.3);
}
.kb-btn-primary:hover {
  background: var(--color-primary-hover);
  box-shadow: 0 3px 8px var(--color-primary);
  @supports (color: color-mix(in lab, red, red)) {
    box-shadow: 0 3px 8px color-mix(in srgb, var(--color-primary) 35%, transparent);
  }
}
.kb-btn-danger {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.5rem 1rem;
  border: 1.5px solid var(--color-error);
  border-radius: 8px;
  background: var(--color-surface);
  color: var(--color-error);
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  margin-left: auto;
  transition: background 0.15s, border-color 0.15s;
}
.kb-btn-danger:hover {
  background: var(--color-error-light);
  border-color: var(--color-error);
}
.kb-btn-danger svg {
  width: 0.875rem;
  height: 0.875rem;
}
.kb-btn-ghost {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.375rem 0.75rem;
  border: 1.5px solid var(--neutral-300);
  border-radius: 6px;
  background: var(--color-surface);
  color: var(--color-text-secondary);
  font-size: 0.8125rem;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.12s, border-color 0.12s;
}
.kb-btn-ghost:hover {
  background: var(--neutral-100);
  border-color: var(--neutral-400);
  color: var(--color-text);
}
.kb-label-picker {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.kb-label-pick {
  width: 1.625rem;
  height: 1.625rem;
  border-radius: 6px;
  border: 2.5px solid transparent;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.1s, border-color 0.1s, box-shadow 0.1s;
}
.kb-label-pick:hover {
  transform: scale(1.18);
}
.kb-label-pick--active {
  border-color: white;
  box-shadow: 0 0 0 2.5px rgba(0,0,0,0.35);
}
.kb-date-input, .kb-select {
  width: 100%;
  padding: 0.4375rem 0.625rem;
  border: 1.5px solid var(--neutral-300);
  border-radius: 6px;
  font-size: 0.8125rem;
  color: var(--color-text);
  background: var(--neutral-50);
  box-sizing: border-box;
  transition: border-color 0.15s;
}
.kb-date-input:focus, .kb-select:focus {
  outline: none;
  border-color: var(--color-primary);
  background: var(--color-surface);
}
.kb-btn-calendar {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  width: 100%;
  padding: 0.4375rem 0.625rem;
  border: 1.5px solid var(--neutral-300);
  border-radius: 6px;
  background: var(--neutral-50);
  color: var(--color-text-secondary);
  font-size: 0.75rem;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.12s, border-color 0.12s, color 0.12s;
}
.kb-btn-calendar:hover:not(:disabled) {
  background: var(--color-info-light);
  color: var(--color-info);
  border-color: var(--color-info);
}
.kb-btn-calendar:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.kb-btn-calendar svg {
  width: 0.875rem;
  height: 0.875rem;
  flex-shrink: 0;
}
.kb-link-btn {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0.4375rem 0.625rem;
  border: 1.5px solid var(--neutral-300);
  border-radius: 6px;
  background: var(--neutral-50);
  color: var(--color-text-secondary);
  font-size: 0.75rem;
  font-weight: 500;
  cursor: pointer;
  text-align: left;
  transition: background 0.12s, border-color 0.12s, color 0.12s;
}
.kb-link-btn:hover {
  background: var(--neutral-100);
  border-color: var(--neutral-400);
  color: var(--color-text);
}
.kb-link-btn svg {
  width: 0.875rem;
  height: 0.875rem;
  flex-shrink: 0;
}
.kb-checklist-bar {
  height: 0.3125rem;
  background: var(--neutral-300);
  border-radius: 99px;
  overflow: hidden;
  margin-bottom: 0.125rem;
}
.kb-checklist-bar-fill {
  height: 100%;
  background: var(--color-primary);
  border-radius: 99px;
  transition: width 0.3s cubic-bezier(0.34,1.56,0.64,1);
}
.kb-checklist-progress-text {
  margin-left: auto;
  font-size: 0.6875rem;
  color: var(--color-text-secondary);
  font-weight: 600;
}
.kb-checklist-items {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}
.kb-check-item {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
  padding: 0.3125rem 0.375rem;
  border-radius: 6px;
  cursor: default;
  transition: background 0.1s;
}
.kb-check-item:hover {
  background: var(--neutral-100);
}
.kb-check-input {
  flex-shrink: 0;
  width: 1rem;
  height: 1rem;
  margin-top: 0.1rem;
  border-radius: 4px;
  cursor: pointer;
  accent-color: var(--color-primary);
}
.kb-check-text {
  flex: 1;
  font-size: 0.8125rem;
  color: var(--color-text);
  line-height: 1.45;
  min-width: 0;
}
.kb-check-text--done {
  text-decoration: line-through;
  color: var(--neutral-400);
}
.kb-check-remove {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  border: none;
  border-radius: 4px;
  background: transparent;
  color: var(--neutral-400);
  font-size: 1rem;
  line-height: 1;
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.12s, color 0.12s, background 0.12s;
}
.kb-check-item:hover .kb-check-remove {
  opacity: 1;
}
.kb-check-remove:hover {
  color: var(--color-error);
  background: var(--color-error-light);
}
.kb-add-check-row {
  display: flex;
  gap: 0.375rem;
  margin-top: 0.375rem;
}
.kb-add-check-input {
  flex: 1;
  padding: 0.4375rem 0.625rem;
  border: 1.5px solid var(--neutral-300);
  border-radius: 6px;
  font-size: 0.8125rem;
  color: var(--color-text);
  background: var(--neutral-50);
  box-sizing: border-box;
  transition: border-color 0.15s;
}
.kb-add-check-input:focus {
  outline: none;
  border-color: var(--color-primary);
  background: var(--color-surface);
}
@keyframes kb-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes kb-slide-up {
  from {
    opacity: 0;
    transform: translateY(1.25rem) scale(0.98);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.kb-blocked-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.125rem 0.375rem;
  border-radius: 0.25rem;
  background: #ffebe6;
  color: #dc2626;
  font-size: 0.6875rem;
  font-weight: 600;
  line-height: 1;
}
.kb-blocked-badge svg {
  width: 0.625rem;
  height: 0.625rem;
  flex-shrink: 0;
}
.kb-dep-count {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  padding: 0.125rem 0.375rem;
  border-radius: 0.25rem;
  background: #ede9fe;
  color: #7c3aed;
  font-size: 0.6875rem;
  font-weight: 600;
  line-height: 1;
}
.kb-dep-count svg {
  width: 0.625rem;
  height: 0.625rem;
  flex-shrink: 0;
}
.kb-dep-list {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}
.kb-dep-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.375rem 0.5rem;
  border-radius: 0.375rem;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  font-size: 0.75rem;
  min-height: 2.75rem;
}
.kb-dep-item-info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}
.kb-dep-item-title {
  font-weight: 600;
  color: #1e293b;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.kb-dep-item-meta {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  color: #64748b;
  font-size: 0.6875rem;
}
.kb-dep-status {
  display: inline-flex;
  align-items: center;
  padding: 0.0625rem 0.3125rem;
  border-radius: 0.25rem;
  font-size: 0.625rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  flex-shrink: 0;
}
.kb-dep-status--done {
  background: #e3fcef;
  color: #16a34a;
}
.kb-dep-status--pending {
  background: #ffebe6;
  color: #dc2626;
}
.kb-dep-remove {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  border: none;
  border-radius: 0.25rem;
  background: transparent;
  color: #94a3b8;
  cursor: pointer;
  flex-shrink: 0;
  font-size: 0.875rem;
  line-height: 1;
}
.kb-dep-remove:hover {
  background: #fee2e2;
  color: #dc2626;
}
.kb-dep-picker {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  max-height: 12rem;
  overflow-y: auto;
  border: 1px solid #e2e8f0;
  border-radius: 0.375rem;
  padding: 0.25rem;
  margin-top: 0.375rem;
}
.kb-dep-picker-group {
  font-size: 0.625rem;
  font-weight: 700;
  color: #94a3b8;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 0.25rem 0.375rem 0.125rem;
}
.kb-dep-picker-card {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.375rem 0.5rem;
  border: none;
  border-radius: 0.25rem;
  background: transparent;
  cursor: pointer;
  font-size: 0.75rem;
  color: #334155;
  text-align: left;
  width: 100%;
  min-height: 2.75rem;
}
.kb-dep-picker-card:hover {
  background: #f1f5f9;
}
.kb-dep-add-btn {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.375rem 0.5rem;
  border: 1px dashed #cbd5e1;
  border-radius: 0.375rem;
  background: transparent;
  cursor: pointer;
  font-size: 0.75rem;
  color: #7c3aed;
  font-weight: 600;
  width: 100%;
  margin-top: 0.25rem;
  min-height: 2.75rem;
}
.kb-dep-add-btn:hover {
  background: #f5f3ff;
  border-color: #a78bfa;
}
.kb-dep-add-btn svg {
  width: 0.75rem;
  height: 0.75rem;
  flex-shrink: 0;
}
.kb-dep-svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 5;
  overflow: visible;
}
.kb-dep-line--satisfied {
  stroke: #22c55e;
  stroke-width: 2;
  fill: none;
  stroke-dasharray: 6 3;
  opacity: 0.6;
}
.kb-dep-line--blocked {
  stroke: #ef4444;
  stroke-width: 2;
  fill: none;
  stroke-dasharray: 6 3;
  opacity: 0.7;
}
.kb-dep-arrow--satisfied {
  fill: #22c55e;
  opacity: 0.6;
}
.kb-dep-arrow--blocked {
  fill: #ef4444;
  opacity: 0.7;
}
.kb-toggle-deps {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.375rem 0.75rem;
  border: 1px solid rgba(255,255,255,0.3);
  border-radius: 8px;
  background: rgba(255,255,255,0.15);
  color: rgba(255,255,255,0.9);
  font-size: 0.8125rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s;
  white-space: nowrap;
}
.kb-toggle-deps:hover {
  background: rgba(255,255,255,0.25);
}
.kb-toggle-deps svg {
  width: 0.875rem;
  height: 0.875rem;
  flex-shrink: 0;
}
.kb-toggle-deps--active {
  background: rgba(124,58,237,0.4);
  border-color: rgba(124,58,237,0.6);
}
.kb-board {
  position: relative;
}
@media (max-width: 40rem) {
  .kb-modal-layout {
    flex-direction: column;
  }
  .kb-modal-sidebar {
    width: 100%;
  }
  .kb-modal-overlay {
    padding: 1rem 0.5rem;
  }
  .kb-modal {
    border-radius: 12px;
  }
  .kb-dep-svg {
    display: none;
  }
  .kb-toggle-deps {
    display: none;
  }
}
.kohort-files-toolbar {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--color-border);
  margin-bottom: 0.75rem;
}
.kohort-files-toolbar-row {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}
.kohort-files-search {
  flex: 1;
  padding: 0.5rem 0.75rem;
  min-height: 2.5rem;
  border-radius: 0.5rem;
  border: 1px solid var(--color-border);
  background: var(--neutral-50);
  font-size: 0.8125rem;
  color: var(--neutral-800);
  outline: none;
  transition: border-color 0.15s;
}
.kohort-files-search:focus {
  border-color: var(--color-primary);
  background: var(--color-surface);
}
.kohort-files-sort {
  padding: 0.5rem 0.625rem;
  min-height: 2.5rem;
  border-radius: 0.5rem;
  border: 1px solid var(--color-border);
  background: var(--neutral-50);
  font-size: 0.8125rem;
  color: var(--neutral-700);
  outline: none;
  cursor: pointer;
}
.kohort-files-type-chips, .kohort-files-tag-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
  align-items: center;
}
.kohort-files-count {
  font-size: 0.75rem;
  color: var(--neutral-400);
  margin-top: 0.125rem;
}
.kohort-tag-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.2rem 0.6rem;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 500;
  border: 1px solid var(--color-border);
  background: var(--neutral-100);
  color: var(--neutral-600);
  cursor: pointer;
  transition: background 0.12s, border-color 0.12s, color 0.12s;
  white-space: nowrap;
}
.kohort-tag-chip:hover {
  background: var(--neutral-200);
}
.kohort-tag-chip--active {
  background: var(--color-primary);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-primary) 12%, var(--mix-base, white));
  }
  border-color: var(--color-primary);
  color: var(--color-primary);
}
.kohort-tag-chip--tag {
  color: var(--neutral-500);
}
.kohort-tag-chip--file {
  background: var(--color-primary);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-primary) 8%, var(--mix-base, white));
  }
  border-color: var(--color-primary);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in srgb, var(--color-primary) 25%, var(--mix-base, white));
  }
  color: var(--color-primary);
  font-size: 0.6875rem;
}
.kohort-tag-chip--clear {
  background: var(--color-error-light);
  border-color: var(--color-error);
  color: var(--color-error);
}
.kohort-tag-chip-count {
  font-size: 0.625rem;
  background: var(--neutral-200);
  border-radius: 9999px;
  padding: 0 0.3rem;
}
.kohort-tag-chip--active .kohort-tag-chip-count {
  background: var(--color-primary);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-primary) 20%, var(--mix-base, white));
  }
}
.kohort-files-card {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.875rem;
  border-radius: 0.75rem;
  border: 1px solid var(--color-border);
  background: var(--color-surface);
  transition: box-shadow 0.12s;
}
.kohort-files-card:hover {
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}
.kohort-files-card-icon {
  flex-shrink: 0;
  width: 2.5rem;
  height: 2.5rem;
  position: relative;
}
.kohort-files-card-thumb {
  width: 2.5rem;
  height: 2.5rem;
  object-fit: cover;
  border-radius: 0.375rem;
}
.kohort-files-card-icon-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.375rem;
  background: var(--neutral-100);
  color: var(--neutral-500);
}
.kohort-files-card-icon-wrap svg {
  width: 1.25rem;
  height: 1.25rem;
}
.kohort-files-card-icon-wrap--pdf {
  background: var(--color-error-light);
  color: var(--color-error);
}
.kohort-files-card-icon-wrap--image {
  background: var(--color-success-light);
  color: var(--color-success);
}
.kohort-files-card-icon-wrap--spreadsheet {
  background: var(--color-success-light);
  color: var(--color-success);
}
.kohort-files-card-icon-wrap--doc {
  background: var(--color-info-light);
  color: var(--color-info);
}
.kohort-files-card-icon-wrap--archive {
  background: var(--color-warning-light);
  color: var(--color-warning);
}
.kohort-files-card-body {
  flex: 1;
  min-width: 0;
}
.kohort-files-card-name {
  display: block;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--neutral-800);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-decoration: none;
  transition: color 0.12s;
}
.kohort-files-card-name:hover {
  color: var(--color-primary);
}
.kohort-files-card-meta {
  font-size: 0.75rem;
  color: var(--neutral-400);
  margin-top: 0.125rem;
  margin-bottom: 0.375rem;
}
.kohort-files-card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  align-items: center;
}
.kohort-files-tag-remove {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0 0.1rem;
  color: inherit;
  font-size: 0.75rem;
  line-height: 1;
  opacity: 0.6;
  transition: opacity 0.12s;
}
.kohort-files-tag-remove:hover {
  opacity: 1;
}
.kohort-files-tag-add-form {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
}
.kohort-files-tag-input {
  padding: 0.15rem 0.4rem;
  border-radius: 9999px;
  border: 1px dashed var(--neutral-300);
  background: transparent;
  font-size: 0.6875rem;
  color: var(--neutral-600);
  width: 7rem;
  outline: none;
  transition: border-color 0.12s, background 0.12s;
}
.kohort-files-tag-input:focus {
  border-color: var(--color-primary);
  background: var(--color-surface);
}
.kohort-files-tag-input::placeholder {
  color: var(--neutral-400);
}
.kohort-files-tag-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 9999px;
  border: none;
  background: var(--color-primary);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-primary) 15%, var(--mix-base, white));
  }
  color: var(--color-primary);
  font-size: 0.875rem;
  cursor: pointer;
  transition: background 0.12s;
}
.kohort-files-tag-submit:hover {
  background: var(--color-primary);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-primary) 25%, var(--mix-base, white));
  }
}
.kohort-files-card-open {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 0.5rem;
  color: var(--neutral-400);
  transition: background 0.12s, color 0.12s;
}
.kohort-files-card-open:hover {
  background: var(--neutral-100);
  color: var(--color-primary);
}
.kohort-files-card-open svg {
  width: 1rem;
  height: 1rem;
}
.kohort-files-view-toggle {
  display: flex;
  border: 1px solid var(--color-border);
  border-radius: 0.5rem;
  overflow: hidden;
  flex-shrink: 0;
}
.kohort-files-view-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  background: var(--neutral-50);
  border: none;
  cursor: pointer;
  color: var(--neutral-400);
  transition: background 0.12s, color 0.12s;
}
.kohort-files-view-btn svg {
  width: 1rem;
  height: 1rem;
}
.kohort-files-view-btn:hover {
  background: var(--neutral-100);
  color: var(--neutral-600);
}
.kohort-files-view-btn--active {
  background: var(--color-surface);
  color: var(--color-primary);
}
.kohort-files-view-btn + .kohort-files-view-btn {
  border-left: 1px solid var(--color-border);
}
.kohort-files-grid-mode {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(11rem, 1fr));
  gap: 0.75rem;
}
.kohort-files-list-mode {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.kohort-files-grid-card {
  display: flex;
  flex-direction: column;
  border-radius: 0.75rem;
  border: 1px solid var(--color-border);
  background: var(--color-surface);
  overflow: hidden;
  transition: box-shadow 0.12s;
}
.kohort-files-grid-card:hover {
  box-shadow: 0 2px 10px rgba(0,0,0,0.08);
}
.kohort-files-grid-card-preview {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 7rem;
  background: var(--neutral-50);
  overflow: hidden;
  text-decoration: none;
}
.kohort-files-grid-thumb {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.kohort-files-grid-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 0.5rem;
}
.kohort-files-grid-icon svg {
  width: 1.75rem;
  height: 1.75rem;
}
.kohort-files-grid-card-body {
  padding: 0.625rem;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.kohort-landing-page {
  max-width: 48rem;
  margin: 0 auto;
  width: 100%;
}
.kohort-landing-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 4rem 1.5rem;
  text-align: center;
  gap: 1rem;
}
.kohort-landing-empty-icon {
  color: var(--neutral-300);
}
.kohort-landing-empty-text {
  color: var(--neutral-400);
  font-size: 0.875rem;
}
.kohort-landing-create-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1.25rem;
  border-radius: 0.75rem;
  background: var(--color-primary, #6366f1);
  color: white;
  font-size: 0.875rem;
  font-weight: 600;
  transition: background 0.15s, transform 0.1s;
  border: none;
  cursor: pointer;
}
.kohort-landing-create-btn:hover {
  background: var(--color-primary, #6366f1);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-primary, #6366f1) 85%, black);
  }
  transform: translateY(-1px);
}
.kohort-landing-toolbar {
  display: flex;
  justify-content: flex-end;
  padding: 0.5rem 0;
  margin-bottom: 0.5rem;
}
.kohort-landing-toolbar-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.375rem 0.75rem;
  border-radius: 0.5rem;
  background: var(--neutral-100, #f5f5f5);
  color: var(--neutral-600);
  font-size: 0.75rem;
  font-weight: 500;
  border: none;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}
.kohort-landing-toolbar-btn:hover {
  background: var(--neutral-200);
  color: var(--neutral-800);
}
.kohort-landing-content {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.kohort-landing-cover {
  border-radius: 1rem;
  overflow: hidden;
  aspect-ratio: 21 / 9;
  background: var(--neutral-100);
}
.kohort-landing-cover-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.kohort-landing-title {
  font-size: clamp(1.25rem, 4vw, 1.75rem);
  font-weight: 700;
  color: var(--neutral-900);
  line-height: 1.3;
}
.kohort-landing-block {
  padding: 1rem;
  border-radius: 0.75rem;
  background: var(--color-surface, white);
  border: 1px solid var(--neutral-150, #e8e8e8);
}
.kohort-landing-block--text .kohort-landing-text {
  font-size: 0.9375rem;
  line-height: 1.7;
  color: var(--neutral-700);
  white-space: pre-wrap;
}
.kohort-landing-block--image {
  padding: 0;
  overflow: hidden;
}
.kohort-landing-block-img {
  width: 100%;
  max-height: 24rem;
  object-fit: cover;
}
.kohort-landing-block-caption {
  padding: 0.75rem 1rem;
  font-size: 0.8125rem;
  color: var(--neutral-500);
  text-align: center;
}
.kohort-landing-block-heading {
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--neutral-800);
  margin-bottom: 0.75rem;
}
.kohort-landing-links-list {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}
.kohort-landing-link-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  border-radius: 0.5rem;
  color: var(--color-primary, #6366f1);
  font-size: 0.875rem;
  text-decoration: none;
  transition: background 0.15s;
}
.kohort-landing-link-item:hover {
  background: var(--color-primary, #6366f1);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-primary, #6366f1) 8%, transparent);
  }
}
.kohort-landing-editor {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.kohort-landing-editor-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1rem;
  border-radius: 0.75rem;
  background: var(--neutral-50, #fafafa);
  border: 1px solid var(--color-border);
}
.kohort-landing-editor-title {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--neutral-700);
}
.kohort-landing-editor-actions {
  display: flex;
  gap: 0.5rem;
}
.kohort-landing-editor-btn {
  padding: 0.375rem 0.875rem;
  border-radius: 0.5rem;
  font-size: 0.8125rem;
  font-weight: 500;
  border: none;
  cursor: pointer;
  transition: background 0.15s;
}
.kohort-landing-editor-btn--cancel {
  background: var(--neutral-100);
  color: var(--neutral-600);
}
.kohort-landing-editor-btn--cancel:hover {
  background: var(--neutral-200);
}
.kohort-landing-editor-btn--save {
  background: var(--color-primary, #6366f1);
  color: white;
}
.kohort-landing-editor-btn--save:hover {
  background: var(--color-primary, #6366f1);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-primary, #6366f1) 85%, black);
  }
}
.kohort-landing-editor-btn--save:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.kohort-landing-field {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}
.kohort-landing-label {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--neutral-500);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.kohort-landing-input {
  padding: 0.5rem 0.75rem;
  border: 1px solid var(--color-border);
  border-radius: 0.5rem;
  font-size: 0.875rem;
  background: var(--color-surface, white);
  color: var(--neutral-800);
  transition: border-color 0.15s;
}
.kohort-landing-input:focus {
  outline: none;
  border-color: var(--color-primary, #6366f1);
  box-shadow: 0 0 0 3px var(--color-primary, #6366f1);
  @supports (color: color-mix(in lab, red, red)) {
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary, #6366f1) 15%, transparent);
  }
}
.kohort-landing-input--sm {
  padding: 0.375rem 0.625rem;
  font-size: 0.8125rem;
  flex: 1;
}
.kohort-landing-textarea {
  padding: 0.625rem 0.75rem;
  border: 1px solid var(--color-border);
  border-radius: 0.5rem;
  font-size: 0.875rem;
  background: var(--color-surface, white);
  color: var(--neutral-800);
  resize: vertical;
  min-height: 5rem;
  font-family: inherit;
  line-height: 1.6;
  transition: border-color 0.15s;
}
.kohort-landing-textarea:focus {
  outline: none;
  border-color: var(--color-primary, #6366f1);
  box-shadow: 0 0 0 3px var(--color-primary, #6366f1);
  @supports (color: color-mix(in lab, red, red)) {
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary, #6366f1) 15%, transparent);
  }
}
.kohort-landing-blocks {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.kohort-landing-block-editor {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  padding: 1rem;
  border: 1px solid var(--color-border);
  border-radius: 0.75rem;
  background: var(--neutral-50, #fafafa);
}
.kohort-landing-block-editor-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.kohort-landing-block-type {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--color-primary, #6366f1);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.kohort-landing-block-actions {
  display: flex;
  gap: 0.25rem;
}
.kohort-landing-block-action {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 0.375rem;
  border: none;
  background: transparent;
  color: var(--neutral-400);
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}
.kohort-landing-block-action:hover {
  background: var(--neutral-200);
  color: var(--neutral-700);
}
.kohort-landing-block-action--delete:hover {
  background: var(--color-error-light);
  color: var(--color-error);
}
.kohort-landing-link-items {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.kohort-landing-link-item-editor {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.kohort-landing-add-link-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.375rem 0.625rem;
  border-radius: 0.375rem;
  border: 1px dashed var(--neutral-300);
  background: transparent;
  color: var(--neutral-500);
  font-size: 0.75rem;
  cursor: pointer;
  transition: border-color 0.15s, color 0.15s;
}
.kohort-landing-add-link-btn:hover {
  border-color: var(--color-primary, #6366f1);
  color: var(--color-primary, #6366f1);
}
.kohort-landing-add-block {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
  padding: 0.75rem 0;
}
.kohort-landing-add-label {
  font-size: 0.75rem;
  color: var(--neutral-400);
  font-weight: 500;
}
.kohort-landing-add-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.375rem 0.75rem;
  border-radius: 0.5rem;
  border: 1px solid var(--color-border);
  background: var(--color-surface, white);
  color: var(--neutral-600);
  font-size: 0.8125rem;
  cursor: pointer;
  transition: border-color 0.15s, background 0.15s;
}
.kohort-landing-add-btn:hover {
  border-color: var(--color-primary, #6366f1);
  background: var(--color-primary, #6366f1);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-primary, #6366f1) 5%, white);
  }
  color: var(--color-primary, #6366f1);
}
.pb-page-root {
  --pb-container: min(72rem, 100% - 2rem);
  --pb-gap: 1.5rem;
  --pb-radius: 0.75rem;
}
.pb-page {
  display: flex;
  flex-direction: column;
  gap: var(--pb-gap);
  padding: 2rem 1rem;
  max-width: 100%;
}
@media (min-width: 768px) {
  .pb-page {
    padding: 3rem 2rem;
  }
}
.pb-block {
  width: var(--pb-container);
  max-width: 100%;
  margin-inline: auto;
}
.pb-align-left {
  text-align: left;
}
.pb-align-center {
  text-align: center;
}
.pb-align-right {
  text-align: right;
}
.pb-block-hero {
  width: 100%;
  padding: clamp(3rem, 10vw, 6rem) 1.5rem;
  background-color: var(--color-primary-light, #eef2ff);
  background-size: cover;
  background-position: center;
  border-radius: var(--pb-radius);
  color: var(--color-text, #111827);
}
.pb-hero-inner {
  max-width: 48rem;
  margin-inline: auto;
}
.pb-hero-eyebrow {
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--color-primary, #4f46e5);
  font-weight: 600;
  margin-bottom: 0.5rem;
}
.pb-hero-title {
  font-size: clamp(2rem, 6vw, 3.5rem);
  font-weight: 800;
  line-height: 1.1;
  margin-bottom: 1rem;
}
.pb-hero-subtitle {
  font-size: clamp(1rem, 2.5vw, 1.25rem);
  line-height: 1.5;
  opacity: 0.85;
  margin-bottom: 1.5rem;
}
.pb-hero-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  padding: 0.75rem 2rem;
  background: var(--color-primary, #4f46e5);
  color: white;
  border-radius: 999px;
  font-weight: 600;
  text-decoration: none;
  transition: transform 0.2s, box-shadow 0.2s;
}
.pb-hero-cta:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 24px var(--color-primary, #4f46e5);
  @supports (color: color-mix(in lab, red, red)) {
    box-shadow: 0 8px 24px color-mix(in srgb, var(--color-primary, #4f46e5) 35%, transparent);
  }
}
.pb-block-rich-text .pb-rich-text-inner {
  line-height: 1.7;
  font-size: 1.05rem;
}
.pb-block-rich-text h2 {
  font-size: 1.75rem;
  font-weight: 700;
  margin: 1.5rem 0 0.75rem;
}
.pb-block-rich-text h3 {
  font-size: 1.375rem;
  font-weight: 600;
  margin: 1.25rem 0 0.5rem;
}
.pb-block-rich-text p {
  margin-bottom: 1rem;
}
.pb-block-rich-text a {
  color: var(--color-primary, #4f46e5);
  text-decoration: underline;
}
.pb-block-image .pb-image-figure {
  margin: 0;
}
.pb-image-img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: var(--pb-radius);
}
.pb-image-caption {
  margin-top: 0.5rem;
  font-size: 0.875rem;
  color: var(--color-text-muted, #6b7280);
  text-align: center;
}
.pb-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  padding: 0.625rem 1.5rem;
  border-radius: 999px;
  font-weight: 600;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: transform 0.15s, box-shadow 0.2s, background-color 0.2s;
}
.pb-button--primary {
  background: var(--color-primary, #4f46e5);
  color: white;
}
.pb-button--primary:hover {
  background: var(--color-primary-hover, #4338ca);
}
.pb-button--secondary {
  background: var(--color-accent, #06b6d4);
  color: white;
}
.pb-button--ghost {
  background: transparent;
  border: 1px solid var(--color-primary, #4f46e5);
  color: var(--color-primary, #4f46e5);
}
.pb-block-spacer {
  pointer-events: none;
}
.pb-spacer--xs {
  height: 0.5rem;
}
.pb-spacer--sm {
  height: 1rem;
}
.pb-spacer--md {
  height: 2rem;
}
.pb-spacer--lg {
  height: 4rem;
}
.pb-spacer--xl {
  height: 6rem;
}
.pb-divider {
  border: none;
  border-top: 1px solid var(--color-border, #e5e7eb);
}
.pb-divider--dashed {
  border-top-style: dashed;
}
.pb-divider--dotted {
  border-top-style: dotted;
}
.pb-quote {
  margin: 0;
  padding: 1.5rem 2rem;
  border-left: 4px solid var(--color-primary, #4f46e5);
  background: var(--color-surface, #fafafa);
  border-radius: 0 var(--pb-radius) var(--pb-radius) 0;
}
.pb-quote-text {
  font-size: 1.25rem;
  font-style: italic;
  line-height: 1.5;
  margin: 0 0 0.5rem;
}
.pb-quote-cite {
  font-size: 0.875rem;
  color: var(--color-text-muted, #6b7280);
}
.pb-block-columns {
  display: grid;
  gap: var(--pb-gap);
}
.pb-columns-gap-sm {
  gap: 0.75rem;
}
.pb-columns-gap-md {
  gap: 1.5rem;
}
.pb-columns-gap-lg {
  gap: 2.5rem;
}
.pb-columns--1, .pb-columns--2, .pb-columns--3, .pb-columns--4 {
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .pb-columns--2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .pb-columns--3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .pb-columns--4 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .pb-columns--4 {
    grid-template-columns: repeat(4, 1fr);
  }
}
.pb-column {
  display: flex;
  flex-direction: column;
  gap: var(--pb-gap);
}
.pb-edit-column {
  min-height: 4.5rem;
  padding: 0.5rem;
  border: 1px dashed var(--color-border, #e5e7eb);
  @supports (color: color-mix(in lab, red, red)) {
    border: 1px dashed color-mix(in srgb, var(--color-border, #e5e7eb) 100%, transparent);
  }
  border-radius: 0.5rem;
  background: var(--color-surface, #ffffff);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-surface, #ffffff) 50%, transparent);
  }
  transition: border-color 0.12s, background 0.12s;
}
.pb-edit-column:hover {
  border-color: var(--color-primary, #4f46e5);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in srgb, var(--color-primary, #4f46e5) 35%, transparent);
  }
}
.pb-edit-column--drop-target {
  border-color: var(--color-primary, #4f46e5);
  border-style: solid;
  background: var(--color-primary, #4f46e5);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-primary, #4f46e5) 8%, transparent);
  }
}
.pb-edit-column-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 3.5rem;
  padding: 0.75rem;
  color: var(--color-text-muted, #6b7280);
  font-size: 0.8125rem;
  text-align: center;
  pointer-events: none;
}
.pb-edit-column-placeholder em {
  font-style: italic;
  opacity: 0.8;
}
.pb-edit-column .pb-edit-block-wrap {
  margin: 0.375rem 0;
}
.pb-edit-column .pb-edit-block-wrap:first-child {
  margin-top: 0;
}
.pb-edit-column .pb-edit-block-wrap:last-child {
  margin-bottom: 0;
}
.pb-admin {
  max-width: 60rem;
  margin: 0 auto;
  padding: 2rem 1rem;
}
.pb-admin-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 2rem;
  flex-wrap: wrap;
}
.pb-admin-title {
  font-size: 1.75rem;
  font-weight: 700;
}
.pb-admin-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  padding: 0.625rem 1.25rem;
  background: var(--color-primary, #4f46e5);
  color: white;
  border-radius: 999px;
  font-weight: 600;
  text-decoration: none;
}
.pb-admin-link {
  color: var(--color-primary, #4f46e5);
  text-decoration: none;
  min-height: 2.75rem;
  display: inline-flex;
  align-items: center;
}
.pb-admin-empty {
  padding: 3rem 1rem;
  text-align: center;
  border: 2px dashed var(--color-border, #e5e7eb);
  border-radius: var(--pb-radius);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
.pb-admin-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.pb-admin-list-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.25rem;
  background: var(--color-surface, #ffffff);
  border: 1px solid var(--color-border, #e5e7eb);
  border-radius: var(--pb-radius);
  flex-wrap: wrap;
}
.pb-admin-list-main {
  flex: 1;
  min-width: min(18rem, 100%);
}
.pb-admin-list-title {
  font-weight: 600;
  text-decoration: none;
  color: var(--color-text, #111827);
  display: block;
  min-height: 2.75rem;
  display: flex;
  align-items: center;
}
.pb-admin-list-meta {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  font-size: 0.875rem;
  align-items: center;
}
.pb-admin-list-actions {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}
.pb-admin-action {
  min-height: 2.75rem;
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 1rem;
  border-radius: 0.5rem;
  background: var(--color-surface, #f9fafb);
  border: 1px solid var(--color-border, #e5e7eb);
  color: var(--color-text, #111827);
  text-decoration: none;
  font-size: 0.875rem;
  cursor: pointer;
}
.pb-admin-action--danger {
  color: #b91c1c;
  border-color: #fecaca;
}
.pb-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.125rem 0.625rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: lowercase;
}
.pb-badge--draft {
  background: #fef3c7;
  color: #92400e;
}
.pb-badge--published {
  background: #d1fae5;
  color: #065f46;
}
.pb-badge--archived {
  background: #e5e7eb;
  color: #374151;
}
.pb-badge--public {
  background: #dbeafe;
  color: #1e40af;
}
.pb-badge--unlisted {
  background: #f3e8ff;
  color: #6b21a8;
}
.pb-badge--members_only {
  background: #fce7f3;
  color: #9f1239;
}
.pb-badge--private {
  background: #e5e7eb;
  color: #374151;
}
.pb-muted {
  color: var(--color-text-muted, #6b7280);
  font-size: 0.875rem;
}
.pb-admin-form {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  max-width: 32rem;
}
.pb-form-field {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}
.pb-form-label {
  font-weight: 600;
  font-size: 0.875rem;
}
.pb-form-input {
  min-height: 2.75rem;
  padding: 0.625rem 0.875rem;
  border: 1px solid var(--color-border, #e5e7eb);
  border-radius: 0.5rem;
  background: var(--color-surface, #ffffff);
  color: var(--color-text, #111827);
  font-size: 1rem;
}
.pb-form-input:focus {
  outline: none;
  border-color: var(--color-primary, #4f46e5);
  box-shadow: 0 0 0 3px var(--color-primary, #4f46e5);
  @supports (color: color-mix(in lab, red, red)) {
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary, #4f46e5) 20%, transparent);
  }
}
.pb-form-hint {
  font-size: 0.8125rem;
  color: var(--color-text-muted, #6b7280);
}
.pb-form-actions {
  display: flex;
  gap: 0.75rem;
  justify-content: flex-end;
  margin-top: 0.5rem;
}
.pb-editor {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  --pb-editor-panel-width: 20rem;
  --pb-editor-topbar-height: 3.5rem;
  --pb-editor-mobile-bar-height: 4rem;
  --pb-editor-accent: var(--color-primary, #4f46e5);
}
.pb-editor-topbar {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.5rem 0.75rem;
  min-height: var(--pb-editor-topbar-height);
  border-bottom: 1px solid var(--color-border, #e5e7eb);
  background: var(--color-surface, #ffffff);
  flex-wrap: wrap;
}
@media (min-width: 768px) {
  .pb-editor-topbar {
    padding: 0.5rem 1.25rem;
    flex-wrap: nowrap;
  }
}
.pb-editor-back {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 0.5rem;
  text-decoration: none;
  color: var(--color-text, #111827);
  background: transparent;
  border: 0;
  cursor: pointer;
}
.pb-editor-back:hover {
  background: var(--color-primary-light, #eef2ff);
}
.pb-editor-title-input {
  flex: 1;
  min-width: 8rem;
  min-height: 2.75rem;
  padding: 0.5rem 0.75rem;
  font-size: 1rem;
  font-weight: 600;
  border: 1px solid transparent;
  border-radius: 0.5rem;
  background: transparent;
  color: var(--color-text, #111827);
}
.pb-editor-title-input:hover {
  background: var(--color-primary, #4f46e5);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-primary, #4f46e5) 5%, transparent);
  }
}
.pb-editor-title-input:focus {
  outline: none;
  border-color: var(--color-primary, #4f46e5);
  background: var(--color-surface, #ffffff);
}
.pb-editor-viewport-switch {
  display: none;
  gap: 0.25rem;
  padding: 0.25rem;
  background: var(--color-primary-light, #eef2ff);
  border-radius: 0.5rem;
}
@media (min-width: 1024px) {
  .pb-editor-viewport-switch {
    display: flex;
  }
}
.pb-editor-vp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.25rem;
  border: 0;
  border-radius: 0.375rem;
  background: transparent;
  color: var(--color-text, #111827);
  cursor: pointer;
}
.pb-editor-vp-btn--active {
  background: var(--color-surface, #ffffff);
  box-shadow: 0 1px 3px rgb(0 0 0 / 0.1);
  color: var(--color-primary, #4f46e5);
}
.pb-editor-actions {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  margin-left: auto;
}
.pb-editor-save-status {
  font-size: 0.8125rem;
  color: var(--color-text-muted, #6b7280);
  font-weight: 500;
  padding: 0 0.5rem;
}
.pb-editor-save-status--saving {
  color: var(--color-text-muted, #6b7280);
}
.pb-editor-save-status--saved {
  color: #059669;
}
.pb-editor-save-status--error {
  color: #dc2626;
}
.pb-button--sm {
  min-height: 2.5rem;
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
}
.pb-editor-main {
  flex: 1;
  display: flex;
  min-height: 0;
  position: relative;
}
.pb-editor-canvas-wrap {
  flex: 1;
  overflow: auto;
  padding: 1.25rem;
  padding-bottom: calc(var(--pb-editor-mobile-bar-height) + 1rem);
  background: var(--color-primary, #4f46e5);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-primary, #4f46e5) 4%, var(--color-background, #f9fafb));
  }
  display: flex;
  justify-content: center;
  align-items: flex-start;
}
@media (min-width: 768px) {
  .pb-editor-canvas-wrap {
    padding: 2rem;
    padding-bottom: 2rem;
  }
}
.pb-editor-canvas {
  width: 100%;
  max-width: 72rem;
  min-height: 100%;
  background: var(--color-surface, #ffffff);
  border-radius: var(--pb-radius);
  box-shadow: 0 4px 12px rgb(0 0 0 / 0.05);
  padding: 1rem;
  transition: max-width 0.25s ease;
}
@media (min-width: 768px) {
  .pb-editor-canvas {
    padding: 2rem;
  }
}
.pb-editor-canvas[data-viewport="tablet"] {
  max-width: 48rem;
}
.pb-editor-canvas[data-viewport="mobile"] {
  max-width: 22rem;
}
.pb-editor-canvas[data-viewport="desktop"] {
  max-width: 72rem;
}
.pb-editor-canvas.pb-editor-canvas--dragover {
  outline: 2px dashed var(--color-primary, #4f46e5);
  outline-offset: -8px;
}
.pb-editor-empty-hint {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 16rem;
  color: var(--color-text-muted, #6b7280);
  text-align: center;
  gap: 1rem;
  pointer-events: none;
}
.pb-editor-empty-hint svg {
  opacity: 0.5;
}
.pb-edit-block-wrap {
  position: relative;
  margin: 0.75rem 0;
  border: 2px solid transparent;
  border-radius: 0.5rem;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.pb-edit-block-wrap:hover {
  border-color: var(--color-primary, #4f46e5);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in srgb, var(--color-primary, #4f46e5) 40%, transparent);
  }
}
.pb-edit-block-wrap--selected {
  border-color: var(--color-primary, #4f46e5);
  box-shadow: 0 0 0 3px var(--color-primary, #4f46e5);
  @supports (color: color-mix(in lab, red, red)) {
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary, #4f46e5) 15%, transparent);
  }
}
.pb-edit-block-wrap--dragging {
  opacity: 0.4;
}
.pb-edit-block-wrap--drop-before::before, .pb-edit-block-wrap--drop-after::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  height: 0.25rem;
  background: var(--color-primary, #4f46e5);
  border-radius: 999px;
  pointer-events: none;
}
.pb-edit-block-wrap--drop-before::before {
  top: -0.375rem;
}
.pb-edit-block-wrap--drop-after::after {
  bottom: -0.375rem;
}
.pb-edit-block-toolbar {
  position: absolute;
  top: -2.25rem;
  right: 0;
  display: none;
  gap: 0.25rem;
  padding: 0.25rem;
  background: var(--color-surface, #ffffff);
  border: 1px solid var(--color-border, #e5e7eb);
  border-radius: 0.5rem;
  box-shadow: 0 4px 12px rgb(0 0 0 / 0.08);
  z-index: 5;
}
.pb-edit-block-wrap--selected .pb-edit-block-toolbar {
  display: flex;
}
.pb-edit-block-tbtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border: 0;
  border-radius: 0.25rem;
  background: transparent;
  cursor: pointer;
  color: var(--color-text, #111827);
}
.pb-edit-block-tbtn:hover {
  background: var(--color-primary-light, #eef2ff);
}
.pb-edit-block-tbtn--danger:hover {
  background: #fee2e2;
  color: #b91c1c;
}
.pb-edit-block-handle {
  position: absolute;
  top: 50%;
  left: -1.75rem;
  transform: translateY(-50%);
  width: 1.5rem;
  height: 1.5rem;
  display: none;
  align-items: center;
  justify-content: center;
  cursor: grab;
  background: var(--color-surface, #ffffff);
  border: 1px solid var(--color-border, #e5e7eb);
  border-radius: 0.25rem;
  color: var(--color-text-muted, #6b7280);
  user-select: none;
  touch-action: none;
}
.pb-edit-block-wrap:hover .pb-edit-block-handle, .pb-edit-block-wrap--selected .pb-edit-block-handle {
  display: flex;
}
@media (max-width: 767px) {
  .pb-edit-block-handle {
    top: 0.5rem;
    left: auto;
    right: 0.5rem;
    transform: none;
    width: 2.75rem;
    height: 2.75rem;
  }
  .pb-edit-block-wrap:hover .pb-edit-block-handle, .pb-edit-block-wrap--selected .pb-edit-block-handle {
    display: flex;
  }
}
[contenteditable="true"]:focus {
  outline: 2px solid var(--color-primary, #4f46e5);
  outline-offset: 2px;
  border-radius: 0.25rem;
}
.pb-editor-panel {
  background: var(--color-surface, #ffffff);
  display: flex;
  flex-direction: column;
  border-top: 1px solid var(--color-border, #e5e7eb);
  flex-shrink: 0;
  position: fixed;
  bottom: var(--pb-editor-mobile-bar-height);
  left: 0;
  right: 0;
  max-height: 60vh;
  border-radius: 1rem 1rem 0 0;
  box-shadow: 0 -4px 24px rgb(0 0 0 / 0.1);
  transform: translateY(calc(100% - 2.5rem));
  transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 20;
}
.pb-editor-panel[data-open="true"] {
  transform: translateY(0);
}
@media (min-width: 1024px) {
  .pb-editor-panel {
    position: static;
    max-height: none;
    width: var(--pb-editor-panel-width);
    transform: none;
    border-top: 0;
    border-left: 1px solid var(--color-border, #e5e7eb);
    border-radius: 0;
    box-shadow: none;
  }
  .pb-editor-panel-handle {
    display: none;
  }
}
.pb-editor-panel-handle {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 2.5rem;
  cursor: grab;
  touch-action: none;
  flex-shrink: 0;
}
.pb-editor-panel-handle::before {
  content: '';
  width: 3rem;
  height: 0.25rem;
  background: var(--color-border, #d1d5db);
  border-radius: 999px;
}
.pb-editor-panel-tabs {
  display: flex;
  gap: 0.25rem;
  padding: 0.5rem 0.75rem 0;
  border-bottom: 1px solid var(--color-border, #e5e7eb);
  flex-shrink: 0;
}
.pb-editor-tab {
  min-height: 2.75rem;
  padding: 0.5rem 1rem;
  background: transparent;
  border: 0;
  border-bottom: 2px solid transparent;
  font-weight: 500;
  color: var(--color-text-muted, #6b7280);
  cursor: pointer;
  font-size: 0.9375rem;
}
.pb-editor-tab--active {
  color: var(--color-primary, #4f46e5);
  border-bottom-color: var(--color-primary, #4f46e5);
}
.pb-editor-panel-content {
  flex: 1;
  overflow-y: auto;
  padding: 1rem 0.75rem;
}
.pb-editor-palette {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.5rem;
}
@media (min-width: 480px) {
  .pb-editor-palette {
    grid-template-columns: 1fr 1fr;
  }
}
.pb-palette-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem;
  min-height: 3.25rem;
  background: var(--color-surface, #ffffff);
  border: 1px solid var(--color-border, #e5e7eb);
  border-radius: 0.5rem;
  cursor: grab;
  text-align: left;
  transition: border-color 0.15s, transform 0.1s;
  font: inherit;
  color: inherit;
  touch-action: none;
}
.pb-palette-item:hover {
  border-color: var(--color-primary, #4f46e5);
}
.pb-palette-item:active {
  transform: scale(0.98);
}
.pb-palette-item-icon {
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  border-radius: 0.375rem;
  background: var(--color-primary-light, #eef2ff);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.pb-palette-icon--hero::before {
  content: 'H';
  font-weight: 800;
  color: var(--color-primary);
}
.pb-palette-icon--rich_text::before {
  content: '¶';
  font-size: 1.25rem;
  color: var(--color-primary);
}
.pb-palette-icon--image::before {
  content: '🖼';
  font-size: 1.1rem;
}
.pb-palette-icon--button::before {
  content: '⚡';
}
.pb-palette-icon--columns::before {
  content: '▥';
  color: var(--color-primary);
}
.pb-palette-icon--quote::before {
  content: '❝';
  color: var(--color-primary);
  font-size: 1.15rem;
}
.pb-palette-icon--divider::before {
  content: '―';
  color: var(--color-primary);
  font-weight: 800;
}
.pb-palette-icon--spacer::before {
  content: '↕';
  color: var(--color-primary);
}
.pb-palette-item-label {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.pb-palette-item-label strong {
  font-size: 0.9375rem;
  font-weight: 600;
}
.pb-palette-item-label em {
  font-size: 0.75rem;
  color: var(--color-text-muted, #6b7280);
  font-style: normal;
}
.pb-editor-inspector {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.pb-inspector-empty {
  text-align: center;
  padding: 2rem 1rem;
}
.pb-inspector-form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.pb-insp-row {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}
.pb-insp-row label {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--color-text, #111827);
}
.pb-insp-row input, .pb-insp-row select, .pb-insp-row textarea {
  min-height: 2.75rem;
  padding: 0.5rem 0.75rem;
  font: inherit;
  border: 1px solid var(--color-border, #e5e7eb);
  border-radius: 0.375rem;
  background: var(--color-surface, #ffffff);
  color: var(--color-text, #111827);
}
.pb-insp-row input:focus, .pb-insp-row select:focus, .pb-insp-row textarea:focus {
  outline: none;
  border-color: var(--color-primary, #4f46e5);
  box-shadow: 0 0 0 2px var(--color-primary, #4f46e5);
  @supports (color: color-mix(in lab, red, red)) {
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--color-primary, #4f46e5) 20%, transparent);
  }
}
.pb-editor-mobile-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  align-items: stretch;
  justify-content: space-around;
  height: var(--pb-editor-mobile-bar-height);
  background: var(--color-surface, #ffffff);
  border-top: 1px solid var(--color-border, #e5e7eb);
  box-shadow: 0 -2px 8px rgb(0 0 0 / 0.05);
  z-index: 15;
}
@media (min-width: 1024px) {
  .pb-editor-mobile-bar {
    display: none;
  }
  .pb-editor-canvas-wrap {
    padding-bottom: 2rem;
  }
}
.pb-editor-mobile-btn {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.125rem;
  min-height: 44px;
  background: transparent;
  border: 0;
  color: var(--color-text, #111827);
  cursor: pointer;
  font-size: 0.6875rem;
  font-weight: 500;
  padding: 0.25rem;
}
.pb-editor-mobile-btn svg {
  opacity: 0.8;
}
.pb-editor-mobile-btn--primary {
  color: var(--color-primary, #4f46e5);
}
.pb-editor-mobile-btn--primary svg {
  opacity: 1;
}
.pb-drag-ghost {
  position: fixed;
  pointer-events: none;
  opacity: 0.8;
  background: var(--color-surface, #ffffff);
  border: 2px solid var(--color-primary, #4f46e5);
  border-radius: 0.5rem;
  padding: 0.5rem 1rem;
  box-shadow: 0 8px 24px rgb(0 0 0 / 0.2);
  font-size: 0.875rem;
  font-weight: 600;
  z-index: 1000;
  max-width: 16rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.pb-block-gallery {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(3, 1fr);
}
.pb-gallery-cols-2 {
  grid-template-columns: repeat(2, 1fr);
}
.pb-gallery-cols-3 {
  grid-template-columns: repeat(3, 1fr);
}
.pb-gallery-cols-4 {
  grid-template-columns: repeat(4, 1fr);
}
.pb-gallery-gap-sm {
  gap: 0.375rem;
}
.pb-gallery-gap-md {
  gap: 0.75rem;
}
.pb-gallery-gap-lg {
  gap: 1.25rem;
}
@media (max-width: 767px) {
  .pb-gallery-cols-3, .pb-gallery-cols-4 {
    grid-template-columns: repeat(2, 1fr);
  }
}
.pb-gallery-item {
  margin: 0;
  cursor: pointer;
  overflow: hidden;
  border-radius: var(--pb-radius);
}
.pb-gallery-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  aspect-ratio: 1;
  transition: transform 0.2s;
}
.pb-gallery-item:hover .pb-gallery-img {
  transform: scale(1.03);
}
.pb-gallery-caption {
  font-size: 0.8125rem;
  color: var(--color-text-muted, #6b7280);
  padding: 0.375rem 0;
  text-align: center;
}
.pb-video-wrap {
  position: relative;
  width: 100%;
  border-radius: var(--pb-radius);
  overflow: hidden;
  background: #000;
}
.pb-video-ratio-16-9 {
  aspect-ratio: 16 / 9;
}
.pb-video-ratio-4-3 {
  aspect-ratio: 4 / 3;
}
.pb-video-ratio-1-1 {
  aspect-ratio: 1;
}
.pb-video-placeholder {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  background: linear-gradient(to bottom, rgba(0,0,0,0.3), rgba(0,0,0,0.6));
}
.pb-video-thumb {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}
.pb-video-play-btn {
  position: relative;
  z-index: 1;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  background: rgba(255,255,255,0.9);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  color: #111;
  transition: transform 0.2s;
}
.pb-video-placeholder:hover .pb-video-play-btn {
  transform: scale(1.1);
}
.pb-video-iframe {
  width: 100%;
  height: 100%;
  border: 0;
}
.pb-list {
  padding-left: 1.5rem;
  margin: 0;
}
.pb-list--none {
  list-style: none;
  padding-left: 0;
}
.pb-list--check {
  list-style: none;
  padding-left: 0;
}
.pb-list--check .pb-list-item::before {
  content: '✓';
  color: var(--color-primary, #4f46e5);
  font-weight: 700;
  margin-right: 0.5rem;
}
.pb-list-item {
  padding: 0.375rem 0;
  line-height: 1.5;
}
.pb-block-card {
  border: 1px solid var(--color-border, #e5e7eb);
  border-radius: var(--pb-radius);
  overflow: hidden;
  background: var(--color-surface, #ffffff);
}
.pb-card--horizontal {
  display: flex;
  align-items: stretch;
}
.pb-card-image {
  flex-shrink: 0;
}
.pb-card--horizontal .pb-card-image {
  max-width: 40%;
}
.pb-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.pb-card--default .pb-card-img {
  aspect-ratio: 16 / 9;
}
.pb-card-body {
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.pb-card-title {
  font-size: 1.25rem;
  font-weight: 700;
  margin: 0;
}
.pb-card-text {
  color: var(--color-text-muted, #6b7280);
  line-height: 1.5;
  margin: 0;
}
.pb-card-link {
  color: var(--color-primary, #4f46e5);
  font-weight: 600;
  text-decoration: none;
  margin-top: auto;
}
.pb-card--minimal {
  border: none;
  background: transparent;
}
@media (max-width: 767px) {
  .pb-card--horizontal {
    flex-direction: column;
  }
  .pb-card--horizontal .pb-card-image {
    max-width: 100%;
  }
}
.pb-block-timeline {
  position: relative;
  padding-left: 2rem;
}
.pb-block-timeline::before {
  content: '';
  position: absolute;
  left: 0.5rem;
  top: 0;
  bottom: 0;
  width: 2px;
  background: var(--color-border, #e5e7eb);
}
.pb-timeline-item {
  position: relative;
  padding-bottom: 1.5rem;
}
.pb-timeline-dot {
  position: absolute;
  left: -1.75rem;
  top: 0.25rem;
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 50%;
  background: var(--color-primary, #4f46e5);
  border: 2px solid var(--color-surface, #ffffff);
}
.pb-timeline-date {
  font-size: 0.8125rem;
  color: var(--color-primary, #4f46e5);
  font-weight: 600;
  display: block;
  margin-bottom: 0.25rem;
}
.pb-timeline-title {
  font-size: 1.125rem;
  font-weight: 700;
  margin: 0 0 0.25rem;
}
.pb-timeline-desc {
  color: var(--color-text-muted, #6b7280);
  margin: 0;
  line-height: 1.5;
}
.pb-accordion-item {
  border-bottom: 1px solid var(--color-border, #e5e7eb);
}
.pb-accordion-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 3rem;
  padding: 0.75rem 0;
  background: transparent;
  border: 0;
  font: inherit;
  font-weight: 600;
  color: var(--color-text, #111827);
  cursor: pointer;
  text-align: left;
}
.pb-accordion-icon {
  transition: transform 0.2s;
  flex-shrink: 0;
}
.pb-accordion-trigger[aria-expanded="true"] .pb-accordion-icon {
  transform: rotate(180deg);
}
.pb-accordion-panel {
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.25s ease;
}
.pb-accordion-panel[hidden] {
  max-height: 0;
}
.pb-accordion-panel-inner {
  padding: 0 0 1rem;
  line-height: 1.6;
  color: var(--color-text-muted, #6b7280);
}
.pb-faq-item {
  border-bottom: 1px solid var(--color-border, #e5e7eb);
}
.pb-faq-question {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  min-height: 3rem;
  padding: 0.75rem 0;
  background: transparent;
  border: 0;
  font: inherit;
  font-weight: 600;
  color: var(--color-text, #111827);
  cursor: pointer;
  text-align: left;
}
.pb-faq-q-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 50%;
  background: var(--color-primary, #4f46e5);
  color: white;
  font-size: 0.8125rem;
  font-weight: 700;
  flex-shrink: 0;
}
.pb-faq-q-text {
  flex: 1;
}
.pb-faq-answer {
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.25s ease;
}
.pb-faq-answer[hidden] {
  max-height: 0;
}
.pb-faq-answer-inner {
  padding: 0 0 1rem 2.5rem;
  line-height: 1.6;
  color: var(--color-text-muted, #6b7280);
}
.pb-testimonials-list {
  display: grid;
  gap: 1.25rem;
}
.pb-testimonials--grid .pb-testimonials-list {
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .pb-testimonials--grid .pb-testimonials-list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .pb-testimonials--grid .pb-testimonials-list {
    grid-template-columns: repeat(3, 1fr);
  }
}
.pb-testimonials--slider .pb-testimonials-list {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  gap: 1.25rem;
  padding-bottom: 0.5rem;
}
.pb-testimonials--slider .pb-testimonial-card {
  flex: 0 0 min(20rem, 85vw);
  scroll-snap-align: start;
}
.pb-testimonial-card {
  background: var(--color-surface, #ffffff);
  border: 1px solid var(--color-border, #e5e7eb);
  border-radius: var(--pb-radius);
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.pb-testimonial-quote {
  margin: 0;
  position: relative;
}
.pb-testimonial-mark {
  font-size: 3rem;
  line-height: 1;
  color: var(--color-primary, #4f46e5);
  opacity: 0.3;
  position: absolute;
  top: -0.5rem;
  left: -0.25rem;
}
.pb-testimonial-quote p {
  margin: 0;
  padding-top: 1.25rem;
  line-height: 1.6;
  font-style: italic;
}
.pb-testimonial-footer {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: auto;
}
.pb-testimonial-avatar {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  object-fit: cover;
}
.pb-testimonial-author {
  font-style: normal;
  font-weight: 600;
  display: block;
}
.pb-testimonial-role {
  font-size: 0.8125rem;
  color: var(--color-text-muted, #6b7280);
}
.pb-block-contact-form {
  max-width: 36rem;
}
.pb-contact-title {
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0 0 0.5rem;
}
.pb-contact-desc {
  color: var(--color-text-muted, #6b7280);
  margin: 0 0 1.25rem;
}
.pb-contact-fields {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.pb-contact-hp {
  position: absolute;
  left: -9999px;
  opacity: 0;
  height: 0;
  overflow: hidden;
}
.pb-contact-status {
  padding: 0.75rem;
  border-radius: 0.375rem;
  font-size: 0.875rem;
  font-weight: 500;
}
.pb-contact-status--success {
  background: #d1fae5;
  color: #065f46;
}
.pb-contact-status--error {
  background: #fee2e2;
  color: #991b1b;
}
.pb-contact-preview {
  pointer-events: none;
}
.pb-contact-fields-preview {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.pb-form-input-preview {
  min-height: 2.5rem;
  border: 1px solid var(--color-border, #e5e7eb);
  border-radius: 0.375rem;
  background: var(--color-surface, #f9fafb);
}
.pb-form-input-preview--tall {
  min-height: 5rem;
}
.pb-map-container {
  width: 100%;
  border-radius: var(--pb-radius);
}
.pb-map--sm .pb-map-container, .pb-map--sm .pb-map-placeholder {
  height: 12rem;
}
.pb-map--md .pb-map-container, .pb-map--md .pb-map-placeholder {
  height: 20rem;
}
.pb-map--lg .pb-map-container, .pb-map--lg .pb-map-placeholder {
  height: 28rem;
}
.pb-map-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-surface, #f3f4f6);
  border: 2px dashed var(--color-border, #e5e7eb);
  border-radius: var(--pb-radius);
}
.pb-map-preview {
  border-radius: var(--pb-radius);
  overflow: hidden;
}
.pb-countdown-label {
  text-align: center;
  font-size: 1.25rem;
  font-weight: 700;
  margin: 0 0 1rem;
}
.pb-countdown-display {
  display: flex;
  justify-content: center;
  gap: 1.5rem;
  flex-wrap: wrap;
}
.pb-countdown-unit {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
}
.pb-countdown-num {
  font-size: clamp(2rem, 5vw, 3rem);
  font-weight: 800;
  line-height: 1;
  color: var(--color-primary, #4f46e5);
  min-width: 3.5rem;
  text-align: center;
}
.pb-countdown-lbl {
  font-size: 0.8125rem;
  color: var(--color-text-muted, #6b7280);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.pb-countdown-expired {
  text-align: center;
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--color-primary, #4f46e5);
}
.pb-embed-wrap {
  border-radius: var(--pb-radius);
  overflow: hidden;
}
.pb-embed-iframe {
  width: 100%;
  height: 100%;
  border: 0;
}
.pb-embed-preview {
  padding: 2rem;
  background: var(--color-surface, #f3f4f6);
  border: 2px dashed var(--color-border, #e5e7eb);
  border-radius: var(--pb-radius);
  text-align: center;
}
.pb-palette-icon--gallery::before {
  content: '▦';
  color: var(--color-primary);
}
.pb-palette-icon--video::before {
  content: '▶';
  color: var(--color-primary);
}
.pb-palette-icon--list::before {
  content: '☰';
  color: var(--color-primary);
}
.pb-palette-icon--card::before {
  content: '▭';
  color: var(--color-primary);
}
.pb-palette-icon--timeline::before {
  content: '⧫';
  color: var(--color-primary);
}
.pb-palette-icon--accordion::before {
  content: '≡';
  color: var(--color-primary);
  font-weight: 800;
}
.pb-palette-icon--faq::before {
  content: '?';
  color: var(--color-primary);
  font-weight: 800;
}
.pb-palette-icon--testimonials::before {
  content: '❝';
  color: var(--color-primary);
}
.pb-palette-icon--contact_form::before {
  content: '✉';
  color: var(--color-primary);
}
.pb-palette-icon--map::before {
  content: '⌖';
  color: var(--color-primary);
}
.pb-palette-icon--countdown::before {
  content: '⏱';
}
.pb-palette-icon--embed::before {
  content: '<>';
  color: var(--color-primary);
  font-size: 0.75rem;
  font-weight: 800;
}
@media (max-width: 1023px) {
  .pb-hide-tablet {
    display: none !important;
  }
}
@media (max-width: 767px) {
  .pb-hide-mobile {
    display: none !important;
  }
}
.pb-editor-theme input[type="color"] {
  min-height: 2.75rem;
  width: 100%;
  padding: 0.25rem;
  border: 1px solid var(--color-border, #e5e7eb);
  border-radius: 0.375rem;
  cursor: pointer;
  background: transparent;
}
.pb-insp-items .pb-insp-item {
  background: var(--color-primary, #4f46e5);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-primary, #4f46e5) 3%, transparent);
  }
}
.pb-block-widget-embed {
  border: 1px solid var(--color-border, #e5e7eb);
  border-radius: var(--pb-radius);
  overflow: hidden;
}
.pb-widget-card {
  padding: 1.25rem;
  background: var(--color-surface, #ffffff);
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.pb-widget-card-badge {
  display: inline-flex;
  align-self: flex-start;
  padding: 0.125rem 0.625rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
  background: var(--color-primary-light, #eef2ff);
  color: var(--color-primary, #4f46e5);
}
.pb-widget-card-title {
  font-size: 1.125rem;
  font-weight: 700;
  margin: 0;
}
.pb-widget-card-desc {
  color: var(--color-text-muted, #6b7280);
  line-height: 1.5;
  margin: 0;
}
.pb-widget-embed-empty {
  padding: 2rem;
  text-align: center;
  background: var(--color-surface, #f9fafb);
}
.pb-widget-embed-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 2rem;
}
.pb-widget-embed-spinner {
  width: 1.25rem;
  height: 1.25rem;
  border: 2px solid var(--color-border, #e5e7eb);
  border-top-color: var(--color-primary, #4f46e5);
  border-radius: 50%;
  animation: pb-spin 0.6s linear infinite;
}
@keyframes pb-spin {
  to {
    transform: rotate(360deg);
  }
}
.pb-palette-icon--widget_embed::before {
  content: '⚙';
  color: var(--color-primary);
}
.pb-template-section {
  margin-bottom: 2rem;
}
.pb-template-heading {
  font-size: 1.25rem;
  font-weight: 700;
  margin: 0 0 1rem;
}
.pb-template-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
@media (min-width: 640px) {
  .pb-template-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .pb-template-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
.pb-template-card {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 1.25rem;
  background: var(--color-surface, #ffffff);
  border: 1px solid var(--color-border, #e5e7eb);
  border-radius: var(--pb-radius);
  transition: border-color 0.15s, box-shadow 0.15s;
}
.pb-template-card:hover {
  border-color: var(--color-primary, #4f46e5);
  box-shadow: 0 4px 12px rgb(0 0 0 / 0.06);
}
.pb-template-icon {
  font-size: 2rem;
  line-height: 1;
}
.pb-template-label {
  font-size: 1.0625rem;
  font-weight: 700;
  margin: 0;
}
.pb-template-desc {
  font-size: 0.875rem;
  color: var(--color-text-muted, #6b7280);
  margin: 0;
  line-height: 1.4;
}
.pb-template-fields {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.pb-template-input {
  min-height: 2.5rem;
  font-size: 0.875rem;
}
.pb-template-divider {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 2rem 0;
  color: var(--color-text-muted, #6b7280);
  font-size: 0.875rem;
}
.pb-template-divider::before, .pb-template-divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: var(--color-border, #e5e7eb);
}
.pb-seo-google-preview {
  border: 1px solid var(--color-border, #e5e7eb);
  border-radius: 0.5rem;
  padding: 0.75rem 1rem;
  background: var(--color-surface, #ffffff);
}
.pb-seo-gp-title {
  font-size: 1.125rem;
  color: #1a0dab;
  font-weight: 500;
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pb-seo-gp-url {
  font-size: 0.8125rem;
  color: #006621;
  margin: 0.125rem 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pb-seo-gp-desc {
  font-size: 0.8125rem;
  color: #545454;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.pb-stat-views {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  color: var(--color-text-muted, #6b7280);
  font-size: 0.875rem;
}
.pb-stat-views svg {
  opacity: 0.6;
}
@media (max-width: 1023px) {
  .pb-editor-panel {
    transform: translateY(100%);
    transition: transform 0.3s cubic-bezier(0.32, 0.72, 0, 1);
    will-change: transform;
    max-height: 100vh;
    border-radius: 1.25rem 1.25rem 0 0;
  }
  .pb-editor-panel-handle {
    height: 2.75rem;
    min-height: 2.75rem;
  }
  .pb-editor-panel-handle::before {
    width: 3.5rem;
    height: 0.3rem;
    border-radius: 999px;
  }
}
.pb-history-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.625rem 0;
  border-bottom: 1px solid var(--color-border, #e5e7eb);
  flex-wrap: wrap;
}
.pb-history-item:last-child {
  border-bottom: 0;
}
.pb-history-version {
  font-weight: 700;
  font-size: 0.875rem;
  color: var(--color-primary, #4f46e5);
  min-width: 2.5rem;
}
.pb-editor-canvas--dragover .pb-edit-block-wrap {
  position: relative;
}
.pb-editor-canvas--dragover::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 1px;
  background: var(--color-primary, #4f46e5);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-primary, #4f46e5) 15%, transparent);
  }
  pointer-events: none;
  z-index: 2;
}
.pb-editor-canvas--dragover::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 1px;
  background: var(--color-primary, #4f46e5);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-primary, #4f46e5) 10%, transparent);
  }
  pointer-events: none;
  z-index: 2;
}
.pb-insp-row--image {
  gap: 0.5rem;
}
.pb-picker {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  padding: 0.75rem;
  border: 1px solid var(--color-border, #e5e7eb);
  border-radius: 0.5rem;
  background: var(--color-surface, #ffffff);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-surface, #ffffff) 70%, transparent);
  }
}
.pb-picker-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}
.pb-picker-label {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--color-text, #111827);
}
.pb-picker-thumb-wrap {
  position: relative;
  display: flex;
  align-items: center;
}
.pb-picker-thumb {
  width: 3rem;
  height: 3rem;
  border-radius: 0.375rem;
  object-fit: cover;
  background: var(--color-border, #e5e7eb);
  border: 1px solid var(--color-border, #e5e7eb);
}
.pb-picker-thumb[hidden] {
  display: none;
}
.pb-picker-clear {
  position: absolute;
  top: -0.4rem;
  right: -0.4rem;
  width: 1.25rem;
  height: 1.25rem;
  border: 0;
  border-radius: 999px;
  background: var(--color-text, #111827);
  color: var(--color-surface, #ffffff);
  font-size: 0.875rem;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 1px 3px rgb(0 0 0 / 0.2);
}
.pb-picker-clear[hidden] {
  display: none;
}
.pb-picker-tabs {
  display: flex;
  gap: 0.25rem;
  border-bottom: 1px solid var(--color-border, #e5e7eb);
}
.pb-picker-tab {
  padding: 0.5rem 0.75rem;
  border: 0;
  background: transparent;
  font: inherit;
  font-size: 0.8125rem;
  color: var(--color-text-muted, #6b7280);
  cursor: pointer;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  transition: color 0.12s, border-color 0.12s;
}
.pb-picker-tab:hover {
  color: var(--color-text, #111827);
}
.pb-picker-tab--active {
  color: var(--color-primary, #4f46e5);
  border-bottom-color: var(--color-primary, #4f46e5);
  font-weight: 600;
}
.pb-picker-panel {
  display: block;
}
.pb-picker-panel-url input[type="text"] {
  width: 100%;
  min-height: 2.5rem;
  padding: 0.5rem 0.75rem;
  font: inherit;
  border: 1px solid var(--color-border, #e5e7eb);
  border-radius: 0.375rem;
  background: var(--color-surface, #ffffff);
  color: var(--color-text, #111827);
}
.pb-picker-panel-url input[type="text"]:focus {
  outline: none;
  border-color: var(--color-primary, #4f46e5);
  box-shadow: 0 0 0 2px var(--color-primary, #4f46e5);
  @supports (color: color-mix(in lab, red, red)) {
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--color-primary, #4f46e5) 20%, transparent);
  }
}
.pb-picker-drop {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  padding: 1.25rem 1rem;
  border: 2px dashed var(--color-border, #e5e7eb);
  border-radius: 0.5rem;
  background: var(--color-surface, #ffffff);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-surface, #ffffff) 60%, transparent);
  }
  color: var(--color-text-muted, #6b7280);
  cursor: pointer;
  transition: border-color 0.12s, background 0.12s, color 0.12s;
  text-align: center;
}
.pb-picker-drop:hover, .pb-picker-drop--active {
  border-color: var(--color-primary, #4f46e5);
  color: var(--color-primary, #4f46e5);
  background: var(--color-primary, #4f46e5);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-primary, #4f46e5) 6%, transparent);
  }
}
.pb-picker-drop-hint {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 500;
}
.pb-picker-drop-info {
  margin: 0;
  font-size: 0.75rem;
  opacity: 0.75;
}
.pb-picker-library {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(6rem, 1fr));
  gap: 0.5rem;
  max-height: 16rem;
  overflow-y: auto;
  padding: 0.25rem;
}
.pb-picker-library-item {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 0;
  border: 1px solid var(--color-border, #e5e7eb);
  border-radius: 0.375rem;
  background: var(--color-surface, #ffffff);
  overflow: hidden;
  cursor: pointer;
  transition: border-color 0.12s, transform 0.12s;
}
.pb-picker-library-item:hover {
  border-color: var(--color-primary, #4f46e5);
  transform: translateY(-1px);
}
.pb-picker-library-item img {
  width: 100%;
  height: 4.5rem;
  object-fit: cover;
  display: block;
  background: var(--color-border, #e5e7eb);
}
.pb-picker-library-item-caption {
  padding: 0.25rem 0.375rem;
  font-size: 0.6875rem;
  color: var(--color-text-muted, #6b7280);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.pb-picker-library-item-delete {
  position: absolute;
  top: 0.25rem;
  right: 0.25rem;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 999px;
  background: rgb(0 0 0 / 0.55);
  color: #fff;
  font-size: 0.875rem;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.12s, background 0.12s;
}
.pb-picker-library-item:hover .pb-picker-library-item-delete {
  opacity: 1;
}
.pb-picker-library-item-delete:hover {
  background: #b91c1c;
}
.pb-picker-status {
  margin: 0;
  font-size: 0.75rem;
  color: var(--color-text-muted, #6b7280);
}
.pb-picker-status--error {
  color: #b91c1c;
}
.pb-picker-muted {
  margin: 0;
  padding: 0.75rem 0;
  font-size: 0.8125rem;
  color: var(--color-text-muted, #6b7280);
  text-align: center;
}
body[data-theme-dark="true"] {
  --mix-base: var(--color-surface);
  --bg-app: var(--color-background);
  --neutral-50: rgba(255, 255, 255, 0.03);
  --neutral-100: rgba(255, 255, 255, 0.06);
  --neutral-200: rgba(255, 255, 255, 0.10);
  --neutral-300: rgba(255, 255, 255, 0.18);
  --neutral-400: rgba(255, 255, 255, 0.38);
  --neutral-500: rgba(255, 255, 255, 0.55);
  --neutral-600: rgba(255, 255, 255, 0.68);
  --neutral-700: rgba(255, 255, 255, 0.78);
  --neutral-800: var(--color-text);
  --neutral-900: rgba(255, 255, 255, 0.96);
}
body[data-theme-dark="true"] .kohort-stat-tile {
  background: var(--color-surface);
}
body[data-theme-dark="true"] .badge-primary {
  background: var(--color-primary);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-primary) 22%, var(--color-surface));
  }
  color: var(--color-text);
}
body[data-theme-dark="true"] .badge-accent {
  background: var(--color-accent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-accent) 22%, var(--color-surface));
  }
  color: var(--color-accent);
}
body[data-theme-dark="true"] .badge-success {
  background: var(--color-success);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-success) 15%, var(--color-surface));
  }
  color: var(--color-success);
}
body[data-theme-dark="true"] .badge-warning {
  background: var(--color-warning);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-warning) 15%, var(--color-surface));
  }
  color: var(--color-warning);
}
body[data-theme-dark="true"] .badge-error {
  background: var(--color-error);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-error) 15%, var(--color-surface));
  }
  color: var(--color-error);
}
body[data-theme-dark="true"] .alert-error {
  background: var(--color-error);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-error) 12%, var(--color-surface));
  }
  border-color: var(--color-error);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in srgb, var(--color-error) 35%, var(--color-surface));
  }
}
body[data-theme-dark="true"] .alert-success {
  background: var(--color-success);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-success) 12%, var(--color-surface));
  }
  border-color: var(--color-success);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in srgb, var(--color-success) 35%, var(--color-surface));
  }
}
body[data-theme-dark="true"] .alert-warning {
  background: var(--color-warning);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-warning) 12%, var(--color-surface));
  }
  border-color: var(--color-warning);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in srgb, var(--color-warning) 35%, var(--color-surface));
  }
  color: var(--color-warning);
}
body[data-theme-dark="true"] .kohort-calendar-nav {
  background: linear-gradient( 135deg, var(--color-primary, var(--primary-500)), var(--color-surface) );
  @supports (color: color-mix(in lab, red, red)) {
    background: linear-gradient( 135deg, color-mix(in srgb, var(--color-primary, var(--primary-500)) 8%, var(--color-surface)), var(--color-surface) );
  }
}
body[data-theme-dark="true"] .msg-incoming .msg-bubble {
  border-color: rgba(255, 255, 255, 0.10);
}
body[data-theme-dark="true"] .msg:hover {
  background: rgba(255, 255, 255, 0.03);
}
body[data-theme-dark="true"] .text-primary {
  color: var(--color-primary);
  @supports (color: color-mix(in lab, red, red)) {
    color: color-mix(in srgb, var(--color-primary) 55%, white);
  }
}
body[data-theme-dark="true"] .bg-primary-subtle {
  background-color: var(--color-primary);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in srgb, var(--color-primary) 18%, transparent);
  }
}
body[data-theme-dark="true"] .kohort-message-card .font-semibold {
  color: var(--color-text);
}
@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: 0px;
}
@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}
@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false;
}
@property --tw-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;
}
@property --tw-content {
  syntax: "*";
  initial-value: "";
  inherits: false;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
@keyframes pulse {
  50% {
    opacity: 0.5;
  }
}
@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;
      --tw-content: "";
    }
  }
}
