/* =========================================================
   Thanksly Design System — Cleaned & Consolidated
   - Dedupe tokens
   - Add missing variables (elevations, focus, shadcn-style aliases)
   - Unify buttons & chips
   - Single splash system
   - Prefer semantic tokens in components
   - Dark theme backed by tokens
   - Quicksand prioritised everywhere
   ========================================================= */

/* ===== Reset & base ===== */
*, *::before, *::after { box-sizing: border-box; }
html, body, #root { height: 100%; margin: 0; padding: 0; overflow-x: hidden; }

/* ===== Tokens ===== */
:root {
  /* Safe areas */
  --safe-area-top: env(safe-area-inset-top, 0px);
  --safe-area-bottom: env(safe-area-inset-bottom, 0px);
  --safe-area-left: env(safe-area-inset-left, 0px);
  --safe-area-right: env(safe-area-inset-right, 0px);

  /* Base grey scale */
  --gray-950:#0A0A0A;
  --gray-900:#111827;
  --gray-800:#1F2937;
  --gray-700:#374151;
  --gray-600:#4B5563;
  --gray-500:#6B7280;
  --gray-400:#9CA3AF;
  --gray-300:#D1D5DB;
  --gray-200:#E5E7EB;
  --gray-100:#F3F4F6;
  --gray-50: #F9FAFB;

  /* Ink mapping (back-compat for existing classes) */
  --ink-900: var(--gray-950);
  --ink-800: var(--gray-900);
  --ink-700: var(--gray-600);
  --ink-600: var(--gray-600);
  --ink-500: var(--gray-500);
  --ink-400: var(--gray-200);
  --ink-300: var(--gray-200);
  --ink-200: var(--gray-200);
  --ink-100: var(--gray-100);
  --ink-050: var(--gray-50);

  /* Semantic colors (use these in components) */
  --surface:    #FFFFFF;
  --surface-2:  var(--gray-50);
  --border:     var(--gray-200);
  --border-strong: var(--gray-300);
  --text:       var(--ink-900);
  --text-muted: var(--ink-700);
  --primary:    #0E0E0E;
  --primary-hover: #1A1A1A;

  /* Gradients */
  --bg-gradient: linear-gradient(180deg, var(--surface-2) 0%, var(--surface) 60%);
  --gradient-primary: linear-gradient(135deg, var(--surface-2), var(--surface));
  --gradient-secondary: linear-gradient(135deg, #FAFAFA, #F0F0F0);
  --gradient-dark: linear-gradient(135deg, #0E0E0E, #1A1A1A);

  /* Focus & elevation */
  --focus-ring-color: rgba(102,106,115,.35);
  --focus-ring: 0 0 0 2px var(--focus-ring-color);
  --elev-1: 0 1px 3px rgba(0,0,0,.06);
  --elev-2: 0 8px 16px rgba(0,0,0,.10);
  --shadow-xs: 0 1px 2px rgba(0,0,0,0.04);
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.06);
  --shadow-md: 0 4px 6px rgba(0,0,0,0.05);
  --shadow-lg: 0 10px 15px rgba(0,0,0,0.08);
  --shadow-xl: 0 20px 25px rgba(0,0,0,0.10);
  --shadow-card: 0 10px 30px rgba(0, 0, 0, 0.1);

  /* Shadcn-like aliases used in your .dark block */
  --foreground: var(--text);
  --background: var(--surface);
  --secondary:  var(--surface-2);
  --card:       var(--surface);
  --card-foreground: var(--text);
  --primary-foreground: #FFFFFF;
  --muted-foreground:  var(--text-muted);
  --input:      var(--border);
  --color-border: var(--border);

  /* Type scale */
  --fs-large-title: 34px;  --lh-large-title: 40px;  --fw-large-title: 700;
  --fs-section-title: 22px; --lh-section-title: 28px; --fw-section-title: 700;
  --fs-body: 16px; --lh-body: 24px; --fw-body: 500;
  --fs-caption: 13px; --lh-caption: 18px; --fw-caption: 500;
  --fs-kpi-card: 28px; --lh-kpi-card: 34px; --fw-kpi-card: 700;
  --fs-kpi-hero: 48px; --lh-kpi-hero: 56px; --fw-kpi-hero: 700;
  --fs-button: 16px; --lh-button: 24px; --fw-button: 600;
  --fs-button-sm: 14px; --lh-button-sm: 20px; --fw-button-sm: 600;
  --fs-button-lg: 18px; --lh-button-lg: 24px; --fw-button-lg: 600;

  /* Spacing scale */
  --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px; --space-5: 20px;
  --space-6: 24px; --space-8: 32px; --space-10: 40px; --space-12: 48px; --space-16: 64px; --space-20: 80px;

  /* Radius */
  --radius-xs: 4px; --radius-sm: 8px; --radius-md: 12px; --radius-lg: 16px; --radius-xl: 24px; --radius-full: 9999px;
  --radius-card: var(--radius-xl);
  --radius-fab: 32px;

  /* Sizing */
  --touch-target-xs: 40px;
  --touch-target-sm: 44px;
  --touch-target: 48px;
  --touch-target-lg: 57px;
  --touch-target-xl: 62px;
  --touch-target-xxl: 70px;

  --input-height-sm: 48px;
  --input-height: 57px;
  --input-height-lg: 62px;
  --input-height-textarea: 106px;

  --fab-size: 70px;
  --header-height: 140px;
  --tabbar-h: 88px;
  --bottom-ui: calc(var(--tabbar-h) + var(--safe-area-bottom));

  /* App background */
  --bg-base: var(--surface);
  --bg-secondary: var(--surface-2);
  --bg-tertiary: var(--surface);
  --accent-primary: var(--primary);
  --accent-primary-hover: var(--primary-hover);

  /* Fonts */
  --font-family-base: "Quicksand", -apple-system, system-ui, "SF Pro Text",
                      "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-family-display: "Quicksand", -apple-system, system-ui, "SF Pro Text",
                         "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-family-primary: "Quicksand", -apple-system, system-ui, "SF Pro Text",
                         "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

body {
  background: var(--bg-gradient);
  color: var(--text);
  font-family: var(--font-family-primary);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  font-weight: var(--fw-body);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  min-height: 100vh;
  min-height: 100dvh;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* ===== Utilities ===== */
.tl-border { border:1px solid var(--border); }
.tl-stack { display:flex; flex-direction:column; gap:var(--space-4); }
.tl-stack--xs { gap:var(--space-2); }
.tl-stack--sm { gap:var(--space-3); }
.tl-stack--lg { gap:var(--space-6); }
.tl-stack--xl { gap:var(--space-8); }

.tl-row { display:flex; align-items:center; gap:var(--space-3); flex-wrap:wrap; }
.tl-row--xs, .tl-row--sm { gap:var(--space-2); }
.tl-row--lg { gap:var(--space-4); }

.tl-spread { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:var(--space-3); }

.tl-container {
  padding: var(--space-6);
  padding-bottom: calc(var(--bottom-ui) + var(--space-4));
  max-width: 480px;
  margin: 0 auto;
  width: 100%;
  container-type: inline-size;
}
.tl-container--no-bottom { padding-bottom: var(--space-6); }

/* ===== Typography ===== */
.tl-large-title, .tl-h1 {
  font-family: var(--font-family-display);
  font-size: var(--fs-large-title);
  line-height: var(--lh-large-title);
  font-weight: var(--fw-large-title);
  letter-spacing: -0.02em;
  margin: 0;
  color: var(--text);
}
.tl-section-title, .tl-h2 {
  font-family: var(--font-family-display);
  font-size: var(--fs-section-title);
  line-height: var(--lh-section-title);
  font-weight: var(--fw-section-title);
  letter-spacing: -0.01em;
  margin: 0;
  color: var(--text);
}
.tl-h3 { font-family: var(--font-family-display); font-size:20px; line-height:28px; font-weight:600; margin:0; color:var(--text); }
.tl-body { font-family: var(--font-family-primary); font-size:var(--fs-body); line-height:var(--lh-body); font-weight:var(--fw-body); margin:0; color:var(--text); }
.tl-caption { font-family: var(--font-family-primary); font-size:var(--fs-caption); line-height:var(--lh-caption); font-weight:var(--fw-caption); margin:0; color:var(--text-muted); }
.tl-title { font-family: var(--font-family-primary); font-size:var(--fs-body); line-height:var(--lh-body); font-weight:600; color:var(--text); }
.tl-title--subtle { color:var(--text-muted); }
.tl-text-primary { color: var(--text); }
.tl-text-secondary, .tl-text-tertiary, .tl-text-muted, .tl-text-subtle, .tl-text-accent { color: var(--text-muted); }

/* ===== App structure ===== */

.tl-app {
  min-height: 100dvh;
  background: var(--bg-gradient);
  display: flex;
  flex-direction: column;
  max-width: 480px;
  margin: 0 auto;
  width: 100%;
  overflow-x: hidden;
  padding-top: var(--safe-area-top);
}

/* ===== Header ===== */
.tl-header { 
  background: transparent; 
  padding: var(--space-6); 
  position: relative; 
  z-index:10; 
  width:100%; 
  flex-shrink:0; 
}
.tl-header__content { display:flex; align-items:flex-start; justify-content:space-between; max-width:480px; margin:0 auto; width:100%; gap:var(--space-3); }
.tl-header__title { display:flex; flex-direction:column; gap:var(--space-1); min-width:0; flex:1; }
.tl-header__title--with-logo { flex-direction:row; align-items:flex-start; gap:var(--space-2); }
.tl-header__logo { width:24px; height:24px; background:var(--ink-100); border-radius:var(--radius-sm); display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:16px; margin-top:2px; }
.tl-header__text { min-width:0; flex:1; }
.tl-header__text h1 { margin:0; font-family:var(--font-family-display); font-size:var(--fs-large-title); line-height:var(--lh-large-title); font-weight:var(--fw-large-title); letter-spacing:-0.02em; color:var(--text); }
.tl-header__text p { margin:4px 0 0 0; font-size:var(--fs-caption); line-height:var(--lh-caption); color:var(--text-muted); }
.tl-header__actions { display:flex; align-items:center; gap:var(--space-2); flex-shrink:0; margin-top:var(--space-1); }

/* ===== Buttons (UNIFIED) ===== */
.tl-btn, .tl-cta-btn {
  display:inline-flex; align-items:center; justify-content:center; gap:var(--space-2);
  height: var(--touch-target-sm); padding: 0 var(--space-4);
  border:1px solid var(--border); border-radius: var(--radius-lg);
  background: var(--surface); color: var(--text);
  font-family: var(--font-family-primary);
  font-size: var(--fs-button-sm); line-height: var(--lh-button-sm); font-weight: var(--fw-button-sm);
  text-decoration:none; cursor:pointer; transition: transform .12s ease, box-shadow .12s ease, background .12s ease, border-color .12s ease;
  letter-spacing: .01em; position:relative; min-width:0;
}
.tl-btn:hover, .tl-cta-btn:hover { background: var(--bg-secondary); border-color: var(--border-strong); transform: translateY(-1px); box-shadow: var(--elev-1); }
.tl-btn:active, .tl-cta-btn:active { transform: scale(.98); }
.tl-btn:focus-visible, .tl-cta-btn:focus-visible { outline:none; box-shadow: var(--focus-ring); }

.tl-btn--primary, .tl-cta-btn--primary { background: var(--primary); color:#fff; border-color: var(--primary); }
.tl-btn--primary:hover, .tl-cta-btn--primary:hover { background: var(--primary-hover); border-color: var(--primary-hover); }
.tl-btn--secondary, .tl-cta-btn--secondary, .tl-btn--outline { background: var(--surface); color: var(--text); border-color: var(--border); }
.tl-btn--secondary:hover, .tl-cta-btn--secondary:hover, .tl-btn--outline:hover { background: var(--bg-secondary); border-color: var(--border-strong); }
.tl-btn--ghost { background:transparent; color:var(--text-muted); border-color:transparent; }
.tl-btn--ghost:hover { background: var(--bg-secondary); }

/* Destructive buttons */
.tl-btn--destructive { background: #dc2626; color: #fff; border-color: #dc2626; }
.tl-btn--destructive:hover { background: #b91c1c; border-color: #b91c1c; }

.tl-btn--xs { height: var(--touch-target-xs); padding: 0 var(--space-3); font-size: var(--fs-button-sm); }
.tl-btn--sm { height: var(--touch-target-sm); padding: 0 var(--space-4); }
.tl-btn--lg { height: var(--touch-target); padding: 0 var(--space-5); font-size: var(--fs-button); line-height: var(--lh-button); font-weight: var(--fw-button); }
.tl-btn--xl { height: var(--touch-target-xxl); padding: 0 var(--space-10); font-size:20px; font-weight:700; }
.tl-btn--full { width:100%; }
.tl-btn:disabled { opacity:.5; cursor:not-allowed; transform:none!important; }

/* Icon button + Back button */
.tl-icon-btn, .tl-back-btn {
  display:inline-flex; align-items:center; justify-content:center;
  width: var(--touch-target-sm); height: var(--touch-target-sm);
  border:1px solid var(--border); border-radius: var(--radius-lg);
  background: var(--surface); color: var(--text-muted); transition: all .12s ease;
}
.tl-icon-btn:hover, .tl-back-btn:hover { background: var(--bg-secondary); border-color: var(--border-strong); color: var(--text); }
.tl-icon-btn:active, .tl-back-btn:active { transform: scale(.98); }
.tl-icon-btn--lg { width: var(--touch-target); height: var(--touch-target); }

/* ===== Chips / Pills ===== */
.tl-chip {
  display:inline-flex; align-items:center; height: 46px;
  padding: 0 var(--space-4);
  border:1px solid var(--border); border-radius:16px;
  background: var(--surface); color: var(--text-muted);
  font-size: var(--fs-caption); line-height: var(--lh-caption); font-weight: var(--fw-caption);
  white-space:nowrap; flex-shrink:0; transition: all .12s ease; cursor:pointer;
}
.tl-chip:hover { background: var(--bg-secondary); border-color: var(--border-strong); color: var(--text); }
.tl-chip--primary { background: var(--primary); color:#fff; border-color: var(--primary); }
.tl-chip--accent { background: var(--ink-700); color:#fff; border-color: var(--ink-700); }
.tl-chip--destructive { background: #dc2626; color: #fff; border-color: #dc2626; }

/* ===== Cards ===== */
.tl-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
  overflow: hidden;
}
.tl-card--hover { transition: all .12s ease; cursor:pointer; }
.tl-card--hover:hover { background: var(--bg-secondary); box-shadow: var(--shadow-lg); border-color: var(--border-strong); transform: translateY(-1px); }
.tl-card__header { padding: var(--space-5); border-bottom:1px solid var(--border); background: var(--bg-secondary); }
.tl-card__content { padding: var(--space-5); }
.tl-card__content--sm { padding: var(--space-3); }

/* ===== Filters/Tabs ===== */
.tl-filters {
  display:flex; gap:var(--space-2);
  padding: var(--space-3) var(--space-6);
  border-bottom:1px solid var(--border);
  background: var(--surface);
  max-width:480px; margin:0 auto; width:100%; overflow-x:auto;
}
.tl-filter {
  height: 50px; padding: 0 var(--space-4);
  border:1px solid var(--border); border-radius:16px;
  background: var(--surface); color: var(--text-muted);
  font-size: var(--fs-caption); font-weight: var(--fw-caption);
  cursor:pointer; transition: all .12s ease; flex-shrink:0;
}
.tl-filter:hover { background: var(--bg-secondary); border-color: var(--border-strong); color: var(--text); }
.tl-filter--active { background: var(--primary); color:#fff; border-color: var(--primary); box-shadow: var(--shadow-sm); }
.tl-filter--active:hover { background: var(--primary-hover); border-color: var(--primary-hover); }

/* ===== Bottom Navigation ===== */
.tl-bottom-nav {
  position: fixed; bottom:0; left:0; right:0;
  background: rgba(255,255,255,.95); border-top:1px solid var(--border);
  box-shadow: var(--shadow-lg); z-index:20; backdrop-filter: blur(8px);
  height: var(--tabbar-h); padding-bottom: var(--safe-area-bottom);
}
.tl-bottom-nav__content { display:flex; height: var(--tabbar-h); max-width:480px; margin:0 auto; }
.tl-bottom-nav__item {
  flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:var(--space-1); color:#9AA0A6; text-decoration:none;
  font-size: var(--fs-caption); font-weight: var(--fw-caption);
  transition: all .12s ease; position:relative; border:none; background:none; cursor:pointer; min-width:0;
  padding: var(--space-2); min-height: var(--touch-target);
}
.tl-bottom-nav__item:hover { color: var(--text-muted); background: var(--bg-secondary); }
.tl-bottom-nav__item--active { color: var(--text); background: var(--bg-secondary); }
.tl-bottom-nav__item--active::before {
  content:""; position:absolute; top:0; left:50%; transform:translateX(-50%);
  width:40px; height:3px; background: var(--primary); border-radius: var(--radius-full);
}
.tl-bottom-nav__icon { width:28px; height:28px; flex-shrink:0; }

/* ===== FAB ===== */
.tl-fab {
  position: fixed; bottom: calc(var(--bottom-ui) + var(--space-4)); right: var(--space-6);
  width: var(--fab-size); height: var(--fab-size);
  background: var(--primary); color:#fff; border:none; border-radius: var(--radius-fab);
  box-shadow: var(--shadow-lg); display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition: all .2s ease; z-index:15;
}
.tl-fab:hover { background: var(--primary-hover); transform: translateY(-2px) scale(1.05); box-shadow: var(--shadow-xl); }
.tl-fab:active { transform: scale(.95); }
.tl-fab:focus-visible { outline:none; box-shadow: var(--focus-ring), var(--shadow-lg); }

/* ===== Loading & Empty ===== */
.tl-loading { display:flex; align-items:center; justify-content:center; padding:var(--space-8); color:var(--text-muted); font-size:var(--fs-body); }
.tl-skeleton { background: var(--border); border-radius: var(--radius-lg); animation: tl-pulse 2s cubic-bezier(.4,0,.6,1) infinite; }
@keyframes tl-pulse { 0%,100% { opacity:1; } 50% { opacity:.5; } }
.tl-empty { text-align:center; padding: var(--space-8) var(--space-4); }
.tl-empty__icon { width:48px; height:48px; margin:0 auto var(--space-4); color:var(--text-muted); stroke-width:1.5; }
.tl-empty__title { font-family:var(--font-family-display); font-size:20px; line-height:28px; font-weight:600; color:var(--text-muted); margin-bottom: var(--space-2); }
.tl-empty__description { font-size:var(--fs-body); line-height:var(--lh-body); color:var(--text-muted); margin-bottom: var(--space-6); }

/* ===== Activity Feed & Bubbles ===== */
.tl-activity-container {
  flex:1; overflow-y:auto; padding: var(--space-6);
  padding-bottom: calc(var(--bottom-ui) + var(--space-4));
  background-color: var(--bg-secondary);
  display:flex; flex-direction:column; min-height:0;
  padding-top: calc(var(--header-height) + var(--space-6));
  scroll-padding-bottom: var(--bottom-ui);
}
.tl-activity-timeline { display:flex; flex-direction:column; gap:var(--space-4); min-height:min-content; padding-bottom: calc(var(--bottom-ui) + var(--space-4)); }
.tl-activity-date-separator { display:flex; align-items:center; justify-content:center; margin: var(--space-6) 0 var(--space-4); }
.tl-activity-date-separator span {
  background: var(--surface); color: var(--text-muted); padding: var(--space-2) var(--space-4);
  border-radius:16px; font-size:var(--fs-caption); font-weight:var(--fw-caption); border:1px solid var(--border); box-shadow: var(--shadow-xs);
}

.tl-activity-bubble-wrapper { display:flex; margin-bottom: var(--space-4); max-width:85%; scroll-margin-bottom: calc(var(--bottom-ui) + var(--space-4)); }
.tl-activity-bubble-wrapper--sent { justify-content:flex-end; margin-left:auto; }
.tl-activity-bubble-wrapper--received { justify-content:flex-start; margin-right:auto; }
.tl-activity-bubble-wrapper:last-child { margin-bottom: calc(var(--bottom-ui) + var(--space-6)); }

.tl-activity-bubble {
  padding: var(--space-4); border-radius:18px; box-shadow: var(--shadow-sm);
  display:flex; flex-direction:column; gap:var(--space-2); position:relative; border:1px solid transparent;
  max-width:100%; word-wrap:break-word; transition: all .12s ease; overflow:hidden;
}
.tl-activity-bubble-wrapper--sent .tl-activity-bubble {
  background: var(--primary); color:#fff; border-color: var(--primary-hover); border-bottom-right-radius: var(--radius-lg);
}
.tl-activity-bubble-wrapper--received .tl-activity-bubble {
  background: var(--surface); color: var(--text); border-color: var(--border); border-bottom-left-radius: var(--radius-lg);
}

.tl-activity-bubble__header { display:flex; align-items:center; gap:var(--space-1); font-size:var(--fs-caption); font-weight:var(--fw-caption); margin-bottom: var(--space-1); flex-wrap:wrap; }
.tl-activity-bubble-wrapper--sent .tl-activity-bubble__header { color: rgba(255,255,255,.9); }
.tl-activity-bubble-wrapper--received .tl-activity-bubble__header { color: var(--text-muted); }
.tl-activity-bubble__group { font-size:var(--fs-caption); font-weight:var(--fw-caption); opacity:.8; font-style:italic; }
.tl-activity-bubble__content { font-size:var(--fs-body); line-height:var(--lh-body); white-space:pre-wrap; word-wrap:break-word; }
.tl-activity-bubble__content--truncated { display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; text-overflow:ellipsis; }
.tl-activity-bubble__view-full {
  display:inline-flex; align-items:center; height:31px; padding:0 var(--space-3);
  border:1px solid transparent; border-radius:14px; background: rgba(0,0,0,.05);
  color:inherit; font-size:var(--fs-caption); font-weight:500; cursor:pointer; transition: all .12s ease;
  margin-top: var(--space-3); opacity:.9; text-decoration:none;
}
.tl-activity-bubble-wrapper--sent .tl-activity-bubble__view-full { background: rgba(255,255,255,.15); border-color: rgba(255,255,255,.2); }
.tl-activity-bubble__view-full:hover { opacity:1; background: rgba(0,0,0,.1); }
.tl-activity-bubble-wrapper--sent .tl-activity-bubble__view-full:hover { background: rgba(255,255,255,.25); border-color: rgba(255,255,255,.3); }
.tl-activity-bubble__footer { display:flex; justify-content:space-between; align-items:center; font-size:var(--fs-caption); margin-top: var(--space-1); gap:var(--space-3); flex-wrap:wrap; }
.tl-activity-bubble-wrapper--sent .tl-activity-bubble__footer { color: rgba(255,255,255,.9); }
.tl-activity-bubble-wrapper--received .tl-activity-bubble__footer { color: var(--text-muted); }
.tl-activity-bubble__reply-btn {
  display:inline-flex; align-items:center; gap:var(--space-1);
  background:none; border:1px solid transparent; color:inherit; cursor:pointer; font-weight:600;
  padding: var(--space-2) var(--space-3); border-radius: var(--radius-lg); transition: all .12s ease;
  font-size:var(--fs-caption); opacity:.9; flex-shrink:0; min-height: var(--touch-target-sm);
}
.tl-activity-bubble__reply-btn:hover { opacity:1; background: rgba(0,0,0,.08); border-color: rgba(0,0,0,.1); }
.tl-activity-bubble-wrapper--sent .tl-activity-bubble__reply-btn:hover { background: rgba(255,255,255,.15); border-color: rgba(255,255,255,.2); }

/* ===== Thread / Reply ===== */
.tl-thread-container {
  margin-top: var(--space-4); padding: var(--space-4);
  background: var(--bg-secondary); border:1px solid var(--border); border-radius: var(--radius-lg);
  max-height: 400px; overflow-y:auto;
}
.tl-activity-bubble-wrapper--sent .tl-thread-container { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.2); }
.tl-thread-header { display:flex; align-items:center; gap:var(--space-2); margin-bottom: var(--space-3); font-size:var(--fs-caption); font-weight:600; color: var(--text-muted); }
.tl-activity-bubble-wrapper--sent .tl-thread-header { color: rgba(255,255,255,.9); }
.tl-thread-messages { display:flex; flex-direction:column; gap:var(--space-3); margin-bottom: var(--space-3); }
.tl-thread-message { display:flex; flex-direction:column; gap:var(--space-1); }
.tl-thread-message--sent { align-items:flex-end; }
.tl-thread-message--received { align-items:flex-start; }
.tl-thread-message__content {
  max-width:80%; padding: var(--space-3); border-radius: var(--radius-lg);
  background: var(--surface); border:1px solid var(--border); position:relative; color: var(--text);
}
.tl-thread-message--sent .tl-thread-message__content { background: var(--primary); color:#fff; border-color: var(--primary); }
.tl-thread-message__header { display:flex; align-items:center; gap:var(--space-2); margin-bottom: var(--space-1); font-size:var(--fs-caption); font-weight:500; }
.tl-thread-message--sent .tl-thread-message__header { color: rgba(255,255,255,.8); }
.tl-thread-message--received .tl-thread-message__header { color: var(--text-muted); }
.tl-thread-message__sender { font-weight:600; }
.tl-thread-message__time { opacity:.8; }
.tl-thread-message__text { font-size:var(--fs-body); line-height:var(--lh-body); white-space:pre-wrap; }
.tl-thread-message__enhanced-badge {
  display:inline-flex; align-items:center; gap:var(--space-1); margin-top: var(--space-2);
  padding: var(--space-1) var(--space-2); background: rgba(0,0,0,.1); border-radius: var(--radius-sm);
  font-size:var(--fs-caption); font-weight:500; opacity:.8;
}
.tl-thread-message--sent .tl-thread-message__enhanced-badge { background: rgba(255,255,255,.2); }

/* ===== Reply Form ===== */
.tl-activity-reply-form {
  margin-top: var(--space-4); padding: var(--space-4);
  background: var(--bg-secondary); border:1px solid var(--border); border-radius: var(--radius-lg);
  display:flex; flex-direction:column; gap:var(--space-3);
}
.tl-activity-bubble-wrapper--sent .tl-activity-reply-form { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.2); }
.tl-reply-form-header { display:flex; align-items:center; justify-content:space-between; font-size:var(--fs-caption); font-weight:600; color: var(--text-muted); }
.tl-activity-bubble-wrapper--sent .tl-reply-form-header { color: rgba(255,255,255,.9); }
.tl-reply-form-close {
  background:none; border:1px solid transparent; cursor:pointer; padding: var(--space-1);
  border-radius: var(--radius-sm); color:inherit; opacity:.7; transition: all .12s ease;
  min-height: var(--touch-target-xs); min-width: var(--touch-target-xs);
}
.tl-reply-form-close:hover { opacity:1; background: rgba(0,0,0,.1); border-color: rgba(0,0,0,.1); }
.tl-activity-bubble-wrapper--sent .tl-reply-form-close:hover { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.2); }
.tl-reply-form-footer { display:flex; flex-direction:column; gap:var(--space-3); }
.tl-reply-form-meta { display:flex; align-items:center; justify-content:space-between; gap:var(--space-3); }
.tl-reply-form-counter { font-size:var(--fs-caption); color: var(--text-muted); }

/* ===== Inputs (Thanksly + shadcn) ===== */
input, textarea, select { font-size:var(--fs-body); line-height:var(--lh-body); }
label { font-size:var(--fs-caption); line-height:var(--lh-caption); font-weight:600; color:var(--text-muted); display:block; margin-bottom: var(--space-2); }
.tl-helper-text, .tl-error-text { font-size:var(--fs-caption); line-height:var(--lh-caption); color:var(--text-muted); margin-top: var(--space-2); }
::placeholder { color: var(--text-muted); opacity:.7; }

.tl-textarea {
  background: var(--surface); color: var(--text); border:1px solid var(--border);
  border-radius: var(--radius-lg); padding: var(--space-3); min-height: var(--input-height-textarea);
}
.tl-textarea:focus-visible { outline:none; box-shadow: var(--focus-ring); border-color: var(--border-strong); }
.tl-activity-bubble-wrapper--sent .tl-textarea { background: rgba(255,255,255,.12); color:#fff; border-color: rgba(255,255,255,.35); }
.tl-activity-bubble-wrapper--sent .tl-textarea::placeholder { color: rgba(255,255,255,.7); }

.tl-select-trigger {
  background: var(--surface); color: var(--text); border:1px solid var(--border);
  border-radius: var(--radius-lg); min-height: var(--input-height-sm); transition: box-shadow .15s ease, border-color .15s ease;
}
.tl-select-trigger[data-state="open"] { background: var(--bg-secondary); border-color: var(--border-strong); }
.tl-activity-bubble-wrapper--sent .tl-select-trigger { background: rgba(255,255,255,.12); color:#fff; border-color: rgba(255,255,255,.35); }
.tl-select-content { background: var(--surface); color: var(--text); border:1px solid var(--border); border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); }
.tl-select-item { color: var(--text); min-height: var(--touch-target-sm); }
.tl-select-item[data-state="checked"], .tl-select-item:hover { background: var(--bg-secondary); color: var(--text); }

/* ===== Gratitude Tracker (condensed, same API) ===== */
.tl-gratitude-tracker { display:flex; flex-direction:column; gap:var(--space-3); container-type:inline-size; }
.tl-gratitude-tracker__item {
  display:grid; grid-template-columns: 1fr auto; align-items:center; gap:var(--space-4);
  padding: var(--space-5); background: var(--surface); border:1px solid var(--border);
  border-radius: var(--radius-card); cursor:pointer; transition: all .12s ease; position:relative; overflow:hidden;
  min-height: var(--touch-target); box-shadow: var(--shadow-sm); text-align:left; width:100%;
}
.tl-gratitude-tracker__item:hover { background: var(--bg-secondary); border-color: var(--border-strong); transform: translateY(-1px) scale(.99); box-shadow: var(--shadow-lg); }
.tl-gratitude-tracker__profile { display:flex; align-items:center; gap:var(--space-3); min-width:0; }
.tl-gratitude-tracker__avatar {
  width:44px; height:44px; border-radius: var(--radius-full);
  background: var(--ink-100); border:1px solid var(--border);
  display:flex; align-items:center; justify-content:center; flex-shrink:0; box-shadow: var(--shadow-xs); overflow:hidden;
}
.tl-gratitude-tracker__avatar-text { font-size:var(--fs-body); font-weight:600; color: var(--text-muted); text-transform:uppercase; letter-spacing:.02em; }
.tl-gratitude-tracker__info { flex:1; min-width:0; }
.tl-gratitude-tracker__name { font-size:var(--fs-body); line-height:var(--lh-body); font-weight:600; color: var(--text); margin-bottom: var(--space-1); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.tl-gratitude-tracker__meta { font-size:var(--fs-caption); line-height:var(--lh-caption); font-weight:var(--fw-caption); color: var(--text-muted); display:flex; align-items:center; gap:var(--space-2); }
.tl-gratitude-tracker__stats { display:flex; gap:12px; flex-shrink:0; }
.tl-gratitude-tracker__stat {
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  min-width:88px; height:62px; padding:8px 12px; border-radius:16px; border:1px solid var(--border); background: var(--surface);
}
.tl-gratitude-tracker__stat-value { font-weight:600; font-size:20px; line-height:20px; color: var(--text); margin-bottom:2px; }
.tl-gratitude-tracker__stat-label { font-weight:500; font-size:12px; line-height:14px; white-space:nowrap; opacity:.72; color: var(--text-muted); }

/* ===== Leaderboard (condensed) ===== */
.tl-leaderboard-modern { display:flex; flex-direction:column; gap:var(--space-3); }
.tl-leaderboard-item {
  display:flex; align-items:center; gap:var(--space-4);
  padding: var(--space-5); background: var(--surface); border:1px solid var(--border);
  border-radius: var(--radius-card); cursor:pointer; transition: all .12s ease; position:relative; overflow:hidden;
  min-height: var(--touch-target); box-shadow: var(--shadow-sm);
}
.tl-leaderboard-item:hover { background: var(--bg-secondary); border-color: var(--border-strong); transform: translateY(-1px) scale(.99); box-shadow: var(--shadow-lg); }
.tl-leaderboard-profile { display:flex; align-items:center; gap:var(--space-3); flex:1; min-width:0; }
.tl-leaderboard-avatar { width:44px; height:44px; border-radius: var(--radius-full); background: var(--ink-100); border:1px solid var(--border); display:flex; align-items:center; justify-content:center; flex-shrink:0; box-shadow: var(--shadow-xs); overflow:hidden; }
.tl-leaderboard-avatar-text { font-size:var(--fs-body); font-weight:600; color: var(--text-muted); text-transform:uppercase; letter-spacing:.02em; }
.tl-leaderboard-info { flex:1; min-width:0; }
.tl-leaderboard-name { font-size:var(--fs-body); line-height:var(--lh-body); font-weight:600; color: var(--text); margin-bottom: var(--space-1); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.tl-leaderboard-meta { font-size:var(--fs-caption); line-height:var(--lh-caption); font-weight:var(--fw-caption); color: var(--text-muted); display:flex; align-items:center; gap:var(--space-2); }
.tl-leaderboard-stats { display:flex; gap:var(--space-3); flex-shrink:0; }
.tl-leaderboard-stat { display:flex; flex-direction:column; align-items:center; text-align:center; width:88px; height:70px; padding: var(--space-2); border-radius: var(--radius-lg); background: var(--surface); border:1px solid var(--border); justify-content:center; }
.tl-leaderboard-stat-value { font-family:var(--font-family-display); font-size:var(--fs-kpi-card); line-height:var(--lh-kpi-card); font-weight:var(--fw-kpi-card); color: var(--text); margin-bottom: var(--space-1); letter-spacing:-0.01em; }
.tl-leaderboard-stat-label { font-size:var(--fs-caption); line-height:var(--lh-caption); font-weight:var(--fw-caption); color: var(--text-muted); text-transform:uppercase; letter-spacing:.03em; }

/* ===== Onboarding choice card ===== */
.tl-onboarding-choice-card {
  display:flex; width:100%; min-height:88px;
  padding: var(--space-5) var(--space-6); background: var(--surface);
  border:1px solid var(--border); border-radius: var(--radius-card);
  cursor:pointer; transition: all .12s ease; text-align:left; box-shadow: var(--shadow-sm); position:relative; overflow:hidden;
}
.tl-onboarding-choice-card:hover { background: var(--bg-secondary); border-color: var(--border-strong); transform: translateY(-1px); box-shadow: var(--shadow-lg); }
.tl-onboarding-choice-card__content { display:flex; align-items:center; gap:var(--space-4); width:100%; }
.tl-onboarding-choice-card__icon { width:48px; height:48px; border-radius: var(--radius-full); background: var(--primary); color:#fff; display:flex; align-items:center; justify-content:center; flex-shrink:0; box-shadow: var(--shadow-sm); }
.tl-onboarding-choice-card__text { flex:1; min-width:0; }
.tl-onboarding-choice-card__title { font-size:18px; line-height:24px; font-weight:600; color: var(--text); margin:0 0 var(--space-1) 0; }
.tl-onboarding-choice-card__subtitle { font-size:var(--fs-body); line-height:var(--lh-body); color: var(--text-muted); margin:0 0 var(--space-2) 0; }
.tl-onboarding-choice-card__badge { display:inline-flex; align-items:center; height:24px; padding:0 var(--space-3); border:1px solid var(--border); border-radius:12px; background: var(--bg-secondary); color: var(--text-muted); font-size:var(--fs-caption); line-height:var(--lh-caption); font-weight:var(--fw-caption); white-space:nowrap; }

/* ===== Member Card ===== */
.tl-member-card-new {
  background: var(--surface);
  border:1px solid var(--border);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-sm);
  transition: all .12s ease;
  overflow:hidden;
}
.tl-member-card-new:hover { background: var(--bg-secondary); border-color: var(--border-strong); box-shadow: var(--shadow-md); }
.tl-member-card-new__main { display:flex; align-items:flex-start; gap:var(--space-4); padding: var(--space-5); }
.tl-member-card-new__avatar {
  width: var(--touch-target); height: var(--touch-target);
  border-radius: var(--radius-full); background: var(--ink-100);
  border:1px solid var(--border); display:flex; align-items:center; justify-content:center; flex-shrink:0; box-shadow: var(--shadow-xs); overflow:hidden;
}
.tl-member-card-new__avatar-text { font-size:18px; font-weight:600; color: var(--text-muted); text-transform:uppercase; letter-spacing:.02em; }
.tl-member-card-new__info { flex:1; min-width:0; }
.tl-member-card-new__header { display:flex; align-items:flex-start; justify-content:space-between; gap:var(--space-3); margin-bottom: var(--space-3); }
.tl-member-card-new__name { font-size:18px; line-height:24px; font-weight:600; color: var(--text); margin:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; flex:1; min-width:0; }
.tl-member-card-new__badges { display:flex; align-items:center; gap:var(--space-2); flex-shrink:0; }
.tl-member-card-new__role-badge { display:inline-flex; align-items:center; gap:var(--space-1); padding: var(--space-2) var(--space-3); background: var(--primary); color:#fff; border-radius:16px; font-size:var(--fs-caption); font-weight:var(--fw-caption); text-transform:uppercase; letter-spacing:.03em; box-shadow: var(--shadow-xs); }
.tl-member-card-new__status-badge { display:inline-flex; align-items:center; gap:var(--space-1); padding: var(--space-2) var(--space-3); border-radius:16px; font-size:var(--fs-caption); font-weight:var(--fw-caption); text-transform:uppercase; letter-spacing:.03em; border:1px solid var(--border); color: var(--text-muted); background: var(--bg-secondary); }
.tl-member-card-new__meta { display:flex; flex-direction:column; gap:var(--space-2); }
.tl-member-card-new__phone { font-size:var(--fs-caption); color: var(--text-muted); font-family:'SF Mono','Monaco','Inconsolata','Roboto Mono',monospace; margin:0; padding: var(--space-2) var(--space-3); background: var(--bg-secondary); border-radius: var(--radius-lg); border:1px solid var(--border); }
.tl-member-card-new__joined { font-size:var(--fs-caption); color: var(--text-muted); margin:0; font-weight: var(--fw-caption); }
.tl-member-card-new__actions { display:flex; align-items:center; justify-content:flex-end; gap:var(--space-3); padding: 0 var(--space-5) var(--space-5); border-top:1px solid var(--border); margin-top: var(--space-4); padding-top: var(--space-4); }
.tl-member-card-new__role-select {
  width:176px; height: var(--touch-target); font-size:var(--fs-caption); border:1px solid var(--border);
  border-radius: var(--radius-lg); background: var(--surface); color: var(--text-muted); padding: 0 var(--space-3);
  display:flex; align-items:center; justify-content:space-between; cursor:pointer; transition: all .12s ease;
}
.tl-member-card-new__role-select:hover { border-color: var(--border-strong); background: var(--bg-secondary); }
.tl-member-card-new__remove-btn {
  width: var(--touch-target); height: var(--touch-target);
  border:1px solid var(--border); border-radius: var(--radius-lg);
  background: var(--surface); color: var(--text-muted); display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition: all .12s ease; flex-shrink:0;
}
.tl-member-card-new__remove-btn:hover { background: rgba(0,0,0,.04); border-color: var(--border-strong); color: var(--text); transform: translateY(-1px); box-shadow: var(--shadow-sm); }

/* ===== Splash Screen (SINGLE SYSTEM) ===== */
.tl-splash-screen { 
  position:relative; 
  height:100dvh; 
  display:flex; 
  flex-direction:column; 
  overflow:hidden; 
  user-select:none; 
  -webkit-user-select:none; 
  touch-action: pan-x pan-y; 
  padding-top: var(--safe-area-top);
}
.tl-splash-screen__slides { display:flex; width:100%; height:100%; transition: transform 600ms cubic-bezier(.2,.8,.2,1); will-change: transform; }
.tl-splash-slide { position:relative; flex:0 0 100%; width:100%; height:100%; display:flex; flex-direction:column; justify-content:flex-end; }
.tl-splash-slide__background { position:absolute; inset:0; z-index:-1; overflow:hidden; opacity:0; transform:scale(1.1); transition: opacity 1s ease-in-out, transform 1s ease-in-out; }
.tl-splash-slide--active .tl-splash-slide__background { opacity:1; transform:scale(1); }

.tl-splash-slide__content {
  position:relative; min-height: calc(100% - 140px);
  display:flex; flex-direction:column; justify-content:center; gap:.75rem;
  padding: var(--space-6);
  padding-bottom: calc(var(--space-12) + var(--space-6));
}
.tl-splash-slide--active .tl-splash-slide__content { animation: tl-splash-fadeUp 650ms cubic-bezier(.16,1,.3,1) both; }
.tl-splash-slide--inactive .tl-splash-slide__content { opacity:.4; }

.tl-splash-slide__headline {
  font-family: var(--font-family-display);
  font-size: 44px;
  line-height: 54px;
  font-weight: 700;
  letter-spacing: -0.02em;
  margin: 0 0 var(--space-4) 0;
}
.tl-splash-slide__subtitle {
  font-size: 20px;
  line-height: 30px;
  color: var(--text-muted);
  max-width: 480px;
  margin: 0;
}
@keyframes tl-splash-fadeUp { from { opacity:0; transform: translateY(10px); } to { opacity:1; transform: translateY(0); } }

.tl-splash-screen__footer {
  position:absolute; bottom:0; left:0; right:0;
  padding: var(--space-6);
  padding-bottom: calc(var(--space-6) + var(--safe-area-bottom));
  display:flex; flex-direction:column; align-items:center; gap:var(--space-6);
  max-width:480px; margin:0 auto;
}
.tl-splash-screen__pills { display:flex; gap:.5rem; justify-content:center; align-items:center; }
.tl-splash-screen__pill { height:8px; width:8px; border-radius:9999px; background:#D1D5DB; opacity:.7; position:relative; overflow:hidden; border:none; padding:0; cursor:pointer; }
.tl-splash-screen__pill--active { width:48px; opacity:1; background:#E5E7EB; }
.tl-splash-screen__pill--active::after {
  content:""; position:absolute; inset:0; background:#111827;
  transform-origin:left; clip-path: inset(0 100% 0 0); animation: tl-pill-progress var(--tl-progress, 5000ms) linear forwards;
}
@keyframes tl-pill-progress { to { clip-path: inset(0 0 0 0); } }

.tl-splash-screen__nav { display:flex; justify-content:space-between; align-items:center; width:100%; }
.tl-splash-nav-btn {
  display:grid; place-items:center; height: var(--touch-target); padding: 0 var(--space-6);
  border-radius:9999px; background: rgba(0,0,0,.05); border:1px solid var(--border);
  backdrop-filter: blur(6px); transition: transform .2s ease, background .2s ease;
  color: var(--text);
}
.tl-splash-nav-btn:active { transform: scale(.98); background: rgba(0,0,0,.08); }
.tl-splash-skip-btn, .tl-splash-start-btn {
  height: var(--touch-target); padding: 0 var(--space-6);
  border-radius:9999px; font-weight:600; letter-spacing:.2px; transition: transform .2s ease, opacity .2s ease;
}
.tl-splash-skip-btn { background: transparent; color: var(--text); border:1px solid var(--text); }
.tl-splash-skip-btn:hover { background: var(--bg-secondary); }
.tl-splash-start-btn { background: var(--primary); color:#fff; border:none; }
.tl-splash-start-btn:hover { background: var(--primary-hover); transform: translateY(1px); }

/* ===== Fixed Position Elements with Safe Area ===== */
.tl-header--fixed {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  padding-top: calc(var(--safe-area-top) + var(--space-6));
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--border);
  z-index: 30;
}

.tl-modal {
  position: fixed;
  inset: 0;
  z-index: 50;
  padding: var(--safe-area-top) var(--safe-area-right) var(--safe-area-bottom) var(--safe-area-left);
}

.tl-notification-toast {
  position: fixed;
  top: calc(var(--safe-area-top) + var(--space-4));
  left: var(--space-4);
  right: var(--space-4);
  z-index: 40;
}

/* ===== Responsive ===== */
@container (max-width: 380px) {
  .tl-cta-group { grid-template-columns:1fr; }
  .tl-gratitude-tracker__stat { min-width:79px; height:57px; padding:8px 10px; }
  .tl-gratitude-tracker__stat-value { font-size:18px; }
  .tl-gratitude-tracker__stat-label { font-size:11px; }
}
@media (max-width: 640px) {
  .tl-container { padding-left: var(--space-4); padding-right: var(--space-4); }
  .tl-header { padding: var(--space-4); }
  .tl-header__text h1 { font-size:28px; line-height:34px; }
  .tl-stats { gap: var(--space-2); margin-top: var(--space-4); }
  .tl-stat__value { font-size:24px; line-height:30px; }
  .tl-activity-container { padding: var(--space-4); padding-top: calc(var(--header-height) + var(--space-4)); padding-bottom: calc(var(--bottom-ui) + var(--space-4)); }
  .tl-activity-bubble { padding: var(--space-3); }
  .tl-activity-bubble-wrapper { max-width:90%; }
  .tl-fab { right: var(--space-4); }
  .tl-splash-nav-btn, .tl-splash-skip-btn, .tl-splash-start-btn { height: var(--touch-target); padding: 0 var(--space-6); font-size:22px; }
}
@media (max-width: 480px) {
  .tl-container { padding-left: var(--space-3); padding-right: var(--space-3); }
  .tl-header { padding: var(--space-3); }
  .tl-header__text h1 { font-size:24px; line-height:30px; }
  .tl-activity-container { padding: var(--space-3); padding-top: calc(var(--header-height) + var(--space-3)); padding-bottom: calc(var(--bottom-ui) + var(--space-4)); }
  .tl-activity-bubble { padding: var(--space-2); }
  .tl-activity-bubble-wrapper { max-width:95%; }
  .tl-spread { flex-direction:column; align-items:stretch; gap: var(--space-2); }
  .tl-row { flex-wrap:wrap; gap: var(--space-1); }
  .tl-fab { right: var(--space-3); width:62px; height:62px; }
  .tl-splash-slide__headline { font-size:44px; line-height:52px; }
  .tl-splash-slide__subtitle { font-size:20px; line-height:28px; }
  .tl-splash-screen__footer { padding: var(--space-3); padding-bottom: calc(var(--space-3) + var(--safe-area-bottom)); gap: var(--space-3); }
  .tl-splash-slide__content { padding-bottom: calc(var(--space-12) + var(--space-6)); }
}

/* ===== Accessibility & Prefs ===== */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count:1 !important; transition-duration: .01ms !important; }
  .tl-splash-screen__slides { transition: none !important; }
  .tl-splash-slide--active .tl-splash-slide__content { animation: none !important; }
  .tl-splash-screen__pill--active::after { animation: none !important; }
}
@media (prefers-contrast: high) {
  :root {
    --border: #000000;
    --shadow-xs: 0 0 0 1px #000;
    --shadow-sm: 0 0 0 1px #000;
    --shadow-md: 0 0 0 2px #000;
    --shadow-lg: 0 0 0 2px #000;
    --shadow-xl: 0 0 0 3px #000;
    --shadow-card: 0 0 0 2px #000;
  }
}
:focus-visible { outline: 2px solid var(--focus-ring-color); outline-offset: 2px; }

/* ===== Dark theme, powered by tokens ===== */
.dark {
  color-scheme: dark;
  --surface: #0B0B0C;
  --surface-2: #111214;
  --text: #F5F6F8;
  --text-muted: #AEB3BB;
  --border: #2A2D33;
  --primary: #E6E7EA;
  --primary-foreground: #0B0B0C;
  --background: var(--surface);
  --foreground: var(--text);
  --secondary: var(--surface-2);
  --card: var(--surface);
  --card-foreground: var(--text);
  --muted-foreground: var(--text-muted);
  --input: var(--border);
}
.dark .tl-btn, .dark .tl-cta-btn, .dark .tl-icon-btn {
  color: var(--foreground); background: var(--secondary); border-color: var(--input); box-shadow: var(--elev-1);
}
.dark .tl-btn--primary, .dark .tl-cta-btn--primary { background: var(--primary); color: var(--primary-foreground); border-color: var(--primary); }
.dark .tl-btn--primary:hover, .dark .tl-cta-btn--primary:hover { filter: brightness(1.05); box-shadow: var(--elev-2); transform: translateY(-1px); }
.dark .tl-btn--outline, .dark .tl-cta-btn--secondary { background: transparent; color: var(--foreground); border-color: var(--input); }
.dark .tl-btn--outline:hover, .dark .tl-cta-btn--secondary:hover { background: var(--secondary); border-color: var(--border); }
.dark .tl-icon-btn { background: transparent; }
.dark .tl-icon-btn:hover { background: var(--secondary); border-color: var(--border); }

.dark .tl-input, .dark .tl-textarea, .dark .tl-select-trigger {
  background: var(--secondary); color: var(--foreground); border-color: var(--input); box-shadow:none;
}
.dark .tl-input::placeholder, .dark .tl-textarea::placeholder { color: color-mix(in oklch, var(--foreground) 60%, transparent); }
.dark .tl-input:focus, .dark .tl-textarea:focus, .dark .tl-select-trigger:focus { outline: 2px solid var(--focus-ring-color); outline-offset: 2px; border-color: var(--input); }

.dark .tl-card, .dark .tl-stat, .dark .tl-gratitude-tracker__item, .dark .tl-leaderboard-item, .dark .tl-member-card-new, .dark .tl-onboarding-choice-card {
  background: var(--card); color: var(--card-foreground); border-color: var(--border); box-shadow: var(--elev-1);
}
.dark .tl-card--hover:hover, .dark .tl-gratitude-tracker__item:hover, .dark .tl-leaderboard-item:hover, .dark .tl-member-card-new:hover, .dark .tl-onboarding-choice-card:hover {
  background: color-mix(in oklch, var(--card) 92%, var(--foreground) 8%);
  box-shadow: var(--elev-2);
  transform: translateY(-1px);
}

.dark .tl-chip, .dark .tl-filter { background: var(--secondary); color: var(--foreground); border-color: var(--input); }
.dark .tl-chip--primary, .dark .tl-filter--active { background: var(--primary); color: var(--primary-foreground); border-color: var(--primary); box-shadow: var(--elev-1); }
.dark .tl-chip:hover, .dark .tl-filter:hover { background: color-mix(in oklch, var(--secondary) 85%, var(--foreground) 15%); border-color: var(--border); }

.dark .tl-activity-bubble-wrapper--sent .tl-activity-bubble { background: var(--primary); color: var(--primary-foreground); border-color: color-mix(in oklch, var(--primary) 80%, var(--foreground) 20%); }
.dark .tl-activity-bubble-wrapper--received .tl-activity-bubble { background: var(--card); color: var(--card-foreground); border-color: var(--border); }

.dark .tl-thread-container, .dark .tl-activity-reply-form, .dark .tl-enhancement-preview { background: var(--secondary); border-color: var(--input); color: var(--foreground); }
.dark .tl-thread-message__content { background: var(--card); border-color: var(--border); }
.dark .tl-thread-message--sent .tl-thread-message__content { background: var(--primary); color: var(--primary-foreground); border-color: var(--primary); }

.dark .tl-onboarding-choice-card__icon { background: var(--primary); color: var(--primary-foreground); }
.dark .tl-onboarding-choice-card__badge { background: var(--secondary); color: var(--foreground); border-color: var(--input); }
.dark .tl-bottom-nav { background: color-mix(in oklch, var(--background) 92%, var(--foreground) 8%); border-top-color: var(--border); backdrop-filter: blur(8px); }
.dark .tl-bottom-nav__item { color: var(--muted-foreground); }
.dark .tl-bottom-nav__item--active { color: var(--foreground); }
.dark .tl-bottom-nav__item--active::before { background: var(--primary); }

.dark .tl-header--fixed { background: rgba(11, 11, 12, 0.95); border-bottom-color: var(--border); }
/*! tailwindcss v4.1.13 | MIT License | https://tailwindcss.com */
@layer properties {
  @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
    *, :before, :after, ::backdrop {
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      --tw-scale-z: 1;
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-pan-x: initial;
      --tw-pan-y: initial;
      --tw-pinch-zoom: initial;
      --tw-space-y-reverse: 0;
      --tw-space-x-reverse: 0;
      --tw-divide-x-reverse: 0;
      --tw-border-style: solid;
      --tw-divide-y-reverse: 0;
      --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-animation-delay: 0s;
      --tw-animation-direction: normal;
      --tw-animation-duration: initial;
      --tw-animation-fill-mode: none;
      --tw-animation-iteration-count: 1;
      --tw-enter-blur: 0;
      --tw-enter-opacity: 1;
      --tw-enter-rotate: 0;
      --tw-enter-scale: 1;
      --tw-enter-translate-x: 0;
      --tw-enter-translate-y: 0;
      --tw-exit-blur: 0;
      --tw-exit-opacity: 1;
      --tw-exit-rotate: 0;
      --tw-exit-scale: 1;
      --tw-exit-translate-x: 0;
      --tw-exit-translate-y: 0;
    }
  }
}

@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% .013 17.38);
    --color-red-200: oklch(88.5% .062 18.334);
    --color-red-300: oklch(80.8% .114 19.571);
    --color-red-400: oklch(70.4% .191 22.216);
    --color-red-500: oklch(63.7% .237 25.331);
    --color-red-600: oklch(57.7% .245 27.325);
    --color-red-700: oklch(50.5% .213 27.518);
    --color-orange-600: oklch(64.6% .222 41.116);
    --color-amber-50: oklch(98.7% .022 95.277);
    --color-amber-200: oklch(92.4% .12 95.746);
    --color-amber-700: oklch(55.5% .163 48.998);
    --color-yellow-50: oklch(98.7% .026 102.212);
    --color-yellow-200: oklch(94.5% .129 101.54);
    --color-yellow-500: oklch(79.5% .184 86.047);
    --color-yellow-700: oklch(55.4% .135 66.442);
    --color-green-50: oklch(98.2% .018 155.826);
    --color-green-200: oklch(92.5% .084 155.995);
    --color-green-500: oklch(72.3% .219 149.579);
    --color-green-600: oklch(62.7% .194 149.214);
    --color-green-700: oklch(52.7% .154 150.069);
    --color-blue-100: oklch(93.2% .032 255.585);
    --color-blue-200: oklch(88.2% .059 254.128);
    --color-blue-500: oklch(62.3% .214 259.815);
    --color-blue-600: oklch(54.6% .245 262.881);
    --color-gray-50: oklch(98.5% .002 247.839);
    --color-gray-100: oklch(96.7% .003 264.542);
    --color-gray-200: oklch(92.8% .006 264.531);
    --color-gray-300: oklch(87.2% .01 258.338);
    --color-gray-400: oklch(70.7% .022 261.325);
    --color-gray-500: oklch(55.1% .027 264.364);
    --color-gray-600: oklch(44.6% .03 256.802);
    --color-gray-700: oklch(37.3% .034 259.733);
    --color-gray-800: oklch(27.8% .033 256.848);
    --color-gray-900: oklch(21% .034 264.665);
    --color-zinc-400: oklch(70.5% .015 286.067);
    --color-zinc-500: oklch(55.2% .016 285.938);
    --color-zinc-800: oklch(27.4% .006 286.033);
    --color-black: #000;
    --color-white: #fff;
    --spacing: .25rem;
    --container-md: 28rem;
    --container-lg: 32rem;
    --text-xs: .75rem;
    --text-xs--line-height: calc(1 / .75);
    --text-sm: .875rem;
    --text-sm--line-height: calc(1.25 / .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-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);
    --text-7xl: 4.5rem;
    --text-7xl--line-height: 1;
    --text-8xl: 6rem;
    --text-8xl--line-height: 1;
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --tracking-widest: .1em;
    --leading-tight: 1.25;
    --leading-relaxed: 1.625;
    --radius-xs: .125rem;
    --radius-sm: calc(var(--radius)  - 4px);
    --radius-md: calc(var(--radius)  - 2px);
    --radius-lg: var(--radius);
    --radius-xl: calc(var(--radius)  + 4px);
    --radius-2xl: 1rem;
    --shadow-xs: 0 1px 2px 0 #0000000d;
    --shadow-sm: 0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;
    --shadow-md: 0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;
    --shadow-lg: 0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;
    --shadow-xl: 0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;
    --ease-in: cubic-bezier(.4, 0, 1, 1);
    --ease-out: cubic-bezier(0, 0, .2, 1);
    --ease-in-out: cubic-bezier(.4, 0, .2, 1);
    --animate-spin: spin 1s linear infinite;
    --default-transition-duration: .15s;
    --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
    --color-destructive: var(--destructive);
  }
}

@layer base {
  *, :after, :before, ::backdrop {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  ::file-selector-button {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  html, :host {
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    line-height: 1.5;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }

  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }

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

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

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

  b, strong {
    font-weight: bolder;
  }

  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }

  small {
    font-size: 80%;
  }

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

  sub {
    bottom: -.25em;
  }

  sup {
    top: -.5em;
  }

  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }

  :-moz-focusring {
    outline: auto;
  }

  progress {
    vertical-align: baseline;
  }

  summary {
    display: list-item;
  }

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

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

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

  button, input, select, optgroup, textarea {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }

  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }

  ::file-selector-button {
    margin-inline-end: 4px;
  }

  ::placeholder {
    opacity: 1;
  }

  @supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentColor;
    }

    @supports (color: color-mix(in lab, red, red)) {
      ::placeholder {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }

  textarea {
    resize: vertical;
  }

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

  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }

  ::-webkit-datetime-edit {
    display: inline-flex;
  }

  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }

  ::-webkit-datetime-edit {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-year-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-month-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-day-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-hour-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-minute-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-second-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-millisecond-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }

  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }

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

  button, input:where([type="button"], [type="reset"], [type="submit"]) {
    appearance: button;
  }

  ::file-selector-button {
    appearance: button;
  }

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

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

  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }

  * {
    border-color: var(--border);
    outline-color: var(--ring);
  }

  @supports (color: color-mix(in lab, red, red)) {
    * {
      outline-color: color-mix(in oklab, var(--ring) 50%, transparent);
    }
  }

  body {
    background-color: var(--background);
    color: var(--foreground);
  }
}

@layer components;

@layer utilities {
  .\@container\/card-header {
    container: card-header / inline-size;
  }

  .pointer-events-auto {
    pointer-events: auto;
  }

  .pointer-events-none {
    pointer-events: none;
  }

  .collapse {
    visibility: collapse;
  }

  .invisible {
    visibility: hidden;
  }

  .visible {
    visibility: visible;
  }

  .sr-only {
    clip-path: inset(50%);
    white-space: nowrap;
    border-width: 0;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    position: absolute;
    overflow: hidden;
  }

  .not-sr-only {
    clip-path: none;
    white-space: normal;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
    position: static;
    overflow: visible;
  }

  .absolute {
    position: absolute;
  }

  .fixed {
    position: fixed;
  }

  .relative {
    position: relative;
  }

  .static {
    position: static;
  }

  .sticky {
    position: sticky;
  }

  .inset-0 {
    inset: calc(var(--spacing) * 0);
  }

  .inset-x-0 {
    inset-inline: calc(var(--spacing) * 0);
  }

  .-top-1 {
    top: calc(var(--spacing) * -1);
  }

  .top-0 {
    top: calc(var(--spacing) * 0);
  }

  .top-1 {
    top: calc(var(--spacing) * 1);
  }

  .top-1\/2 {
    top: 50%;
  }

  .top-2 {
    top: calc(var(--spacing) * 2);
  }

  .top-4 {
    top: calc(var(--spacing) * 4);
  }

  .top-\[50\%\] {
    top: 50%;
  }

  .-right-0\.5 {
    right: calc(var(--spacing) * -.5);
  }

  .-right-1 {
    right: calc(var(--spacing) * -1);
  }

  .right-0 {
    right: calc(var(--spacing) * 0);
  }

  .right-1 {
    right: calc(var(--spacing) * 1);
  }

  .right-2 {
    right: calc(var(--spacing) * 2);
  }

  .right-4 {
    right: calc(var(--spacing) * 4);
  }

  .-bottom-0\.5 {
    bottom: calc(var(--spacing) * -.5);
  }

  .-bottom-1 {
    bottom: calc(var(--spacing) * -1);
  }

  .bottom-\[calc\(var\(--bottom-ui\)\+16px\)\] {
    bottom: calc(var(--bottom-ui)  + 16px);
  }

  .left-3 {
    left: calc(var(--spacing) * 3);
  }

  .left-\[50\%\] {
    left: 50%;
  }

  .isolate {
    isolation: isolate;
  }

  .isolation-auto {
    isolation: auto;
  }

  .z-10 {
    z-index: 10;
  }

  .z-50 {
    z-index: 50;
  }

  .z-\[100\] {
    z-index: 100;
  }

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

  .row-span-2 {
    grid-row: span 2 / span 2;
  }

  .row-start-1 {
    grid-row-start: 1;
  }

  .container {
    width: 100%;
  }

  @media (min-width: 40rem) {
    .container {
      max-width: 40rem;
    }
  }

  @media (min-width: 48rem) {
    .container {
      max-width: 48rem;
    }
  }

  @media (min-width: 64rem) {
    .container {
      max-width: 64rem;
    }
  }

  @media (min-width: 80rem) {
    .container {
      max-width: 80rem;
    }
  }

  @media (min-width: 96rem) {
    .container {
      max-width: 96rem;
    }
  }

  .container {
    margin-inline: auto;
    padding-inline: 1rem;
  }

  @media (min-width: 40rem) {
    .container {
      padding-inline: 2rem;
    }
  }

  .-mx-1 {
    margin-inline: calc(var(--spacing) * -1);
  }

  .-mx-6 {
    margin-inline: calc(var(--spacing) * -6);
  }

  .mx-2 {
    margin-inline: calc(var(--spacing) * 2);
  }

  .mx-auto {
    margin-inline: auto;
  }

  .my-1 {
    margin-block: calc(var(--spacing) * 1);
  }

  .-mt-6 {
    margin-top: calc(var(--spacing) * -6);
  }

  .mt-0\.5 {
    margin-top: calc(var(--spacing) * .5);
  }

  .mt-1 {
    margin-top: calc(var(--spacing) * 1);
  }

  .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-8 {
    margin-top: calc(var(--spacing) * 8);
  }

  .mr-1 {
    margin-right: calc(var(--spacing) * 1);
  }

  .mr-2 {
    margin-right: calc(var(--spacing) * 2);
  }

  .mb-1 {
    margin-bottom: calc(var(--spacing) * 1);
  }

  .mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
  }

  .mb-3 {
    margin-bottom: calc(var(--spacing) * 3);
  }

  .mb-4 {
    margin-bottom: calc(var(--spacing) * 4);
  }

  .ml-2 {
    margin-left: calc(var(--spacing) * 2);
  }

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

  .block {
    display: block;
  }

  .contents {
    display: contents;
  }

  .flex {
    display: flex;
  }

  .flow-root {
    display: flow-root;
  }

  .grid {
    display: grid;
  }

  .hidden {
    display: none;
  }

  .inline {
    display: inline;
  }

  .inline-block {
    display: inline-block;
  }

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

  .inline-grid {
    display: inline-grid;
  }

  .inline-table {
    display: inline-table;
  }

  .list-item {
    display: list-item;
  }

  .table {
    display: table;
  }

  .table-caption {
    display: table-caption;
  }

  .table-cell {
    display: table-cell;
  }

  .table-column {
    display: table-column;
  }

  .table-column-group {
    display: table-column-group;
  }

  .table-footer-group {
    display: table-footer-group;
  }

  .table-header-group {
    display: table-header-group;
  }

  .table-row {
    display: table-row;
  }

  .table-row-group {
    display: table-row-group;
  }

  .field-sizing-content {
    field-sizing: content;
  }

  .aspect-square {
    aspect-ratio: 1;
  }

  .size-\(--cell-size\) {
    width: var(--cell-size);
    height: var(--cell-size);
  }

  .size-3\.5 {
    width: calc(var(--spacing) * 3.5);
    height: calc(var(--spacing) * 3.5);
  }

  .size-4 {
    width: calc(var(--spacing) * 4);
    height: calc(var(--spacing) * 4);
  }

  .size-9 {
    width: calc(var(--spacing) * 9);
    height: calc(var(--spacing) * 9);
  }

  .size-auto {
    width: auto;
    height: auto;
  }

  .h-\(--cell-size\) {
    height: var(--cell-size);
  }

  .h-2 {
    height: calc(var(--spacing) * 2);
  }

  .h-2\.5 {
    height: calc(var(--spacing) * 2.5);
  }

  .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-8 {
    height: calc(var(--spacing) * 8);
  }

  .h-9 {
    height: calc(var(--spacing) * 9);
  }

  .h-10 {
    height: calc(var(--spacing) * 10);
  }

  .h-11 {
    height: calc(var(--spacing) * 11);
  }

  .h-12 {
    height: calc(var(--spacing) * 12);
  }

  .h-16 {
    height: calc(var(--spacing) * 16);
  }

  .h-24 {
    height: calc(var(--spacing) * 24);
  }

  .h-\[1\.15rem\] {
    height: 1.15rem;
  }

  .h-\[80vh\] {
    height: 80vh;
  }

  .h-\[var\(--radix-select-trigger-height\)\] {
    height: var(--radix-select-trigger-height);
  }

  .h-auto {
    height: auto;
  }

  .h-full {
    height: 100%;
  }

  .h-px {
    height: 1px;
  }

  .max-h-\(--radix-select-content-available-height\) {
    max-height: var(--radix-select-content-available-height);
  }

  .max-h-48 {
    max-height: calc(var(--spacing) * 48);
  }

  .max-h-64 {
    max-height: calc(var(--spacing) * 64);
  }

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

  .max-h-\[300px\] {
    max-height: 300px;
  }

  .max-h-\[calc\(100vh-var\(--bottom-ui\)-32px\)\] {
    max-height: calc(100vh - var(--bottom-ui)  - 32px);
  }

  .max-h-full {
    max-height: 100%;
  }

  .max-h-screen {
    max-height: 100vh;
  }

  .min-h-0 {
    min-height: calc(var(--spacing) * 0);
  }

  .min-h-16 {
    min-height: calc(var(--spacing) * 16);
  }

  .w-\(--cell-size\) {
    width: var(--cell-size);
  }

  .w-2 {
    width: calc(var(--spacing) * 2);
  }

  .w-2\.5 {
    width: calc(var(--spacing) * 2.5);
  }

  .w-3 {
    width: calc(var(--spacing) * 3);
  }

  .w-3\.5 {
    width: calc(var(--spacing) * 3.5);
  }

  .w-4 {
    width: calc(var(--spacing) * 4);
  }

  .w-5 {
    width: calc(var(--spacing) * 5);
  }

  .w-6 {
    width: calc(var(--spacing) * 6);
  }

  .w-8 {
    width: calc(var(--spacing) * 8);
  }

  .w-10 {
    width: calc(var(--spacing) * 10);
  }

  .w-11 {
    width: calc(var(--spacing) * 11);
  }

  .w-12 {
    width: calc(var(--spacing) * 12);
  }

  .w-16 {
    width: calc(var(--spacing) * 16);
  }

  .w-24 {
    width: calc(var(--spacing) * 24);
  }

  .w-32 {
    width: calc(var(--spacing) * 32);
  }

  .w-72 {
    width: calc(var(--spacing) * 72);
  }

  .w-80 {
    width: calc(var(--spacing) * 80);
  }

  .w-96 {
    width: calc(var(--spacing) * 96);
  }

  .w-auto {
    width: auto;
  }

  .w-fit {
    width: fit-content;
  }

  .w-full {
    width: 100%;
  }

  .max-w-48 {
    max-width: calc(var(--spacing) * 48);
  }

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

  .max-w-\[calc\(100\%-2rem\)\] {
    max-width: calc(100% - 2rem);
  }

  .max-w-full {
    max-width: 100%;
  }

  .max-w-md {
    max-width: var(--container-md);
  }

  .min-w-\(--cell-size\) {
    min-width: var(--cell-size);
  }

  .min-w-0 {
    min-width: calc(var(--spacing) * 0);
  }

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

  .min-w-\[var\(--radix-select-trigger-width\)\] {
    min-width: var(--radix-select-trigger-width);
  }

  .flex-1 {
    flex: 1;
  }

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

  .shrink {
    flex-shrink: 1;
  }

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

  .grow {
    flex-grow: 1;
  }

  .border-collapse {
    border-collapse: collapse;
  }

  .origin-\(--radix-popover-content-transform-origin\) {
    transform-origin: var(--radix-popover-content-transform-origin);
  }

  .origin-\(--radix-select-content-transform-origin\) {
    transform-origin: var(--radix-select-content-transform-origin);
  }

  .translate-x-\[-50\%\] {
    --tw-translate-x: -50%;
    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);
  }

  .translate-y-\[-50\%\] {
    --tw-translate-y: -50%;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .translate-none {
    translate: none;
  }

  .scale-3d {
    scale: var(--tw-scale-x) var(--tw-scale-y) var(--tw-scale-z);
  }

  .transform {
    transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, );
  }

  .animate-spin {
    animation: var(--animate-spin);
  }

  .cursor-default {
    cursor: default;
  }

  .cursor-pointer {
    cursor: pointer;
  }

  .touch-pinch-zoom {
    --tw-pinch-zoom: pinch-zoom;
    touch-action: var(--tw-pan-x, ) var(--tw-pan-y, ) var(--tw-pinch-zoom, );
  }

  .resize {
    resize: both;
  }

  .resize-none {
    resize: none;
  }

  .scroll-my-1 {
    scroll-margin-block: calc(var(--spacing) * 1);
  }

  .scroll-py-1 {
    scroll-padding-block: calc(var(--spacing) * 1);
  }

  .auto-rows-min {
    grid-auto-rows: min-content;
  }

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

  .grid-cols-\[128px_1fr\] {
    grid-template-columns: 128px 1fr;
  }

  .grid-rows-\[auto_auto\] {
    grid-template-rows: auto auto;
  }

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

  .flex-col-reverse {
    flex-direction: column-reverse;
  }

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

  .place-items-center {
    place-items: center;
  }

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

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

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

  .justify-center {
    justify-content: center;
  }

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

  .gap-1 {
    gap: calc(var(--spacing) * 1);
  }

  .gap-1\.5 {
    gap: calc(var(--spacing) * 1.5);
  }

  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }

  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }

  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }

  .gap-6 {
    gap: calc(var(--spacing) * 6);
  }

  :where(.space-y-1 > :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)));
  }

  :where(.space-y-2 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-4 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-reverse > :not(:last-child)) {
    --tw-space-y-reverse: 1;
  }

  .gap-x-2 {
    column-gap: calc(var(--spacing) * 2);
  }

  :where(.space-x-2 > :not(:last-child)) {
    --tw-space-x-reverse: 0;
    margin-inline-start: calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));
    margin-inline-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)));
  }

  :where(.space-x-3 > :not(:last-child)) {
    --tw-space-x-reverse: 0;
    margin-inline-start: calc(calc(var(--spacing) * 3) * var(--tw-space-x-reverse));
    margin-inline-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-x-reverse)));
  }

  :where(.space-x-reverse > :not(:last-child)) {
    --tw-space-x-reverse: 1;
  }

  :where(.divide-x > :not(:last-child)) {
    --tw-divide-x-reverse: 0;
    border-inline-style: var(--tw-border-style);
    border-inline-start-width: calc(1px * var(--tw-divide-x-reverse));
    border-inline-end-width: calc(1px * calc(1 - var(--tw-divide-x-reverse)));
  }

  :where(.divide-y > :not(:last-child)) {
    --tw-divide-y-reverse: 0;
    border-bottom-style: var(--tw-border-style);
    border-top-style: var(--tw-border-style);
    border-top-width: calc(1px * var(--tw-divide-y-reverse));
    border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  }

  :where(.divide-y-reverse > :not(:last-child)) {
    --tw-divide-y-reverse: 1;
  }

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

  .justify-self-end {
    justify-self: flex-end;
  }

  .truncate {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
  }

  .overflow-hidden {
    overflow: hidden;
  }

  .overflow-x-hidden {
    overflow-x: hidden;
  }

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

  .rounded {
    border-radius: .25rem;
  }

  .rounded-2xl {
    border-radius: var(--radius-2xl);
  }

  .rounded-full {
    border-radius: 3.40282e38px;
  }

  .rounded-lg {
    border-radius: var(--radius);
  }

  .rounded-md {
    border-radius: calc(var(--radius)  - 2px);
  }

  .rounded-none {
    border-radius: 0;
  }

  .rounded-sm {
    border-radius: calc(var(--radius)  - 4px);
  }

  .rounded-xl {
    border-radius: calc(var(--radius)  + 4px);
  }

  .rounded-xs {
    border-radius: var(--radius-xs);
  }

  .rounded-s {
    border-start-start-radius: .25rem;
    border-end-start-radius: .25rem;
  }

  .rounded-ss {
    border-start-start-radius: .25rem;
  }

  .rounded-e {
    border-start-end-radius: .25rem;
    border-end-end-radius: .25rem;
  }

  .rounded-se {
    border-start-end-radius: .25rem;
  }

  .rounded-ee {
    border-end-end-radius: .25rem;
  }

  .rounded-es {
    border-end-start-radius: .25rem;
  }

  .rounded-t {
    border-top-left-radius: .25rem;
    border-top-right-radius: .25rem;
  }

  .rounded-t-lg {
    border-top-left-radius: var(--radius);
    border-top-right-radius: var(--radius);
  }

  .rounded-l {
    border-top-left-radius: .25rem;
    border-bottom-left-radius: .25rem;
  }

  .rounded-l-md {
    border-top-left-radius: calc(var(--radius)  - 2px);
    border-bottom-left-radius: calc(var(--radius)  - 2px);
  }

  .rounded-tl {
    border-top-left-radius: .25rem;
  }

  .rounded-r {
    border-top-right-radius: .25rem;
    border-bottom-right-radius: .25rem;
  }

  .rounded-r-md {
    border-top-right-radius: calc(var(--radius)  - 2px);
    border-bottom-right-radius: calc(var(--radius)  - 2px);
  }

  .rounded-tr {
    border-top-right-radius: .25rem;
  }

  .rounded-b {
    border-bottom-right-radius: .25rem;
    border-bottom-left-radius: .25rem;
  }

  .rounded-br {
    border-bottom-right-radius: .25rem;
  }

  .rounded-bl {
    border-bottom-left-radius: .25rem;
  }

  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }

  .border-2 {
    border-style: var(--tw-border-style);
    border-width: 2px;
  }

  .border-x {
    border-inline-style: var(--tw-border-style);
    border-inline-width: 1px;
  }

  .border-y {
    border-block-style: var(--tw-border-style);
    border-block-width: 1px;
  }

  .border-s {
    border-inline-start-style: var(--tw-border-style);
    border-inline-start-width: 1px;
  }

  .border-e {
    border-inline-end-style: var(--tw-border-style);
    border-inline-end-width: 1px;
  }

  .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-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-\[var\(--ink-200\)\] {
    border-color: var(--ink-200);
  }

  .border-amber-200 {
    border-color: var(--color-amber-200);
  }

  .border-blue-600 {
    border-color: var(--color-blue-600);
  }

  .border-destructive {
    border-color: var(--destructive);
  }

  .border-gray-200 {
    border-color: var(--color-gray-200);
  }

  .border-gray-300 {
    border-color: var(--color-gray-300);
  }

  .border-green-200 {
    border-color: var(--color-green-200);
  }

  .border-input {
    border-color: var(--input);
  }

  .border-red-200 {
    border-color: var(--color-red-200);
  }

  .border-transparent {
    border-color: #0000;
  }

  .border-white {
    border-color: var(--color-white);
  }

  .border-yellow-200 {
    border-color: var(--color-yellow-200);
  }

  .border-t-transparent {
    border-top-color: #0000;
  }

  .bg-\[var\(--bg-secondary\)\] {
    background-color: var(--bg-secondary);
  }

  .bg-\[var\(--ink-400\)\] {
    background-color: var(--ink-400);
  }

  .bg-\[var\(--ink-900\)\] {
    background-color: var(--ink-900);
  }

  .bg-accent {
    background-color: var(--accent);
  }

  .bg-amber-50 {
    background-color: var(--color-amber-50);
  }

  .bg-background {
    background-color: var(--background);
  }

  .bg-black {
    background-color: var(--color-black);
  }

  .bg-black\/50 {
    background-color: #00000080;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-black\/50 {
      background-color: color-mix(in oklab, var(--color-black) 50%, transparent);
    }
  }

  .bg-blue-100 {
    background-color: var(--color-blue-100);
  }

  .bg-border {
    background-color: var(--border);
  }

  .bg-card {
    background-color: var(--card);
  }

  .bg-destructive {
    background-color: var(--destructive);
  }

  .bg-gray-50 {
    background-color: var(--color-gray-50);
  }

  .bg-gray-100 {
    background-color: var(--color-gray-100);
  }

  .bg-gray-600 {
    background-color: var(--color-gray-600);
  }

  .bg-gray-700 {
    background-color: var(--color-gray-700);
  }

  .bg-gray-900 {
    background-color: var(--color-gray-900);
  }

  .bg-green-50 {
    background-color: var(--color-green-50);
  }

  .bg-green-500 {
    background-color: var(--color-green-500);
  }

  .bg-popover {
    background-color: var(--popover);
  }

  .bg-primary {
    background-color: var(--primary);
  }

  .bg-red-50 {
    background-color: var(--color-red-50);
  }

  .bg-red-600 {
    background-color: var(--color-red-600);
  }

  .bg-secondary {
    background-color: var(--secondary);
  }

  .bg-transparent {
    background-color: #0000;
  }

  .bg-white {
    background-color: var(--color-white);
  }

  .bg-yellow-50 {
    background-color: var(--color-yellow-50);
  }

  .bg-repeat {
    background-repeat: repeat;
  }

  .mask-no-clip {
    -webkit-mask-clip: no-clip;
    mask-clip: no-clip;
  }

  .mask-repeat {
    -webkit-mask-repeat: repeat;
    mask-repeat: repeat;
  }

  .object-contain {
    object-fit: contain;
  }

  .object-cover {
    object-fit: cover;
  }

  .p-0 {
    padding: calc(var(--spacing) * 0);
  }

  .p-1 {
    padding: calc(var(--spacing) * 1);
  }

  .p-1\.5 {
    padding: calc(var(--spacing) * 1.5);
  }

  .p-3 {
    padding: calc(var(--spacing) * 3);
  }

  .p-4 {
    padding: calc(var(--spacing) * 4);
  }

  .p-6 {
    padding: calc(var(--spacing) * 6);
  }

  .px-\(--cell-size\) {
    padding-inline: var(--cell-size);
  }

  .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-3 {
    padding-inline: calc(var(--spacing) * 3);
  }

  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }

  .px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }

  .px-8 {
    padding-inline: calc(var(--spacing) * 8);
  }

  .px-12 {
    padding-inline: calc(var(--spacing) * 12);
  }

  .py-0\.5 {
    padding-block: calc(var(--spacing) * .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-3 {
    padding-block: calc(var(--spacing) * 3);
  }

  .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);
  }

  .pt-4 {
    padding-top: calc(var(--spacing) * 4);
  }

  .pr-1 {
    padding-right: calc(var(--spacing) * 1);
  }

  .pr-6 {
    padding-right: calc(var(--spacing) * 6);
  }

  .pr-8 {
    padding-right: calc(var(--spacing) * 8);
  }

  .pb-4 {
    padding-bottom: calc(var(--spacing) * 4);
  }

  .pb-8 {
    padding-bottom: calc(var(--spacing) * 8);
  }

  .pl-2 {
    padding-left: calc(var(--spacing) * 2);
  }

  .pl-10 {
    padding-left: calc(var(--spacing) * 10);
  }

  .text-center {
    text-align: center;
  }

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

  .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-7xl {
    font-size: var(--text-7xl);
    line-height: var(--tw-leading, var(--text-7xl--line-height));
  }

  .text-base {
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
  }

  .text-lg {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
  }

  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }

  .text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }

  .text-\[0\.8rem\] {
    font-size: .8rem;
  }

  .leading-none {
    --tw-leading: 1;
    line-height: 1;
  }

  .leading-relaxed {
    --tw-leading: var(--leading-relaxed);
    line-height: var(--leading-relaxed);
  }

  .leading-tight {
    --tw-leading: var(--leading-tight);
    line-height: var(--leading-tight);
  }

  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }

  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }

  .font-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-widest {
    --tw-tracking: var(--tracking-widest);
    letter-spacing: var(--tracking-widest);
  }

  .text-wrap {
    text-wrap: wrap;
  }

  .break-all {
    word-break: break-all;
  }

  .text-clip {
    text-overflow: clip;
  }

  .text-ellipsis {
    text-overflow: ellipsis;
  }

  .whitespace-nowrap {
    white-space: nowrap;
  }

  .text-\[var\(--ink-700\)\] {
    color: var(--ink-700);
  }

  .text-accent-foreground {
    color: var(--accent-foreground);
  }

  .text-amber-700 {
    color: var(--color-amber-700);
  }

  .text-blue-600 {
    color: var(--color-blue-600);
  }

  .text-card-foreground {
    color: var(--card-foreground);
  }

  .text-foreground, .text-foreground\/50 {
    color: var(--foreground);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-foreground\/50 {
      color: color-mix(in oklab, var(--foreground) 50%, transparent);
    }
  }

  .text-gray-400 {
    color: var(--color-gray-400);
  }

  .text-gray-500 {
    color: var(--color-gray-500);
  }

  .text-gray-600 {
    color: var(--color-gray-600);
  }

  .text-gray-700 {
    color: var(--color-gray-700);
  }

  .text-gray-800 {
    color: var(--color-gray-800);
  }

  .text-gray-900 {
    color: var(--color-gray-900);
  }

  .text-green-500 {
    color: var(--color-green-500);
  }

  .text-green-600 {
    color: var(--color-green-600);
  }

  .text-green-700 {
    color: var(--color-green-700);
  }

  .text-muted-foreground {
    color: var(--muted-foreground);
  }

  .text-orange-600 {
    color: var(--color-orange-600);
  }

  .text-popover-foreground {
    color: var(--popover-foreground);
  }

  .text-primary {
    color: var(--primary);
  }

  .text-primary-foreground {
    color: var(--primary-foreground);
  }

  .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-secondary-foreground {
    color: var(--secondary-foreground);
  }

  .text-white {
    color: var(--color-white);
  }

  .text-yellow-500 {
    color: var(--color-yellow-500);
  }

  .text-yellow-700 {
    color: var(--color-yellow-700);
  }

  .text-zinc-400 {
    color: var(--color-zinc-400);
  }

  .text-zinc-500 {
    color: var(--color-zinc-500);
  }

  .text-zinc-800 {
    color: var(--color-zinc-800);
  }

  .capitalize {
    text-transform: capitalize;
  }

  .lowercase {
    text-transform: lowercase;
  }

  .normal-case {
    text-transform: none;
  }

  .uppercase {
    text-transform: uppercase;
  }

  .italic {
    font-style: italic;
  }

  .not-italic {
    font-style: normal;
  }

  .diagonal-fractions {
    --tw-numeric-fraction: diagonal-fractions;
    font-variant-numeric: var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, );
  }

  .lining-nums {
    --tw-numeric-figure: lining-nums;
    font-variant-numeric: var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, );
  }

  .oldstyle-nums {
    --tw-numeric-figure: oldstyle-nums;
    font-variant-numeric: var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, );
  }

  .ordinal {
    --tw-ordinal: ordinal;
    font-variant-numeric: var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, );
  }

  .proportional-nums {
    --tw-numeric-spacing: proportional-nums;
    font-variant-numeric: var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, );
  }

  .slashed-zero {
    --tw-slashed-zero: slashed-zero;
    font-variant-numeric: var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, );
  }

  .stacked-fractions {
    --tw-numeric-fraction: stacked-fractions;
    font-variant-numeric: var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, );
  }

  .tabular-nums {
    --tw-numeric-spacing: tabular-nums;
    font-variant-numeric: var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, );
  }

  .normal-nums {
    font-variant-numeric: normal;
  }

  .line-through {
    text-decoration-line: line-through;
  }

  .no-underline {
    text-decoration-line: none;
  }

  .overline {
    text-decoration-line: overline;
  }

  .underline {
    text-decoration-line: underline;
  }

  .underline-offset-4 {
    text-underline-offset: 4px;
  }

  .antialiased {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  .subpixel-antialiased {
    -webkit-font-smoothing: auto;
    -moz-osx-font-smoothing: auto;
  }

  .opacity-0 {
    opacity: 0;
  }

  .opacity-50 {
    opacity: .5;
  }

  .opacity-60 {
    opacity: .6;
  }

  .opacity-70 {
    opacity: .7;
  }

  .opacity-90 {
    opacity: .9;
  }

  .opacity-100 {
    opacity: 1;
  }

  .shadow {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-inner {
    --tw-shadow: inset 0 2px 4px 0 var(--tw-shadow-color, #0000000d);
    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, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
    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, #0000001a), 0 2px 4px -2px var(--tw-shadow-color, #0000001a);
    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, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-xs {
    --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, #0000000d);
    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-0 {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(0px + 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);
  }

  .inset-ring {
    --tw-inset-ring-shadow: inset 0 0 0 1px var(--tw-inset-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-white {
    --tw-ring-color: var(--color-white);
  }

  .ring-offset-2 {
    --tw-ring-offset-width: 2px;
    --tw-ring-offset-shadow: var(--tw-ring-inset, ) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  }

  .ring-offset-background {
    --tw-ring-offset-color: var(--background);
  }

  .outline-hidden {
    --tw-outline-style: none;
    outline-style: none;
  }

  @media (forced-colors: active) {
    .outline-hidden {
      outline-offset: 2px;
      outline: 2px solid #0000;
    }
  }

  .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, );
  }

  .drop-shadow {
    --tw-drop-shadow-size: drop-shadow(0 1px 2px var(--tw-drop-shadow-color, #0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color, #0000000f));
    --tw-drop-shadow: drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .grayscale {
    --tw-grayscale: grayscale(100%);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .invert {
    --tw-invert: invert(100%);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .sepia {
    --tw-sepia: sepia(100%);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .filter {
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .backdrop-blur {
    --tw-backdrop-blur: blur(8px);
    -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
    backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
  }

  .backdrop-grayscale {
    --tw-backdrop-grayscale: grayscale(100%);
    -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-invert {
    --tw-backdrop-invert: invert(100%);
    -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-sepia {
    --tw-backdrop-sepia: sepia(100%);
    -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, 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-\[color\,box-shadow\] {
    transition-property: color, box-shadow;
    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-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: .2s;
    transition-duration: .2s;
  }

  .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;
  }

  .\[--cell-size\:--spacing\(8\)\] {
    --cell-size: calc(var(--spacing) * 8);
  }

  :where(.divide-x-reverse > :not(:last-child)) {
    --tw-divide-x-reverse: 1;
  }

  .paused {
    animation-play-state: paused;
  }

  .ring-inset {
    --tw-ring-inset: inset;
  }

  .running {
    animation-play-state: running;
  }

  .zoom-in {
    --tw-enter-scale: 0;
  }

  .zoom-out {
    --tw-exit-scale: 0;
  }

  @media (hover: hover) {
    .group-hover\:opacity-100:is(:where(.group):hover *) {
      opacity: 1;
    }
  }

  .group-data-\[focused\=true\]\/day\:relative:is(:where(.group\/day)[data-focused="true"] *) {
    position: relative;
  }

  .group-data-\[focused\=true\]\/day\:z-10:is(:where(.group\/day)[data-focused="true"] *) {
    z-index: 10;
  }

  .group-data-\[focused\=true\]\/day\:border-ring:is(:where(.group\/day)[data-focused="true"] *) {
    border-color: var(--ring);
  }

  .group-data-\[focused\=true\]\/day\:ring-\[3px\]:is(:where(.group\/day)[data-focused="true"] *) {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(3px + 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);
  }

  .group-data-\[focused\=true\]\/day\:ring-ring\/50:is(:where(.group\/day)[data-focused="true"] *) {
    --tw-ring-color: var(--ring);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .group-data-\[focused\=true\]\/day\:ring-ring\/50:is(:where(.group\/day)[data-focused="true"] *) {
      --tw-ring-color: color-mix(in oklab, var(--ring) 50%, transparent);
    }
  }

  .group-\[\.destructive\]\:border-muted\/40:is(:where(.group).destructive *) {
    border-color: var(--muted);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .group-\[\.destructive\]\:border-muted\/40:is(:where(.group).destructive *) {
      border-color: color-mix(in oklab, var(--muted) 40%, transparent);
    }
  }

  .group-\[\.destructive\]\:text-red-300:is(:where(.group).destructive *) {
    color: var(--color-red-300);
  }

  .selection\:bg-primary ::selection {
    background-color: var(--primary);
  }

  .selection\:bg-primary::selection {
    background-color: var(--primary);
  }

  .selection\:text-primary-foreground ::selection {
    color: var(--primary-foreground);
  }

  .selection\:text-primary-foreground::selection {
    color: var(--primary-foreground);
  }

  .file\:inline-flex::file-selector-button {
    display: inline-flex;
  }

  .file\:h-7::file-selector-button {
    height: calc(var(--spacing) * 7);
  }

  .file\:border-0::file-selector-button {
    border-style: var(--tw-border-style);
    border-width: 0;
  }

  .file\:bg-transparent::file-selector-button {
    background-color: #0000;
  }

  .file\:text-sm::file-selector-button {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }

  .file\:font-medium::file-selector-button {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }

  .file\:text-foreground::file-selector-button {
    color: var(--foreground);
  }

  .placeholder\:text-gray-500::placeholder {
    color: var(--color-gray-500);
  }

  .placeholder\:text-muted-foreground::placeholder {
    color: var(--muted-foreground);
  }

  @media (hover: hover) {
    .hover\:border-gray-200:hover {
      border-color: var(--color-gray-200);
    }

    .hover\:bg-accent:hover {
      background-color: var(--accent);
    }

    .hover\:bg-destructive\/90:hover {
      background-color: var(--destructive);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-destructive\/90:hover {
        background-color: color-mix(in oklab, var(--destructive) 90%, transparent);
      }
    }

    .hover\:bg-gray-50:hover {
      background-color: var(--color-gray-50);
    }

    .hover\:bg-gray-100:hover {
      background-color: var(--color-gray-100);
    }

    .hover\:bg-gray-800:hover {
      background-color: var(--color-gray-800);
    }

    .hover\:bg-primary\/90:hover {
      background-color: var(--primary);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-primary\/90:hover {
        background-color: color-mix(in oklab, var(--primary) 90%, transparent);
      }
    }

    .hover\:bg-secondary:hover, .hover\:bg-secondary\/80:hover {
      background-color: var(--secondary);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-secondary\/80:hover {
        background-color: color-mix(in oklab, var(--secondary) 80%, transparent);
      }
    }

    .hover\:text-accent-foreground:hover {
      color: var(--accent-foreground);
    }

    .hover\:text-foreground:hover {
      color: var(--foreground);
    }

    .hover\:text-gray-800:hover {
      color: var(--color-gray-800);
    }

    .hover\:underline:hover {
      text-decoration-line: underline;
    }

    .hover\:opacity-90:hover {
      opacity: .9;
    }

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

    .group-\[\.destructive\]\:hover\:border-destructive\/30:is(:where(.group).destructive *):hover {
      border-color: var(--destructive);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .group-\[\.destructive\]\:hover\:border-destructive\/30:is(:where(.group).destructive *):hover {
        border-color: color-mix(in oklab, var(--destructive) 30%, transparent);
      }
    }

    .group-\[\.destructive\]\:hover\:bg-destructive:is(:where(.group).destructive *):hover {
      background-color: var(--destructive);
    }

    .group-\[\.destructive\]\:hover\:text-red-50:is(:where(.group).destructive *):hover {
      color: var(--color-red-50);
    }
  }

  .focus\:border-blue-500:focus {
    border-color: var(--color-blue-500);
  }

  .focus\:bg-accent:focus {
    background-color: var(--accent);
  }

  .focus\:text-accent-foreground:focus {
    color: var(--accent-foreground);
  }

  .focus\:opacity-100:focus {
    opacity: 1;
  }

  .focus\:ring-1:focus {
    --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);
  }

  .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-blue-200:focus {
    --tw-ring-color: var(--color-blue-200);
  }

  .focus\:ring-ring:focus {
    --tw-ring-color: var(--ring);
  }

  .focus\:ring-offset-2:focus {
    --tw-ring-offset-width: 2px;
    --tw-ring-offset-shadow: var(--tw-ring-inset, ) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  }

  .focus\:outline-hidden:focus {
    --tw-outline-style: none;
    outline-style: none;
  }

  @media (forced-colors: active) {
    .focus\:outline-hidden:focus {
      outline-offset: 2px;
      outline: 2px solid #0000;
    }
  }

  .focus\:outline-none:focus {
    --tw-outline-style: none;
    outline-style: none;
  }

  .group-\[\.destructive\]\:focus\:ring-destructive:is(:where(.group).destructive *):focus {
    --tw-ring-color: var(--destructive);
  }

  .group-\[\.destructive\]\:focus\:ring-red-400:is(:where(.group).destructive *):focus {
    --tw-ring-color: var(--color-red-400);
  }

  .group-\[\.destructive\]\:focus\:ring-offset-red-600:is(:where(.group).destructive *):focus {
    --tw-ring-offset-color: var(--color-red-600);
  }

  .focus-visible\:border-ring:focus-visible {
    border-color: var(--ring);
  }

  .focus-visible\:ring-\[3px\]:focus-visible {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .focus-visible\:ring-destructive\/20:focus-visible {
    --tw-ring-color: var(--destructive);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus-visible\:ring-destructive\/20:focus-visible {
      --tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent);
    }
  }

  .focus-visible\:ring-ring\/50:focus-visible {
    --tw-ring-color: var(--ring);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus-visible\:ring-ring\/50:focus-visible {
      --tw-ring-color: color-mix(in oklab, var(--ring) 50%, transparent);
    }
  }

  .disabled\:pointer-events-none:disabled {
    pointer-events: none;
  }

  .disabled\:cursor-not-allowed:disabled {
    cursor: not-allowed;
  }

  .disabled\:bg-gray-100:disabled {
    background-color: var(--color-gray-100);
  }

  .disabled\:bg-gray-400:disabled {
    background-color: var(--color-gray-400);
  }

  .disabled\:text-gray-400:disabled {
    color: var(--color-gray-400);
  }

  .disabled\:opacity-50:disabled {
    opacity: .5;
  }

  .has-focus\:border-ring:has(:focus) {
    border-color: var(--ring);
  }

  .has-focus\:ring-\[3px\]:has(:focus) {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(3px + 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);
  }

  .has-focus\:ring-ring\/50:has(:focus) {
    --tw-ring-color: var(--ring);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .has-focus\:ring-ring\/50:has(:focus) {
      --tw-ring-color: color-mix(in oklab, var(--ring) 50%, transparent);
    }
  }

  .has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot="card-action"]) {
    grid-template-columns: 1fr auto;
  }

  .has-\[\>svg\]\:px-2\.5:has( > svg) {
    padding-inline: calc(var(--spacing) * 2.5);
  }

  .has-\[\>svg\]\:px-3:has( > svg) {
    padding-inline: calc(var(--spacing) * 3);
  }

  .has-\[\>svg\]\:px-4:has( > svg) {
    padding-inline: calc(var(--spacing) * 4);
  }

  .aria-disabled\:opacity-50[aria-disabled="true"] {
    opacity: .5;
  }

  .aria-invalid\:border-destructive[aria-invalid="true"] {
    border-color: var(--destructive);
  }

  .aria-invalid\:ring-destructive\/20[aria-invalid="true"] {
    --tw-ring-color: var(--destructive);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .aria-invalid\:ring-destructive\/20[aria-invalid="true"] {
      --tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent);
    }
  }

  .aria-selected\:text-muted-foreground[aria-selected="true"] {
    color: var(--muted-foreground);
  }

  .data-\[disabled\]\:pointer-events-none[data-disabled] {
    pointer-events: none;
  }

  .data-\[disabled\]\:opacity-50[data-disabled] {
    opacity: .5;
  }

  .data-\[disabled\=true\]\:pointer-events-none[data-disabled="true"] {
    pointer-events: none;
  }

  .data-\[disabled\=true\]\:opacity-50[data-disabled="true"] {
    opacity: .5;
  }

  .data-\[placeholder\]\:text-muted-foreground[data-placeholder] {
    color: var(--muted-foreground);
  }

  .data-\[range-end\=true\]\:rounded-md[data-range-end="true"] {
    border-radius: calc(var(--radius)  - 2px);
  }

  .data-\[range-end\=true\]\:rounded-r-md[data-range-end="true"] {
    border-top-right-radius: calc(var(--radius)  - 2px);
    border-bottom-right-radius: calc(var(--radius)  - 2px);
  }

  .data-\[range-end\=true\]\:bg-primary[data-range-end="true"] {
    background-color: var(--primary);
  }

  .data-\[range-end\=true\]\:text-primary-foreground[data-range-end="true"] {
    color: var(--primary-foreground);
  }

  .data-\[range-middle\=true\]\:rounded-none[data-range-middle="true"] {
    border-radius: 0;
  }

  .data-\[range-middle\=true\]\:bg-accent[data-range-middle="true"] {
    background-color: var(--accent);
  }

  .data-\[range-middle\=true\]\:text-accent-foreground[data-range-middle="true"] {
    color: var(--accent-foreground);
  }

  .data-\[range-start\=true\]\:rounded-md[data-range-start="true"] {
    border-radius: calc(var(--radius)  - 2px);
  }

  .data-\[range-start\=true\]\:rounded-l-md[data-range-start="true"] {
    border-top-left-radius: calc(var(--radius)  - 2px);
    border-bottom-left-radius: calc(var(--radius)  - 2px);
  }

  .data-\[range-start\=true\]\:bg-primary[data-range-start="true"] {
    background-color: var(--primary);
  }

  .data-\[range-start\=true\]\:text-primary-foreground[data-range-start="true"] {
    color: var(--primary-foreground);
  }

  .data-\[selected-single\=true\]\:bg-primary[data-selected-single="true"] {
    background-color: var(--primary);
  }

  .data-\[selected-single\=true\]\:text-primary-foreground[data-selected-single="true"] {
    color: var(--primary-foreground);
  }

  .data-\[selected\=true\]\:rounded-none[data-selected="true"] {
    border-radius: 0;
  }

  .data-\[selected\=true\]\:bg-accent[data-selected="true"] {
    background-color: var(--accent);
  }

  .data-\[selected\=true\]\:text-accent-foreground[data-selected="true"] {
    color: var(--accent-foreground);
  }

  .data-\[side\=bottom\]\:translate-y-1[data-side="bottom"] {
    --tw-translate-y: calc(var(--spacing) * 1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .data-\[side\=bottom\]\:slide-in-from-top-2[data-side="bottom"] {
    --tw-enter-translate-y: calc(2 * var(--spacing) * -1);
  }

  .data-\[side\=left\]\:-translate-x-1[data-side="left"] {
    --tw-translate-x: calc(var(--spacing) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .data-\[side\=left\]\:slide-in-from-right-2[data-side="left"] {
    --tw-enter-translate-x: calc(2 * var(--spacing));
  }

  .data-\[side\=right\]\:translate-x-1[data-side="right"] {
    --tw-translate-x: calc(var(--spacing) * 1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .data-\[side\=right\]\:slide-in-from-left-2[data-side="right"] {
    --tw-enter-translate-x: calc(2 * var(--spacing) * -1);
  }

  .data-\[side\=top\]\:-translate-y-1[data-side="top"] {
    --tw-translate-y: calc(var(--spacing) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .data-\[side\=top\]\:slide-in-from-bottom-2[data-side="top"] {
    --tw-enter-translate-y: calc(2 * var(--spacing));
  }

  .data-\[size\=default\]\:h-9[data-size="default"] {
    height: calc(var(--spacing) * 9);
  }

  .data-\[size\=sm\]\:h-8[data-size="sm"] {
    height: calc(var(--spacing) * 8);
  }

  :is(.\*\*\:data-\[slot\=command-input-wrapper\]\:h-12 *)[data-slot="command-input-wrapper"] {
    height: calc(var(--spacing) * 12);
  }

  :is(.\*\:data-\[slot\=select-value\]\:line-clamp-1 > *)[data-slot="select-value"] {
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
  }

  :is(.\*\:data-\[slot\=select-value\]\:flex > *)[data-slot="select-value"] {
    display: flex;
  }

  :is(.\*\:data-\[slot\=select-value\]\:items-center > *)[data-slot="select-value"] {
    align-items: center;
  }

  :is(.\*\:data-\[slot\=select-value\]\:gap-2 > *)[data-slot="select-value"] {
    gap: calc(var(--spacing) * 2);
  }

  .data-\[state\=checked\]\:translate-x-\[calc\(100\%-2px\)\][data-state="checked"] {
    --tw-translate-x: calc(100% - 2px);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .data-\[state\=checked\]\:bg-primary[data-state="checked"] {
    background-color: var(--primary);
  }

  .data-\[state\=closed\]\:animate-out[data-state="closed"] {
    animation: exit var(--tw-animation-duration, var(--tw-duration, .15s)) var(--tw-ease, ease) var(--tw-animation-delay, 0s) var(--tw-animation-iteration-count, 1) var(--tw-animation-direction, normal) var(--tw-animation-fill-mode, none);
  }

  .data-\[state\=closed\]\:fade-out-0[data-state="closed"] {
    --tw-exit-opacity: 0;
  }

  .data-\[state\=closed\]\:fade-out-80[data-state="closed"] {
    --tw-exit-opacity: .8;
  }

  .data-\[state\=closed\]\:zoom-out-95[data-state="closed"] {
    --tw-exit-scale: .95;
  }

  .data-\[state\=closed\]\:slide-out-to-right-full[data-state="closed"] {
    --tw-exit-translate-x: calc(1 * 100%);
  }

  .data-\[state\=open\]\:animate-in[data-state="open"] {
    animation: enter var(--tw-animation-duration, var(--tw-duration, .15s)) var(--tw-ease, ease) var(--tw-animation-delay, 0s) var(--tw-animation-iteration-count, 1) var(--tw-animation-direction, normal) var(--tw-animation-fill-mode, none);
  }

  .data-\[state\=open\]\:bg-accent[data-state="open"] {
    background-color: var(--accent);
  }

  .data-\[state\=open\]\:text-muted-foreground[data-state="open"] {
    color: var(--muted-foreground);
  }

  .data-\[state\=open\]\:fade-in-0[data-state="open"] {
    --tw-enter-opacity: 0;
  }

  .data-\[state\=open\]\:zoom-in-95[data-state="open"] {
    --tw-enter-scale: .95;
  }

  .data-\[state\=open\]\:slide-in-from-bottom-full[data-state="open"] {
    --tw-enter-translate-y: calc(1 * 100%);
  }

  .data-\[state\=open\]\:slide-in-from-top-full[data-state="open"] {
    --tw-enter-translate-y: calc(1 * -100%);
  }

  .data-\[state\=unchecked\]\:translate-x-0[data-state="unchecked"] {
    --tw-translate-x: calc(var(--spacing) * 0);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .data-\[state\=unchecked\]\:bg-input[data-state="unchecked"] {
    background-color: var(--input);
  }

  .data-\[swipe\=cancel\]\:translate-x-0[data-swipe="cancel"] {
    --tw-translate-x: calc(var(--spacing) * 0);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe="end"] {
    --tw-translate-x: var(--radix-toast-swipe-end-x);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .data-\[swipe\=end\]\:animate-out[data-swipe="end"] {
    animation: exit var(--tw-animation-duration, var(--tw-duration, .15s)) var(--tw-ease, ease) var(--tw-animation-delay, 0s) var(--tw-animation-iteration-count, 1) var(--tw-animation-direction, normal) var(--tw-animation-fill-mode, none);
  }

  .data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe="move"] {
    --tw-translate-x: var(--radix-toast-swipe-move-x);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .data-\[swipe\=move\]\:transition-none[data-swipe="move"] {
    transition-property: none;
  }

  @media (min-width: 40rem) {
    .sm\:top-auto {
      top: auto;
    }

    .sm\:right-0 {
      right: calc(var(--spacing) * 0);
    }

    .sm\:bottom-0 {
      bottom: calc(var(--spacing) * 0);
    }

    .sm\:max-w-lg {
      max-width: var(--container-lg);
    }

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

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

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

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

    .data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state="open"] {
      --tw-enter-translate-y: calc(1 * 100%);
    }
  }

  @media (min-width: 48rem) {
    .md\:h-28 {
      height: calc(var(--spacing) * 28);
    }

    .md\:w-28 {
      width: calc(var(--spacing) * 28);
    }

    .md\:max-w-\[420px\] {
      max-width: 420px;
    }

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

    .md\:px-10 {
      padding-inline: calc(var(--spacing) * 10);
    }

    .md\:px-16 {
      padding-inline: calc(var(--spacing) * 16);
    }

    .md\:py-5 {
      padding-block: calc(var(--spacing) * 5);
    }

    .md\:pb-12 {
      padding-bottom: calc(var(--spacing) * 12);
    }

    .md\:text-3xl {
      font-size: var(--text-3xl);
      line-height: var(--tw-leading, var(--text-3xl--line-height));
    }

    .md\:text-4xl {
      font-size: var(--text-4xl);
      line-height: var(--tw-leading, var(--text-4xl--line-height));
    }

    .md\:text-8xl {
      font-size: var(--text-8xl);
      line-height: var(--tw-leading, var(--text-8xl--line-height));
    }

    .md\:text-sm {
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
    }
  }

  .dark\:border-input:is(.dark *) {
    border-color: var(--input);
  }

  .dark\:bg-destructive\/60:is(.dark *) {
    background-color: var(--destructive);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:bg-destructive\/60:is(.dark *) {
      background-color: color-mix(in oklab, var(--destructive) 60%, transparent);
    }
  }

  .dark\:bg-input\/30:is(.dark *) {
    background-color: var(--input);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:bg-input\/30:is(.dark *) {
      background-color: color-mix(in oklab, var(--input) 30%, transparent);
    }
  }

  @media (hover: hover) {
    .dark\:hover\:bg-accent\/50:is(.dark *):hover {
      background-color: var(--accent);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .dark\:hover\:bg-accent\/50:is(.dark *):hover {
        background-color: color-mix(in oklab, var(--accent) 50%, transparent);
      }
    }

    .dark\:hover\:bg-input\/50:is(.dark *):hover {
      background-color: var(--input);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .dark\:hover\:bg-input\/50:is(.dark *):hover {
        background-color: color-mix(in oklab, var(--input) 50%, transparent);
      }
    }

    .dark\:hover\:text-accent-foreground:is(.dark *):hover {
      color: var(--accent-foreground);
    }
  }

  .dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible {
    --tw-ring-color: var(--destructive);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible {
      --tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent);
    }
  }

  .dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid="true"] {
    --tw-ring-color: var(--destructive);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid="true"] {
      --tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent);
    }
  }

  .dark\:data-\[state\=checked\]\:bg-primary-foreground:is(.dark *)[data-state="checked"] {
    background-color: var(--primary-foreground);
  }

  .dark\:data-\[state\=unchecked\]\:bg-foreground:is(.dark *)[data-state="unchecked"] {
    background-color: var(--foreground);
  }

  .dark\:data-\[state\=unchecked\]\:bg-input\/80:is(.dark *)[data-state="unchecked"] {
    background-color: var(--input);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:data-\[state\=unchecked\]\:bg-input\/80:is(.dark *)[data-state="unchecked"] {
      background-color: color-mix(in oklab, var(--input) 80%, transparent);
    }
  }

  .\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading] {
    padding-inline: calc(var(--spacing) * 2);
  }

  .\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading] {
    padding-block: calc(var(--spacing) * 1.5);
  }

  .\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading] {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }

  .\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading] {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }

  .\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading] {
    color: var(--muted-foreground);
  }

  .\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group] {
    padding-inline: calc(var(--spacing) * 2);
  }

  .\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden]) ~ [cmdk-group] {
    padding-top: calc(var(--spacing) * 0);
  }

  .\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg {
    height: calc(var(--spacing) * 5);
  }

  .\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg {
    width: calc(var(--spacing) * 5);
  }

  .\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input] {
    height: calc(var(--spacing) * 12);
  }

  .\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item] {
    padding-inline: calc(var(--spacing) * 2);
  }

  .\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item] {
    padding-block: calc(var(--spacing) * 3);
  }

  .\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg {
    height: calc(var(--spacing) * 5);
  }

  .\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg {
    width: calc(var(--spacing) * 5);
  }

  .\[\&_svg\]\:pointer-events-none svg {
    pointer-events: none;
  }

  .\[\&_svg\]\:shrink-0 svg {
    flex-shrink: 0;
  }

  .\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*="size-"]) {
    width: calc(var(--spacing) * 4);
    height: calc(var(--spacing) * 4);
  }

  .\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*="text-"]) {
    color: var(--muted-foreground);
  }

  .\[\&\+div\]\:text-xs + div {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }

  .\[\&\:first-child\[data-selected\=true\]_button\]\:rounded-l-md:first-child[data-selected="true"] button {
    border-top-left-radius: calc(var(--radius)  - 2px);
    border-bottom-left-radius: calc(var(--radius)  - 2px);
  }

  .\[\.border-b\]\:pb-6.border-b {
    padding-bottom: calc(var(--spacing) * 6);
  }

  .\[\.border-t\]\:pt-6.border-t {
    padding-top: calc(var(--spacing) * 6);
  }

  :is(.rtl\:\*\*\:\[\.rdp-button\\_next\>svg\]\:rotate-180:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) *):is(.rdp-button_next > svg), :is(.rtl\:\*\*\:\[\.rdp-button\\_previous\>svg\]\:rotate-180:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) *):is(.rdp-button_previous > svg) {
    rotate: 180deg;
  }

  :is(.\*\:\[span\]\:last\:flex > *):is(span):last-child {
    display: flex;
  }

  :is(.\*\:\[span\]\:last\:items-center > *):is(span):last-child {
    align-items: center;
  }

  :is(.\*\:\[span\]\:last\:gap-2 > *):is(span):last-child {
    gap: calc(var(--spacing) * 2);
  }

  .\[\&\:last-child\[data-selected\=true\]_button\]\:rounded-r-md:last-child[data-selected="true"] button {
    border-top-right-radius: calc(var(--radius)  - 2px);
    border-bottom-right-radius: calc(var(--radius)  - 2px);
  }

  .\[\&\>span\]\:text-xs > span {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }

  .\[\&\>span\]\:opacity-70 > span {
    opacity: .7;
  }

  .\[\&\>svg\]\:pointer-events-none > svg {
    pointer-events: none;
  }

  .\[\&\>svg\]\:size-3 > svg {
    width: calc(var(--spacing) * 3);
    height: calc(var(--spacing) * 3);
  }

  .\[\&\>svg\]\:size-3\.5 > svg {
    width: calc(var(--spacing) * 3.5);
    height: calc(var(--spacing) * 3.5);
  }

  .\[\&\>svg\]\:text-muted-foreground > svg {
    color: var(--muted-foreground);
  }

  [data-slot="card-content"] .\[\[data-slot\=card-content\]_\&\]\:bg-transparent, [data-slot="popover-content"] .\[\[data-slot\=popover-content\]_\&\]\:bg-transparent {
    background-color: #0000;
  }

  @media (hover: hover) {
    a.\[a\&\]\:hover\:bg-accent:hover {
      background-color: var(--accent);
    }

    a.\[a\&\]\:hover\:bg-destructive\/90:hover {
      background-color: var(--destructive);
    }

    @supports (color: color-mix(in lab, red, red)) {
      a.\[a\&\]\:hover\:bg-destructive\/90:hover {
        background-color: color-mix(in oklab, var(--destructive) 90%, transparent);
      }
    }

    a.\[a\&\]\:hover\:bg-primary\/90:hover {
      background-color: var(--primary);
    }

    @supports (color: color-mix(in lab, red, red)) {
      a.\[a\&\]\:hover\:bg-primary\/90:hover {
        background-color: color-mix(in oklab, var(--primary) 90%, transparent);
      }
    }

    a.\[a\&\]\:hover\:bg-secondary\/90:hover {
      background-color: var(--secondary);
    }

    @supports (color: color-mix(in lab, red, red)) {
      a.\[a\&\]\:hover\:bg-secondary\/90:hover {
        background-color: color-mix(in oklab, var(--secondary) 90%, transparent);
      }
    }

    a.\[a\&\]\:hover\:text-accent-foreground:hover {
      color: var(--accent-foreground);
    }
  }
}

@property --tw-animation-delay {
  syntax: "*";
  inherits: false;
  initial-value: 0s;
}

@property --tw-animation-direction {
  syntax: "*";
  inherits: false;
  initial-value: normal;
}

@property --tw-animation-duration {
  syntax: "*";
  inherits: false
}

@property --tw-animation-fill-mode {
  syntax: "*";
  inherits: false;
  initial-value: none;
}

@property --tw-animation-iteration-count {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-enter-blur {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-enter-opacity {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-enter-rotate {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-enter-scale {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-enter-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-enter-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-exit-blur {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-exit-opacity {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-exit-rotate {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-exit-scale {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-exit-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-exit-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

:root {
  --radius: .625rem;
  --background: oklch(100% 0 0);
  --foreground: oklch(14.5% 0 0);
  --card: oklch(100% 0 0);
  --card-foreground: oklch(14.5% 0 0);
  --popover: oklch(100% 0 0);
  --popover-foreground: oklch(14.5% 0 0);
  --primary: oklch(20.5% 0 0);
  --primary-foreground: oklch(98.5% 0 0);
  --secondary: oklch(97% 0 0);
  --secondary-foreground: oklch(20.5% 0 0);
  --muted: oklch(97% 0 0);
  --muted-foreground: oklch(55.6% 0 0);
  --accent: oklch(97% 0 0);
  --accent-foreground: oklch(20.5% 0 0);
  --destructive: oklch(57.7% .245 27.325);
  --border: oklch(92.2% 0 0);
  --input: oklch(92.2% 0 0);
  --ring: oklch(70.8% 0 0);
  --chart-1: oklch(64.6% .222 41.116);
  --chart-2: oklch(60% .118 184.704);
  --chart-3: oklch(39.8% .07 227.392);
  --chart-4: oklch(82.8% .189 84.429);
  --chart-5: oklch(76.9% .188 70.08);
  --sidebar: oklch(98.5% 0 0);
  --sidebar-foreground: oklch(14.5% 0 0);
  --sidebar-primary: oklch(20.5% 0 0);
  --sidebar-primary-foreground: oklch(98.5% 0 0);
  --sidebar-accent: oklch(97% 0 0);
  --sidebar-accent-foreground: oklch(20.5% 0 0);
  --sidebar-border: oklch(92.2% 0 0);
  --sidebar-ring: oklch(70.8% 0 0);
}

.dark {
  --background: oklch(14.5% 0 0);
  --foreground: oklch(98.5% 0 0);
  --card: oklch(20.5% 0 0);
  --card-foreground: oklch(98.5% 0 0);
  --popover: oklch(26.9% 0 0);
  --popover-foreground: oklch(98.5% 0 0);
  --primary: oklch(92.2% 0 0);
  --primary-foreground: oklch(20.5% 0 0);
  --secondary: oklch(26.9% 0 0);
  --secondary-foreground: oklch(98.5% 0 0);
  --muted: oklch(26.9% 0 0);
  --muted-foreground: oklch(70.8% 0 0);
  --accent: oklch(37.1% 0 0);
  --accent-foreground: oklch(98.5% 0 0);
  --destructive: oklch(70.4% .191 22.216);
  --border: oklch(100% 0 0 / .1);
  --input: oklch(100% 0 0 / .15);
  --ring: oklch(55.6% 0 0);
  --chart-1: oklch(48.8% .243 264.376);
  --chart-2: oklch(69.6% .17 162.48);
  --chart-3: oklch(76.9% .188 70.08);
  --chart-4: oklch(62.7% .265 303.9);
  --chart-5: oklch(64.5% .246 16.439);
  --sidebar: oklch(20.5% 0 0);
  --sidebar-foreground: oklch(98.5% 0 0);
  --sidebar-primary: oklch(48.8% .243 264.376);
  --sidebar-primary-foreground: oklch(98.5% 0 0);
  --sidebar-accent: oklch(26.9% 0 0);
  --sidebar-accent-foreground: oklch(98.5% 0 0);
  --sidebar-border: oklch(100% 0 0 / .1);
  --sidebar-ring: oklch(43.9% 0 0);
}

@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-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-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-pan-x {
  syntax: "*";
  inherits: false
}

@property --tw-pan-y {
  syntax: "*";
  inherits: false
}

@property --tw-pinch-zoom {
  syntax: "*";
  inherits: false
}

@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-space-x-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-divide-x-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-divide-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-leading {
  syntax: "*";
  inherits: false
}

@property --tw-font-weight {
  syntax: "*";
  inherits: false
}

@property --tw-tracking {
  syntax: "*";
  inherits: false
}

@property --tw-ordinal {
  syntax: "*";
  inherits: false
}

@property --tw-slashed-zero {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-figure {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-spacing {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-fraction {
  syntax: "*";
  inherits: false
}

@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-ring-inset {
  syntax: "*";
  inherits: false
}

@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0;
}

@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}

@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-blur {
  syntax: "*";
  inherits: false
}

@property --tw-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-invert {
  syntax: "*";
  inherits: false
}

@property --tw-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-sepia {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-blur {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-invert {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-sepia {
  syntax: "*";
  inherits: false
}

@property --tw-duration {
  syntax: "*";
  inherits: false
}

@property --tw-ease {
  syntax: "*";
  inherits: false
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes enter {
  from {
    opacity: var(--tw-enter-opacity, 1);
    transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0));
    filter: blur(var(--tw-enter-blur, 0));
  }
}

@keyframes exit {
  to {
    opacity: var(--tw-exit-opacity, 1);
    transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0));
    filter: blur(var(--tw-exit-blur, 0));
  }
}
