/* [project]/web/src/app/globals.css [app-client] (css) */
@layer properties {
  @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
    :root, :host {
      --shimmer-angle: 20deg;
    }

    *, :before, :after, ::backdrop {
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-border-style: solid;
      --tw-font-weight: initial;
      --tw-tracking: 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-duration: initial;
      --tw-ease: initial;
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --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-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;
      --scroll-fade-t: 0px;
      --scroll-fade-b: 0px;
      --scroll-fade-s: 0px;
      --scroll-fade-e: 0px;
      --scroll-fade-mask: initial;
      --shimmer-image: initial;
      --shimmer-text-fill: initial;
    }
  }
}

@layer theme {
  :root, :host {
    --font-sans: Arial, "PingFang SC", "Microsoft YaHei", sans-serif;
    --font-mono: "SFMono-Regular", Consolas, monospace;
    --color-black: #000;
    --spacing: .25rem;
    --container-sm: 24rem;
    --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);
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --tracking-widest: .1em;
    --radius-md: calc(var(--radius) * .8);
    --ease-in-out: cubic-bezier(.4, 0, .2, 1);
    --blur-xs: 4px;
    --default-transition-duration: .15s;
    --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    --default-font-family: Arial, "PingFang SC", "Microsoft YaHei", sans-serif;
    --default-mono-font-family: "SFMono-Regular", Consolas, monospace;
    --font-heading: Georgia, "Songti SC", "STSong", "SimSun", serif;
  }
}

@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, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;
    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:where(:not(iframe)) {
    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);
  }

  html {
    font-family: Arial, PingFang SC, Microsoft YaHei, sans-serif;
  }
}

@layer components;

@layer utilities {
  .pointer-events-none {
    pointer-events: none;
  }

  .visible {
    visibility: visible;
  }

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

  .absolute {
    position: absolute;
  }

  .fixed {
    position: fixed;
  }

  .relative {
    position: relative;
  }

  .inset-0 {
    inset: 0;
  }

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

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

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

  .isolate {
    isolation: isolate;
  }

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

  .m-auto {
    margin: auto;
  }

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

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

  .mt-auto {
    margin-top: auto;
  }

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

  .block {
    display: block;
  }

  .flex {
    display: flex;
  }

  .hidden {
    display: none;
  }

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

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

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

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

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

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

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

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

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

  .h-full {
    height: 100%;
  }

  .h-px {
    height: 1px;
  }

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

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

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

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

  .w-auto {
    width: auto;
  }

  .w-full {
    width: 100%;
  }

  .min-w-0 {
    min-width: 0;
  }

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

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

  .flex-none {
    flex: none;
  }

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

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

  .origin-top-left {
    transform-origin: 0 0;
  }

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

  .cursor-default {
    cursor: default;
  }

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

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

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

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

  .gap-0 {
    gap: 0;
  }

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

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

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

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

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

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

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

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

  .rounded-\[min\(var\(--radius-md\)\,10px\)\] {
    border-radius: min(var(--radius-md), 10px);
  }

  .rounded-\[min\(var\(--radius-md\)\,12px\)\] {
    border-radius: min(var(--radius-md), 12px);
  }

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

  .rounded-md {
    border-radius: calc(var(--radius) * .8);
  }

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

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

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

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

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

  .bg-black\/10 {
    background-color: #0000001a;
  }

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

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

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

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

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

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

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

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

  .bg-clip-padding {
    background-clip: padding-box;
  }

  .p-0 {
    padding: 0;
  }

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

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

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

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

  .px-2\.5 {
    padding-inline: calc(var(--spacing) * 2.5);
  }

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

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

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

  .font-heading {
    font-family: Georgia, Songti SC, STSong, SimSun, serif;
  }

  .font-mono {
    font-family: SFMono-Regular, Consolas, monospace;
  }

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

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

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

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

  .tracking-widest {
    --tw-tracking: var(--tracking-widest);
    letter-spacing: var(--tracking-widest);
  }

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

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

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

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

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

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

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

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

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

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

  .ring-1 {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .ring-foreground\/10 {
    --tw-ring-color: var(--foreground);
  }

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

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

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

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

  .duration-100 {
    --tw-duration: .1s;
    transition-duration: .1s;
  }

  .duration-150 {
    --tw-duration: .15s;
    transition-duration: .15s;
  }

  .duration-200 {
    --tw-duration: .2s;
    transition-duration: .2s;
  }

  .ease-in-out {
    --tw-ease: var(--ease-in-out);
    transition-timing-function: var(--ease-in-out);
  }

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

  .select-none {
    -webkit-user-select: none;
    user-select: none;
  }

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

  .group-focus\/dropdown-menu-item\:text-accent-foreground:is(:where(.group\/dropdown-menu-item):focus *) {
    color: var(--accent-foreground);
  }

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

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

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

  @media (hover: hover) {
    .hover\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]:hover {
      background-color: var(--secondary);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]:hover {
        background-color: color-mix(in oklch,var(--secondary),var(--foreground) 5%);
      }
    }

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

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

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

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

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

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

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

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

  .focus\:text-accent-foreground:focus, :is(.focus\:\*\*\:text-accent-foreground:focus *), :is(.not-data-\[variant\=destructive\]\:focus\:\*\*\:text-accent-foreground:not([data-variant="destructive"]):focus *) {
    color: var(--accent-foreground);
  }

  .focus-visible\:border-destructive\/40:focus-visible {
    border-color: var(--destructive);
  }

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

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

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

  .active\:not-aria-\[haspopup\]\:translate-y-px:active:not([aria-haspopup]) {
    --tw-translate-y: 1px;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

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

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

  .disabled\:bg-input\/50:disabled {
    background-color: var(--input);
  }

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

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

  :where([data-slot="button-group"]) .in-data-\[slot\=button-group\]\:rounded-lg {
    border-radius: var(--radius);
  }

  .has-data-\[icon\=inline-end\]\:pr-1\.5:has([data-icon="inline-end"]) {
    padding-right: calc(var(--spacing) * 1.5);
  }

  .has-data-\[icon\=inline-end\]\:pr-2:has([data-icon="inline-end"]) {
    padding-right: calc(var(--spacing) * 2);
  }

  .has-data-\[icon\=inline-start\]\:pl-1\.5:has([data-icon="inline-start"]) {
    padding-left: calc(var(--spacing) * 1.5);
  }

  .has-data-\[icon\=inline-start\]\:pl-2:has([data-icon="inline-start"]) {
    padding-left: calc(var(--spacing) * 2);
  }

  .aria-expanded\:bg-muted[aria-expanded="true"] {
    background-color: var(--muted);
  }

  .aria-expanded\:bg-secondary[aria-expanded="true"] {
    background-color: var(--secondary);
  }

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

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

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

  .aria-invalid\:ring-3[aria-invalid="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);
  }

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

  .data-ending-style\:opacity-0[data-ending-style] {
    opacity: 0;
  }

  .data-inset\:pl-7[data-inset] {
    padding-left: calc(var(--spacing) * 7);
  }

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

  .data-popup-open\:text-accent-foreground[data-popup-open] {
    color: var(--accent-foreground);
  }

  .data-starting-style\:opacity-0[data-starting-style] {
    opacity: 0;
  }

  .data-\[side\=bottom\]\:inset-x-0[data-side="bottom"] {
    inset-inline: 0;
  }

  .data-\[side\=bottom\]\:bottom-0[data-side="bottom"] {
    bottom: 0;
  }

  .data-\[side\=bottom\]\:h-auto[data-side="bottom"] {
    height: auto;
  }

  .data-\[side\=bottom\]\:border-t[data-side="bottom"] {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
  }

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

  .data-\[side\=bottom\]\:data-ending-style\:translate-y-\[2\.5rem\][data-side="bottom"][data-ending-style], .data-\[side\=bottom\]\:data-starting-style\:translate-y-\[2\.5rem\][data-side="bottom"][data-starting-style] {
    --tw-translate-y: 2.5rem;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

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

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

  .data-\[side\=left\]\:inset-y-0[data-side="left"] {
    inset-block: 0;
  }

  .data-\[side\=left\]\:left-0[data-side="left"] {
    left: 0;
  }

  .data-\[side\=left\]\:h-full[data-side="left"] {
    height: 100%;
  }

  .data-\[side\=left\]\:w-3\/4[data-side="left"] {
    width: 75%;
  }

  .data-\[side\=left\]\:border-r[data-side="left"] {
    border-right-style: var(--tw-border-style);
    border-right-width: 1px;
  }

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

  .data-\[side\=left\]\:data-ending-style\:translate-x-\[-2\.5rem\][data-side="left"][data-ending-style], .data-\[side\=left\]\:data-starting-style\:translate-x-\[-2\.5rem\][data-side="left"][data-starting-style] {
    --tw-translate-x: -2.5rem;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .data-\[side\=right\]\:inset-y-0[data-side="right"] {
    inset-block: 0;
  }

  .data-\[side\=right\]\:right-0[data-side="right"] {
    right: 0;
  }

  .data-\[side\=right\]\:h-full[data-side="right"] {
    height: 100%;
  }

  .data-\[side\=right\]\:w-3\/4[data-side="right"] {
    width: 75%;
  }

  .data-\[side\=right\]\:w-auto[data-side="right"] {
    width: auto;
  }

  .data-\[side\=right\]\:border-l[data-side="right"] {
    border-left-style: var(--tw-border-style);
    border-left-width: 1px;
  }

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

  .data-\[side\=right\]\:data-ending-style\:translate-x-\[2\.5rem\][data-side="right"][data-ending-style], .data-\[side\=right\]\:data-starting-style\:translate-x-\[2\.5rem\][data-side="right"][data-starting-style] {
    --tw-translate-x: 2.5rem;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .data-\[side\=top\]\:inset-x-0[data-side="top"] {
    inset-inline: 0;
  }

  .data-\[side\=top\]\:top-0[data-side="top"] {
    top: 0;
  }

  .data-\[side\=top\]\:h-auto[data-side="top"] {
    height: auto;
  }

  .data-\[side\=top\]\:border-b[data-side="top"] {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }

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

  .data-\[side\=top\]\:data-ending-style\:translate-y-\[-2\.5rem\][data-side="top"][data-ending-style], .data-\[side\=top\]\:data-starting-style\:translate-y-\[-2\.5rem\][data-side="top"][data-starting-style] {
    --tw-translate-y: -2.5rem;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .data-\[variant\=destructive\]\:text-destructive[data-variant="destructive"] {
    color: var(--destructive);
  }

  .data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant="destructive"]:focus {
    background-color: var(--destructive);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant="destructive"]:focus {
      background-color: color-mix(in oklab, var(--destructive) 10%, transparent);
    }
  }

  .data-\[variant\=destructive\]\:focus\:text-destructive[data-variant="destructive"]:focus {
    color: var(--destructive);
  }

  @supports ((-webkit-backdrop-filter: var(--tw)) or (backdrop-filter: var(--tw))) {
    .supports-backdrop-filter\:backdrop-blur-xs {
      --tw-backdrop-blur: blur(var(--blur-xs));
      -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, );
    }
  }

  @media (min-width: 40rem) {
    .data-\[side\=left\]\:sm\:max-w-sm[data-side="left"] {
      max-width: var(--container-sm);
    }

    .data-\[side\=right\]\:sm\:max-w-none[data-side="right"] {
      max-width: none;
    }

    .data-\[side\=right\]\:sm\:max-w-sm[data-side="right"] {
      max-width: var(--container-sm);
    }
  }

  @media (min-width: 48rem) {
    .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\/20:is(.dark *) {
    background-color: var(--destructive);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:bg-destructive\/20:is(.dark *) {
      background-color: color-mix(in oklab, var(--destructive) 20%, 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-destructive\/30:is(.dark *):hover {
      background-color: var(--destructive);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .dark\:hover\:bg-destructive\/30:is(.dark *):hover {
        background-color: color-mix(in oklab, var(--destructive) 30%, 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\:bg-muted\/50:is(.dark *):hover {
      background-color: var(--muted);
    }

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

  .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\:disabled\:bg-input\/80:is(.dark *):disabled {
    background-color: var(--input);
  }

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

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

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:aria-invalid\:border-destructive\/50:is(.dark *)[aria-invalid="true"] {
      border-color: color-mix(in oklab, var(--destructive) 50%, 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-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant="destructive"]:focus {
    background-color: var(--destructive);
  }

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

  .data-open\:animate-in:where([data-state="open"]), .data-open\:animate-in:where([data-open]:not([data-open="false"])) {
    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-open\:bg-accent:where([data-state="open"]), .data-open\:bg-accent:where([data-open]:not([data-open="false"])) {
    background-color: var(--accent);
  }

  .data-open\:text-accent-foreground:where([data-state="open"]), .data-open\:text-accent-foreground:where([data-open]:not([data-open="false"])) {
    color: var(--accent-foreground);
  }

  .data-open\:fade-in-0:where([data-state="open"]), .data-open\:fade-in-0:where([data-open]:not([data-open="false"])) {
    --tw-enter-opacity: 0;
  }

  .data-open\:zoom-in-95:where([data-state="open"]), .data-open\:zoom-in-95:where([data-open]:not([data-open="false"])) {
    --tw-enter-scale: .95;
  }

  .data-closed\:animate-out:where([data-state="closed"]), .data-closed\:animate-out:where([data-closed]:not([data-closed="false"])) {
    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-closed\:overflow-hidden:where([data-state="closed"]), .data-closed\:overflow-hidden:where([data-closed]:not([data-closed="false"])) {
    overflow: hidden;
  }

  .data-closed\:fade-out-0:where([data-state="closed"]), .data-closed\:fade-out-0:where([data-closed]:not([data-closed="false"])) {
    --tw-exit-opacity: 0;
  }

  .data-closed\:zoom-out-95:where([data-state="closed"]), .data-closed\:zoom-out-95:where([data-closed]:not([data-closed="false"])) {
    --tw-exit-scale: .95;
  }

  .data-disabled\:pointer-events-none:where([data-disabled="true"]), .data-disabled\:pointer-events-none:where([data-disabled]:not([data-disabled="false"])) {
    pointer-events: none;
  }

  .data-disabled\:opacity-50:where([data-disabled="true"]), .data-disabled\:opacity-50:where([data-disabled]:not([data-disabled="false"])) {
    opacity: .5;
  }

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

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

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

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

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

  :is(.data-\[variant\=destructive\]\:\*\:\[svg\]\:text-destructive[data-variant="destructive"] > *):is(svg) {
    color: var(--destructive);
  }
}

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

@property --scroll-fade-t {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0;
}

@property --scroll-fade-b {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0;
}

@property --scroll-fade-s {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0;
}

@property --scroll-fade-e {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0;
}

@property --scroll-fade-mask {
  syntax: "*";
  inherits: false
}

@property --shimmer-angle {
  syntax: "<angle>";
  inherits: true;
  initial-value: 20deg;
}

@property --shimmer-image {
  syntax: "*";
  inherits: false
}

@property --shimmer-text-fill {
  syntax: "*";
  inherits: false
}

@media (prefers-reduced-motion: reduce) {
  .shimmer {
    -webkit-text-fill-color: currentColor;
    background-image: none;
    animation: none;
  }
}

:root {
  --background: #faf9f7;
  --foreground: #0a0a0a;
  --card: #fff;
  --card-foreground: #0a0a0a;
  --popover: #fff;
  --popover-foreground: #0a0a0a;
  --primary: #1d61dc;
  --primary-foreground: #fafafa;
  --secondary: #f5f5f5;
  --secondary-foreground: #171717;
  --muted: #f5f5f5;
  --muted-foreground: #737373;
  --accent: #f5f5f5;
  --accent-foreground: #171717;
  --destructive: #e40014;
  --success: #2e9e52;
  --border: #e5e5e5;
  --input: #e5e5e5;
  --ring: #a1a1a1;
  --chart-1: #d4d4d4;
  --chart-2: #737373;
  --chart-3: #525252;
  --chart-4: #404040;
  --chart-5: #262626;
  --radius: .625rem;
  --sidebar: #fafafa;
  --sidebar-foreground: #0a0a0a;
  --sidebar-primary: #171717;
  --sidebar-primary-foreground: #fafafa;
  --sidebar-accent: #f5f5f5;
  --sidebar-accent-foreground: #171717;
  --sidebar-border: #e5e5e5;
  --sidebar-ring: #a1a1a1;
}

@supports (color: lab(0% 0 0)) {
  :root {
    --foreground: lab(2.75381% 0 0);
    --card: lab(100% 0 0);
    --card-foreground: lab(2.75381% 0 0);
    --popover: lab(100% 0 0);
    --popover-foreground: lab(2.75381% 0 0);
    --primary-foreground: lab(98.26% 0 0);
    --secondary: lab(96.52% -.0000298023 .0000119209);
    --secondary-foreground: lab(7.78201% -.0000149012 0);
    --muted: lab(96.52% -.0000298023 .0000119209);
    --muted-foreground: lab(48.496% 0 0);
    --accent: lab(96.52% -.0000298023 .0000119209);
    --accent-foreground: lab(7.78201% -.0000149012 0);
    --destructive: lab(48.4493% 77.4328 61.5452);
    --success: lab(57.7987% -45.4011 30.0617);
    --border: lab(90.952% 0 -.0000119209);
    --input: lab(90.952% 0 -.0000119209);
    --ring: lab(66.128% -.0000298023 .0000119209);
    --chart-1: lab(84.92% 0 -.0000119209);
    --chart-2: lab(48.496% 0 0);
    --chart-3: lab(34.924% 0 0);
    --chart-4: lab(27.036% 0 0);
    --chart-5: lab(15.204% 0 -.00000596046);
    --sidebar: lab(98.26% 0 0);
    --sidebar-foreground: lab(2.75381% 0 0);
    --sidebar-primary: lab(7.78201% -.0000149012 0);
    --sidebar-primary-foreground: lab(98.26% 0 0);
    --sidebar-accent: lab(96.52% -.0000298023 .0000119209);
    --sidebar-accent-foreground: lab(7.78201% -.0000149012 0);
    --sidebar-border: lab(90.952% 0 -.0000119209);
    --sidebar-ring: lab(66.128% -.0000298023 .0000119209);
  }
}

.dark {
  --background: #0a0a0a;
  --foreground: #fafafa;
  --card: #171717;
  --card-foreground: #fafafa;
  --popover: #171717;
  --popover-foreground: #fafafa;
  --primary: #e5e5e5;
  --primary-foreground: #171717;
  --secondary: #262626;
  --secondary-foreground: #fafafa;
  --muted: #262626;
  --muted-foreground: #a1a1a1;
  --accent: #262626;
  --accent-foreground: #fafafa;
  --destructive: #ff6568;
  --border: #ffffff1a;
  --input: #ffffff26;
  --ring: #737373;
  --chart-1: #d4d4d4;
  --chart-2: #737373;
  --chart-3: #525252;
  --chart-4: #404040;
  --chart-5: #262626;
  --sidebar: #171717;
  --sidebar-foreground: #fafafa;
  --sidebar-primary: #1447e6;
  --sidebar-primary-foreground: #fafafa;
  --sidebar-accent: #262626;
  --sidebar-accent-foreground: #fafafa;
  --sidebar-border: #ffffff1a;
  --sidebar-ring: #737373;
}

@supports (color: lab(0% 0 0)) {
  .dark {
    --background: lab(2.75381% 0 0);
    --foreground: lab(98.26% 0 0);
    --card: lab(7.78201% -.0000149012 0);
    --card-foreground: lab(98.26% 0 0);
    --popover: lab(7.78201% -.0000149012 0);
    --popover-foreground: lab(98.26% 0 0);
    --primary: lab(90.952% 0 -.0000119209);
    --primary-foreground: lab(7.78201% -.0000149012 0);
    --secondary: lab(15.204% 0 -.00000596046);
    --secondary-foreground: lab(98.26% 0 0);
    --muted: lab(15.204% 0 -.00000596046);
    --muted-foreground: lab(66.128% -.0000298023 .0000119209);
    --accent: lab(15.204% 0 -.00000596046);
    --accent-foreground: lab(98.26% 0 0);
    --destructive: lab(63.7053% 60.745 31.3109);
    --border: lab(100% 0 0 / .1);
    --input: lab(100% 0 0 / .15);
    --ring: lab(48.496% 0 0);
    --chart-1: lab(84.92% 0 -.0000119209);
    --chart-2: lab(48.496% 0 0);
    --chart-3: lab(34.924% 0 0);
    --chart-4: lab(27.036% 0 0);
    --chart-5: lab(15.204% 0 -.00000596046);
    --sidebar: lab(7.78201% -.0000149012 0);
    --sidebar-foreground: lab(98.26% 0 0);
    --sidebar-primary: lab(36.9089% 35.0961 -85.6872);
    --sidebar-primary-foreground: lab(98.26% 0 0);
    --sidebar-accent: lab(15.204% 0 -.00000596046);
    --sidebar-accent-foreground: lab(98.26% 0 0);
    --sidebar-border: lab(100% 0 0 / .1);
    --sidebar-ring: lab(48.496% 0 0);
  }
}

:root {
  --header-height: 52px;
  --nav-width: 224px;
}

body {
  -webkit-font-smoothing: antialiased;
  margin: 0;
}

button, a, input {
  -webkit-tap-highlight-color: transparent;
}

.app-shell {
  min-height: 100dvh;
}

.topbar {
  height: var(--header-height);
  z-index: 20;
  background: #faf9f7f5;
  border-bottom: 1px solid #e5e4e2;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  padding: 0 28px;
  display: flex;
  position: fixed;
  inset: 0 0 auto;
}

.brand-group, .topbar-actions {
  align-items: center;
  display: flex;
}

.brand-group {
  gap: 24px;
}

.brand {
  font-family: var(--font-heading);
  white-space: nowrap;
  letter-spacing: -1px;
  font-size: 34px;
  font-weight: 700;
  line-height: 1.2;
}

.sidebar-brand {
  border-bottom: 1px solid #dcdad5;
  flex-shrink: 0;
  min-height: 164px;
  margin: 0 15px 20px;
  padding: 26px 0 24px;
}

.sidebar-brand p {
  color: #737881;
  font-family: var(--font-heading);
  margin-top: 12px;
  font-size: 14px;
  line-height: 1.6;
}

.topbar {
  left: var(--nav-width);
}

.brand-tagline {
  color: #929395;
  font-size: 14px;
}

.search-field {
  width: 288px;
  position: relative;
}

.search-field > svg {
  color: #787b81;
  width: 18px;
  height: 18px;
  position: absolute;
  top: 9px;
  left: 11px;
}

.search-field input {
  height: 36px;
  box-shadow: none;
  background: none;
  border-color: #d8d9dd;
  border-radius: 5px;
  padding-left: 37px;
  font-size: 14px;
}

.search-field input:disabled {
  opacity: 1;
}

.notification-button:disabled {
  opacity: .7;
}

.notification-button svg {
  width: 20px;
  height: 20px;
}

.user-avatar {
  color: #fff;
  background: #101719;
  border-radius: 50%;
  place-items: center;
  width: 34px;
  height: 34px;
  font-family: Georgia, serif;
  font-size: 23px;
  display: grid;
}

.desktop-sidebar {
  width: var(--nav-width);
  background: #f5f4f2;
  border-right: 1px solid #e5e4e2;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  overflow-y: auto;
}

.sidebar-inner {
  flex-direction: column;
  height: 100%;
  min-height: 700px;
  padding: 0 15px 46px;
  display: flex;
}

.primary-nav {
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.nav-item {
  color: #292d36;
  width: 100%;
  height: 46px;
  font-family: var(--font-heading);
  border-radius: 3px;
  justify-content: flex-start;
  gap: 18px;
  padding: 0 18px;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.4;
}

.nav-item svg {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
}

.nav-item[data-active="true"], .nav-item[data-active="true"]:hover {
  color: #fff;
  box-shadow: none;
  background: #1554df;
}

.sidebar-bottom {
  margin-top: auto;
  padding: 48px 15px 0;
}

.small-rule {
  background: #9c9fa5;
  width: 20px;
  height: 1px;
  margin-bottom: 15px;
}

.secondary-nav {
  flex-direction: column;
  align-items: flex-start;
  gap: 1px;
  display: flex;
}

.secondary-link {
  color: #737881;
  border-radius: 2px;
  justify-content: flex-start;
  height: 33px;
  padding: 0;
  font-size: 15px;
  font-weight: 400;
}

.secondary-link:hover {
  color: #1e60d7;
  background: none;
}

.secondary-link[aria-current="page"] {
  color: #1e60d7;
}

.sidebar-note {
  margin-top: 32px;
}

.sidebar-note p {
  font-family: var(--font-heading);
  color: #737881;
  font-size: 16px;
  line-height: 1.5;
}

.main-content {
  margin-left: var(--nav-width);
  padding: calc(var(--header-height) + 27px) 36px 40px;
  min-height: 100dvh;
}

.breadcrumb {
  color: #1460df;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  font-size: 14px;
  line-height: 22px;
  display: flex;
}

.breadcrumb-divider {
  color: #a4a5a9;
}

.breadcrumb-current {
  color: #565960;
}

.page-heading h1 {
  font-family: var(--font-heading);
  letter-spacing: -2px;
  color: #080909;
  margin: 12px 0 4px;
  font-size: clamp(48px, 4.6vw, 72px);
  font-weight: 700;
  line-height: 1.15;
}

.page-description {
  font-family: var(--font-heading);
  letter-spacing: .2px;
  color: #737881;
  margin-top: 9px;
  font-size: 18px;
  line-height: 1.65;
}

.page-content {
  margin-top: 42px;
}

.mobile-menu {
  display: none;
}

.mobile-sidebar {
  background: #f5f4f2;
  width: 260px;
  padding: 0;
}

.skip-link {
  z-index: 100;
  background: #fff;
  border: 2px solid #1e60d7;
  border-radius: 4px;
  padding: 10px 16px;
  position: fixed;
  top: -80px;
  left: 16px;
}

.skip-link:focus {
  top: 8px;
}

.nav-item, .secondary-link {
  align-items: center;
  display: flex;
}

.nav-item:hover {
  background: #eeedea;
}

.nav-item:focus-visible, .secondary-link:focus-visible, .project-card:focus-visible, .case-row:focus-visible {
  outline-offset: 3px;
  outline: 2px solid #1d61dc;
}

.project-card:has(.card-link:focus-visible) {
  outline-offset: 3px;
  outline: 2px solid #1d61dc;
}

.project-switcher {
  color: #737881;
  gap: 7px;
  margin: 0 15px 22px;
  font-size: 12px;
  display: grid;
}

select {
  color: #292d36;
  width: 100%;
  min-width: 0;
  font: inherit;
  background: none;
  border: 1px solid #d8d9dd;
  border-radius: 4px;
  padding: 8px 10px;
}

.project-switcher select {
  appearance: none;
  text-overflow: ellipsis;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1.75 6 6.25 11 1.75' fill='none' stroke='%23454a52' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-position: right 11px center;
  background-repeat: no-repeat;
  background-size: 12px 8px;
  padding-right: 30px;
  font-size: 14px;
  line-height: 1.25;
}

.sidebar-inner {
  min-height: 790px;
}

.topbar-actions {
  gap: 16px;
}

.muted {
  color: #737881;
  font-size: 14px;
  line-height: 1.65;
}

.eyebrow {
  letter-spacing: 1.5px;
  color: #737881;
  margin: 18px 0 10px;
  font-size: 12px;
  display: block;
}

.section-toolbar {
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  margin-bottom: 24px;
  display: flex;
}

.section-toolbar h2, .settings-panel h2, .help-content h2 {
  font: 600 26px/1.4 var(--font-heading);
  overflow-wrap: anywhere;
  margin-bottom: 6px;
}

.section-toolbar > button {
  flex-shrink: 0;
}

.count {
  font: 400 13px/1 var(--font-sans);
  color: #1554df;
  background: #e8eefb;
  border-radius: 50%;
  place-items: center;
  min-width: 23px;
  height: 23px;
  margin-left: 8px;
  padding: 0 5px;
  display: inline-grid;
}

.actions {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  display: flex;
}

.badge {
  color: #60646c;
  overflow-wrap: anywhere;
  background: #eeedea;
  border-radius: 4px;
  padding: 2px 8px;
  font-size: 12px;
  line-height: 1.6;
  display: inline-block;
}

.tags {
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 12px;
  display: flex;
}

.text-link, .auth-switch a {
  color: #1554df;
  font-size: 14px;
}

.text-link:hover, .auth-switch a:hover {
  text-decoration: underline;
}

.empty-state {
  text-align: center;
  color: #737881;
  border-top: 1px solid #e5e4e2;
  padding: 64px 20px;
}

.empty-state h2, .empty-state h3 {
  font: 400 24px/1.5 var(--font-heading);
  color: #292d36;
}

.empty-state p {
  margin: 12px 0 20px;
  font-size: 14px;
}

.standalone-state {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 20px;
  min-height: 100dvh;
  padding: 32px;
  display: flex;
}

.error-message, .success-message {
  overflow-wrap: anywhere;
  border-radius: 4px;
  margin: 12px 0;
  padding: 12px 14px;
  font-size: 14px;
}

.error-message {
  color: #ad312c;
  background: #f9eeec;
}

.success-message {
  color: #286747;
  background: #edf5ef;
}

.editor-form, .editor-form fieldset {
  flex-direction: column;
  gap: 20px;
  min-width: 0;
  display: flex;
}

.editor-form label {
  color: #353942;
  gap: 8px;
  font-size: 14px;
  display: grid;
}

.editor-form input {
  border-radius: 4px;
  height: 40px;
  font-size: 14px;
}

.editor-form textarea {
  resize: vertical;
  background: none;
  border: 1px solid #d8d9dd;
  border-radius: 4px;
  width: 100%;
  min-height: 70px;
  padding: 10px 12px;
  font-size: 14px;
  line-height: 1.7;
}

.editor-form textarea:focus-visible, select:focus-visible {
  outline-offset: 2px;
  outline: 2px solid #1d61dc;
}

.editor-form > button {
  align-self: flex-start;
}

.editor-form input[type="file"] {
  height: auto;
  min-height: 40px;
  padding: 8px;
}

.editor-form h3 {
  font: 600 22px/1.3 var(--font-heading);
}

.field-hint {
  color: #737881;
  font-size: 12px;
  font-weight: 400;
}

.form-columns {
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  display: grid;
}

.inline-editor {
  border: 1px solid #deddd8;
  border-radius: 5px;
  max-width: 640px;
  margin-bottom: 28px;
  padding: 24px;
}

.project-grid {
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 290px), 1fr));
  gap: 20px;
  display: grid;
}

.project-card {
  border: 1px solid #e1dfda;
  border-radius: 5px;
  padding: 24px;
  transition: border-color .15s;
  position: relative;
}

.project-card:hover {
  border-color: #8b9fc3;
}

.project-card h3 {
  font: 600 24px/1.4 var(--font-heading);
  overflow-wrap: anywhere;
  margin-bottom: 10px;
}

.project-card > p {
  color: #737881;
  overflow-wrap: anywhere;
  min-height: 45px;
  font-size: 14px;
  line-height: 1.6;
}

.project-card-footer {
  color: #737881;
  border-top: 1px solid #e5e4e2;
  justify-content: space-between;
  gap: 12px;
  margin-top: 24px;
  padding-top: 16px;
  font-size: 13px;
  display: flex;
}

.project-card-footer span {
  color: #1554df;
}

.settings-panel {
  max-width: 640px;
}

.danger-zone {
  border-top: 1px solid #e4d8d4;
  margin-top: 48px;
  padding-top: 24px;
}

.danger-zone h3 {
  font: 600 20px var(--font-heading);
}

.danger-zone p {
  color: #737881;
  margin: 12px 0 18px;
  font-size: 14px;
}

.skills-filter, .suites-filter {
  margin-bottom: 24px;
}

.skill-group {
  margin-bottom: 40px;
}

.skill-group > h3 {
  font: 600 20px/1.4 var(--font-heading);
  overflow-wrap: anywhere;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
  display: flex;
}

.library-card > p {
  min-height: 0;
}

.library-repo {
  font-family: var(--font-mono);
  font-size: 13px;
}

.library-card > .muted {
  margin-top: 8px;
  font-size: 13px;
}

.library-card {
  position: relative;
}

.library-card-link {
  color: inherit;
  font: inherit;
  text-align: inherit;
  cursor: pointer;
  background: none;
  border: 0;
  padding: 0;
}

.library-card-link:after {
  content: "";
  z-index: 1;
  position: absolute;
  inset: 0;
}

.library-card-link:focus-visible {
  outline-offset: 3px;
  border-radius: 2px;
  outline: 2px solid #1d61dc;
}

.library-card .library-token-select, .library-card .text-link, .library-card .library-edit {
  z-index: 2;
  position: relative;
}

.library-token-select {
  color: #737881;
  gap: 6px;
  margin-top: 14px;
  font-size: 13px;
  display: grid;
}

.library-token-select select {
  width: 100%;
}

.skill-list {
  gap: 2px;
  display: grid;
}

.skill-row {
  cursor: pointer;
  color: #292d36;
  text-align: left;
  background: none;
  border: 0;
  border-radius: 4px;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  width: 100%;
  padding: 8px 10px;
  font-size: 14px;
  text-decoration: none;
  display: flex;
}

.skill-row:hover {
  background: #e9eef8;
}

.skill-row:focus-visible {
  outline-offset: 2px;
  outline: 2px solid #1d61dc;
}

.skill-row span {
  color: #737881;
  font: 400 12px/1.6 var(--font-mono);
  overflow-wrap: anywhere;
}

.back-link {
  cursor: pointer;
  color: #737881;
  background: none;
  border: 0;
  margin-bottom: 18px;
  padding: 0;
  font-size: 13px;
  text-decoration: none;
  display: inline-block;
}

.back-link:hover {
  color: #1d61dc;
}

.skill-detail {
  max-width: 960px;
}

.skill-detail-header {
  margin-bottom: 24px;
}

.skill-detail-header h2 {
  margin-bottom: 10px;
}

.skill-detail-badges {
  gap: 8px;
  margin-bottom: 12px;
  display: flex;
}

.skill-detail-header .library-repo a {
  color: inherit;
  overflow-wrap: anywhere;
}

.skill-detail-header .muted {
  margin-top: 6px;
  font-size: 13px;
}

.skill-markdown {
  color: #292d36;
  font-size: 15px;
  line-height: 1.75;
}

.skill-markdown > :first-child {
  margin-top: 0;
}

.skill-markdown h1, .skill-markdown h2, .skill-markdown h3, .skill-markdown h4 {
  margin: 28px 0 12px;
  line-height: 1.4;
}

.skill-markdown h1 {
  font-size: 24px;
}

.skill-markdown h2 {
  font-size: 20px;
}

.skill-markdown h3 {
  font-size: 17px;
}

.skill-markdown h4 {
  font-size: 15px;
}

.skill-markdown p, .skill-markdown ul, .skill-markdown ol, .skill-markdown blockquote, .skill-markdown pre, .skill-markdown table {
  margin: 12px 0;
}

.skill-markdown ul, .skill-markdown ol {
  padding-left: 24px;
}

.skill-markdown li + li {
  margin-top: 4px;
}

.skill-markdown code {
  font-family: var(--font-mono);
  background: #efeeeb;
  border-radius: 4px;
  padding: 2px 6px;
  font-size: 13px;
}

.skill-markdown pre {
  background: #efeeeb;
  border-radius: 4px;
  padding: 16px;
  overflow-x: auto;
}

.skill-markdown pre code {
  background: none;
  padding: 0;
  line-height: 1.7;
}

.skill-markdown a {
  color: #1d61dc;
}

.skill-markdown blockquote {
  color: #737881;
  border-left: 3px solid #e1dfda;
  padding-left: 14px;
}

.skill-markdown table {
  border-collapse: collapse;
  display: block;
  overflow-x: auto;
}

.skill-markdown th, .skill-markdown td {
  text-align: left;
  border: 1px solid #e1dfda;
  padding: 6px 12px;
}

.skill-markdown hr {
  border: 0;
  border-top: 1px solid #e1dfda;
  margin: 24px 0;
}

.skill-markdown img {
  max-width: 100%;
}

.app-shell:has(.skill-workspace) {
  --background: #ece8df;
  --foreground: #252722;
  --border: #d5cfc3;
  --muted: #e7e1d6;
  --paper-surface: #f0ece3;
  --paper-muted: #696c65;
  background: var(--background);
  color: var(--foreground);
}

:is(.app-shell:has(.skill-workspace) .desktop-sidebar, .app-shell:has(.skill-workspace) .mobile-sidebar) {
  border-color: var(--border);
  background: #e8e3d9;
}

.app-shell:has(.skill-workspace) .topbar {
  border-color: var(--border);
  background: #ece8dff5;
}

.app-shell:has(.skill-workspace) .sidebar-brand {
  border-color: var(--border);
}

.app-shell:has(.skill-workspace) .page-heading {
  display: none;
}

.app-shell:has(.skill-workspace) .page-content {
  margin-top: 0;
}

.skill-workspace {
  min-width: 0;
}

.skill-breadcrumb {
  color: var(--paper-muted);
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
  font-size: 13px;
  display: flex;
}

.skill-breadcrumb button {
  cursor: pointer;
}

.skill-breadcrumb a:hover, .skill-breadcrumb button:hover {
  color: var(--primary);
}

.skill-workspace-header {
  justify-content: space-between;
  align-items: flex-end;
  gap: 20px;
  margin-bottom: 22px;
  display: flex;
}

.skill-workspace-header > div:first-child {
  min-width: 0;
}

.skill-workspace-header .back-link {
  color: #245cc6;
  align-items: center;
  gap: 7px;
  margin-bottom: 8px;
  display: inline-flex;
}

.skill-workspace-header h1 {
  font: 700 clamp(25px, 2.6vw, 36px)/1.2 var(--font-heading);
  letter-spacing: -.6px;
  overflow-wrap: anywhere;
}

.skill-workspace-header p {
  color: var(--paper-muted);
  overflow-wrap: anywhere;
  margin-top: 8px;
  font-size: 13px;
}

.skill-header-actions {
  flex-shrink: 0;
  align-items: center;
  gap: 8px;
  padding-bottom: 3px;
  display: flex;
}

.skill-outline-link {
  white-space: nowrap;
  border: 1px solid #c9c3b7;
  border-radius: 6px;
  justify-content: center;
  align-items: center;
  gap: 7px;
  padding: 5px 10px;
  font-size: 13px;
  display: inline-flex;
}

.skill-outline-link:hover {
  background: var(--muted);
}

.skill-repository-grid {
  border: 1px solid var(--border);
  background: var(--paper-surface);
  border-radius: 8px;
  grid-template-columns: minmax(310px, 40fr) minmax(180px, 21fr) minmax(300px, 39fr);
  height: max(490px, 100dvh - 284px);
  max-height: 900px;
  display: grid;
  overflow: hidden;
}

.skill-repository-grid > section {
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  display: flex;
}

.skill-repository-grid > section + section {
  border-left: 1px solid var(--border);
}

.skill-panel-heading {
  flex-shrink: 0;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  min-height: 53px;
  padding: 13px 16px 9px;
  display: flex;
}

.skill-panel-heading h2 {
  min-width: 0;
  font: 700 19px/1.3 var(--font-heading);
  align-items: center;
  gap: 9px;
  margin: 0;
  display: flex;
}

.skill-panel-heading h2 span {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.skill-panel-heading svg {
  flex-shrink: 0;
}

.skill-panel-heading select {
  border-color: var(--border);
  background-color: #eae5db;
  border-radius: 6px;
  width: auto;
  max-width: 48%;
  padding: 5px 24px 5px 8px;
  font-size: 12px;
}

.skill-branch-legend {
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 14px;
  min-height: 22px;
  padding: 0 16px;
  font-size: 11px;
  display: flex;
}

.skill-branch-legend button {
  white-space: nowrap;
  text-overflow: ellipsis;
  cursor: pointer;
  align-items: center;
  gap: 7px;
  max-width: 135px;
  display: inline-flex;
  overflow: hidden;
}

.skill-branch-legend i {
  border-radius: 50%;
  flex-shrink: 0;
  width: 8px;
  height: 8px;
}

.skill-panel-hint {
  color: var(--paper-muted);
  padding: 9px 16px;
  font-size: 12px;
}

.skill-history-scroll, .skill-files-scroll, .skill-preview-scroll {
  scrollbar-width: thin;
  scrollbar-color: #c5beb1 transparent;
  overscroll-behavior: contain;
  flex: 1;
  min-height: 0;
  overflow: auto;
}

.skill-history-scroll {
  border-top: 1px solid var(--border);
  margin: 0 7px;
}

.skill-graph {
  min-width: calc(var(--graph-width) + 170px);
  isolation: isolate;
  position: relative;
}

.skill-graph-lines {
  z-index: 1;
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
}

.skill-commit-row {
  width: 100%;
  height: 76px;
  padding: 8px 9px 8px var(--graph-width);
  text-align: left;
  cursor: pointer;
  border-radius: 5px;
  grid-template-columns: minmax(0, 88px) minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  display: grid;
  position: relative;
}

.skill-commit-row:hover {
  background: #e6e2d8;
}

.skill-commit-row[aria-pressed="true"] {
  background: #dbe5ef;
}

.skill-commit-row[aria-pressed="true"]:before {
  content: "";
  background: #2461de;
  border-radius: 3px;
  width: 3px;
  position: absolute;
  top: 7px;
  bottom: 7px;
  left: 0;
}

.skill-commit-dot {
  border: 2px solid var(--paper-surface);
  background: var(--commit-color);
  z-index: 2;
  border-radius: 50%;
  width: 14px;
  height: 14px;
  position: absolute;
  top: 38px;
  transform: translate(-50%, -50%);
}

.skill-commit-row[aria-pressed="true"] .skill-commit-dot {
  box-shadow: 0 0 0 2px var(--commit-color);
}

.skill-commit-labels {
  scrollbar-width: thin;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
  max-height: 62px;
  display: flex;
  overflow: auto;
}

.skill-branch-badge {
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
  color: var(--branch-color);
  background: var(--branch-color);
  border-radius: 12px;
  padding: 2px 7px;
  display: block;
  overflow: hidden;
}

@supports (color: color-mix(in lab, red, red)) {
  .skill-branch-badge {
    background: color-mix(in srgb, var(--branch-color) 12%, var(--paper-surface));
  }
}

.skill-branch-badge {
  font-size: 11px;
}

.skill-commit-copy {
  flex-direction: column;
  gap: 5px;
  min-width: 0;
  display: flex;
}

.skill-commit-copy strong {
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
  font-weight: 500;
  overflow: hidden;
}

.skill-commit-copy small {
  color: var(--paper-muted);
  white-space: nowrap;
  font-size: 11px;
}

.skill-commit-copy code, .skill-revision code {
  font-family: var(--font-mono);
}

.skill-panel-footer {
  min-height: 37px;
  color: var(--paper-muted);
  flex-shrink: 0;
  align-items: center;
  gap: 7px;
  padding: 9px 16px;
  font-size: 11px;
  display: flex;
}

.skill-panel-footer svg {
  flex-shrink: 0;
}

.skill-panel-footer a {
  margin-left: auto;
}

.skill-history-panel .skill-panel-footer {
  flex-wrap: wrap;
  gap: 4px;
}

.skill-panel-empty {
  color: var(--paper-muted);
  padding: 22px 16px;
  font-size: 13px;
  line-height: 1.8;
}

.skill-panel-empty a {
  align-items: center;
  gap: 5px;
  margin-top: 10px;
  display: inline-flex;
}

.skill-settings-link {
  padding: 0 16px 16px;
  font-size: 13px;
  display: block;
}

.skill-repository-grid .empty-state {
  overflow-wrap: anywhere;
  background: none;
  border: 0;
  min-height: 0;
  padding: 24px 16px;
  font-size: 13px;
}

.skill-load-more {
  margin: 8px auto;
  display: flex;
}

.skill-revision {
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  padding: 0 14px 14px;
  font-size: 11px;
  display: flex;
}

.skill-revision > span {
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #7953aa;
  background: #e8dfee;
  border-radius: 5px;
  align-items: center;
  gap: 5px;
  max-width: 100%;
  padding: 3px 6px;
  display: inline-flex;
  overflow: hidden;
}

.skill-revision code {
  border: 1px solid var(--border);
  background: #eae5db;
  border-radius: 5px;
  padding: 2px 6px;
}

.skill-files-scroll {
  padding: 0 7px;
}

.skill-file-root {
  align-items: center;
  gap: 6px;
  padding: 8px 5px 11px;
  font-size: 12px;
  display: flex;
}

.skill-file-root span {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.skill-file-root svg {
  flex-shrink: 0;
}

.skill-file-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.skill-file-entry {
  text-align: left;
  cursor: pointer;
  border-radius: 5px;
  align-items: center;
  gap: 6px;
  width: 100%;
  min-height: 35px;
  padding: 6px 8px;
  font-size: 12px;
  display: flex;
}

.skill-file-entry svg, .skill-file-spacer {
  flex-shrink: 0;
}

.skill-file-spacer {
  width: 13px;
}

.skill-file-entry span:last-child {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.skill-file-entry:hover {
  background: #e6e2d8;
}

.skill-file-entry[aria-current="true"] {
  background: #dbe5ef;
}

.skill-preview-actions {
  gap: 4px;
  display: flex;
}

.skill-preview-toolbar {
  border-bottom: 1px solid var(--border);
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  margin: 0 16px;
  padding: 5px 0 14px;
  display: flex;
}

.skill-preview-toolbar > span {
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  color: var(--paper-muted);
  font-size: 11px;
  overflow: hidden;
}

.skill-preview-tabs {
  background: #e7e1d6;
  border-radius: 5px;
  padding: 2px;
  display: inline-flex;
}

.skill-preview-tabs button {
  cursor: pointer;
  border: 1px solid #0000;
  border-radius: 4px;
  padding: 4px 15px;
  font-size: 12px;
}

.skill-preview-tabs button[aria-pressed="true"] {
  color: #245cc6;
  background: var(--paper-surface);
  border-color: #c5bfb2;
}

.skill-paper-markdown {
  color: #30332e;
  overflow-wrap: anywhere;
  padding: 24px 22px;
  font-size: 14px;
}

.skill-paper-markdown h1, .skill-paper-markdown h2, .skill-paper-markdown h3 {
  font-family: var(--font-heading);
  font-weight: 700;
}

.skill-paper-markdown h1 {
  font-size: 27px;
}

.skill-paper-markdown h2 {
  font-size: 21px;
}

.skill-paper-markdown ul {
  list-style: outside;
}

.skill-paper-markdown ol {
  list-style: decimal;
}

.skill-paper-markdown hr, .skill-paper-markdown th, .skill-paper-markdown td {
  border-color: var(--border);
}

.skill-paper-markdown pre, .skill-paper-markdown code {
  background: #e7e1d6;
}

.skill-paper-markdown pre code {
  background: none;
}

.skill-source {
  font: 12px/1.8 var(--font-mono);
  tab-size: 2;
  width: max-content;
  min-width: 100%;
  margin: 0;
  padding: 20px;
}

.skill-image-placeholder {
  color: var(--paper-muted);
  font-size: 12px;
}

.skill-workspace-footer {
  color: #245cc6;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding: 12px 0 0;
  font-size: 12px;
  display: flex;
}

.skill-workspace-footer strong {
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 55%;
  font-weight: 500;
  overflow: hidden;
}

.skill-workspace-footer > span {
  color: var(--paper-muted);
  font-size: 11px;
}

.skill-workspace :is(button, a, select):focus-visible {
  outline-offset: 2px;
  outline: 2px solid #2461de;
}

.skill-repository-grid[data-expanded="true"] {
  grid-template-columns: minmax(0, 1fr);
}

.skill-repository-grid[data-expanded="true"] > :is(.skill-history-panel, .skill-files-panel) {
  display: none;
}

.skill-repository-grid[data-expanded="true"] > .skill-preview-panel {
  border-left: 0;
}

@media (max-width: 1220px) {
  .skill-repository-grid {
    grid-template-columns: minmax(275px, 38fr) minmax(155px, 22fr) minmax(260px, 40fr);
  }

  .skill-commit-row {
    grid-template-columns: minmax(0, 1fr);
    align-content: center;
    gap: 2px;
  }

  .skill-commit-labels {
    flex-direction: row;
    max-height: 22px;
  }

  .skill-commit-labels:empty {
    display: none;
  }

  .skill-panel-heading {
    padding-left: 12px;
    padding-right: 12px;
  }

  .skill-panel-heading h2 {
    font-size: 17px;
  }
}

@media (max-width: 1050px) {
  .skill-repository-grid {
    grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
    height: auto;
    max-height: none;
  }

  .skill-history-panel, .skill-files-panel {
    height: 420px;
  }

  .skill-repository-grid > .skill-preview-panel {
    border-left: 0;
    border-top: 1px solid var(--border);
    grid-column: 1 / -1;
    height: 540px;
  }

  .skill-repository-grid[data-expanded="true"] > .skill-preview-panel {
    border-top: 0;
    height: 70dvh;
  }

  .skill-header-actions {
    flex-wrap: wrap;
    justify-content: flex-end;
  }
}

@media (max-width: 600px) {
  .skill-workspace-header {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }

  .skill-header-actions {
    justify-content: flex-start;
  }

  .skill-repository-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .skill-repository-grid > .skill-files-panel {
    border-left: 0;
    border-top: 1px solid var(--border);
    height: 280px;
  }

  .skill-history-panel {
    height: 380px;
  }

  .skill-workspace-footer strong {
    max-width: calc(100% - 30px);
  }

  .skill-breadcrumb {
    gap: 7px;
  }
}

.browser-settings-link {
  margin-left: 10px;
}

.token-masked {
  font-family: var(--font-mono);
  font-size: 13px;
}

.token-actions, .token-form {
  margin-top: 18px;
}

.token-add-grid {
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  display: grid;
}

@media (max-width: 640px) {
  .token-add-grid {
    grid-template-columns: 1fr;
  }
}

.token-list {
  gap: 12px;
  margin: 24px 0;
  display: grid;
}

.token-item {
  border: 1px solid #e1dfda;
  border-radius: 5px;
  padding: 16px;
}

.token-item > div:first-child {
  flex-wrap: wrap;
  align-items: baseline;
  gap: 10px;
  display: flex;
}

.title-with-help {
  align-items: center;
  gap: 8px;
  display: flex;
}

.help-toggle {
  color: #737881;
  cursor: pointer;
  background: none;
  border: 1px solid #deddd8;
  border-radius: 50%;
  flex-shrink: 0;
  place-items: center;
  width: 24px;
  height: 24px;
  transition: color .15s, border-color .15s;
  display: inline-grid;
}

.help-toggle:hover, .help-toggle[aria-expanded="true"] {
  color: #1554df;
  border-color: #1554df;
}

.help-panel {
  color: #4a4e57;
  border: 1px solid #deddd8;
  border-radius: 5px;
  max-width: 640px;
  margin-bottom: 20px;
  padding: 18px 22px;
  font-size: 14px;
  line-height: 1.8;
}

.help-panel h3 {
  font: 600 15px/1.4 var(--font-sans);
  color: #292d36;
  margin: 14px 0 4px;
}

.help-panel h3:first-child {
  margin-top: 0;
}

.help-panel ol {
  padding-left: 22px;
  list-style: decimal;
}

.help-panel p {
  margin-top: 12px;
}

.help-content {
  max-width: 640px;
  font-size: 15px;
  line-height: 1.8;
}

.help-content ol {
  margin: 24px 0;
  padding-left: 24px;
  list-style: decimal;
}

.help-content p {
  color: #737881;
  margin-top: 16px;
}

.auth-page {
  grid-template-columns: minmax(260px, 1fr) 1.5fr;
  min-height: 100dvh;
  display: grid;
}

.auth-intro {
  background: #f2f0eb;
  border-right: 1px solid #e5e4e2;
  padding: 64px;
}

.auth-intro p {
  font: 400 clamp(22px, 2.6vw, 38px) / 1.6 var(--font-heading);
  color: #737881;
  margin-top: 100px;
}

.auth-panel {
  width: min(100%, 480px);
  margin: auto;
  padding: 64px 40px;
}

.auth-panel h1 {
  font: 700 42px/1.3 var(--font-heading);
  margin-bottom: 12px;
}

.auth-panel .editor-form {
  margin-top: 32px;
}

.auth-panel .editor-form > button {
  width: 100%;
  height: 40px;
}

.auth-switch {
  color: #737881;
  margin-top: 24px;
  font-size: 14px;
}

.auth-switch a {
  margin-left: 8px;
}

.project-heading {
  border-top: 1px solid #9c9fa5;
  align-items: flex-start;
  padding-top: 24px;
}

.cases-layout {
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  align-items: start;
  gap: 28px;
  display: grid;
}

.case-list-panel {
  min-width: 0;
  max-height: calc(100dvh - var(--header-height) - 48px);
  overflow-y: auto;
}

.list-tools {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  display: flex;
}

.list-tools select {
  width: auto;
  padding: 6px 8px;
  font-size: 12px;
}

.list-search {
  flex: 160px;
  position: relative;
}

.list-search svg {
  color: #737881;
  position: absolute;
  top: 8px;
  left: 9px;
}

.list-search input {
  border-radius: 4px;
  padding-left: 31px;
  font-size: 13px;
}

.list-caption {
  color: #1554df;
  font-family: var(--font-heading);
  border-bottom: 1px solid #dcdad5;
  padding: 20px 0 14px;
  font-size: 18px;
}

.case-row {
  border-bottom: 1px solid #e5e4e2;
  border-left: 3px solid #0000;
  align-items: flex-start;
  gap: 18px;
  padding: 24px 12px;
  display: flex;
}

.case-row:hover {
  background: #f1f0ed;
}

.case-row[aria-current="page"] {
  background: #e9eef8;
  border-left-color: #1554df;
}

.case-number {
  font: 400 28px/1.3 var(--font-heading);
}

.case-row-content {
  flex: 1;
  min-width: 0;
}

.case-row h3 {
  font: 600 19px/1.5 var(--font-heading);
  overflow-wrap: anywhere;
}

.case-row p {
  color: #737881;
  -webkit-line-clamp: 2;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  margin-top: 6px;
  font-size: 13px;
  display: -webkit-box;
  overflow: hidden;
}

.run-status {
  color: #737881;
  white-space: nowrap;
  margin-top: 7px;
  font-size: 12px;
}

.run-status i {
  background: #999;
  border-radius: 50%;
  width: 7px;
  height: 7px;
  margin-right: 5px;
  display: inline-block;
}

.run-status.succeeded i {
  background: #169869;
}

.run-status.failed i {
  background: #c33e2e;
}

.run-status.running i {
  background: var(--primary);
}

.run-status small {
  text-align: right;
  margin-top: 8px;
  display: block;
}

.case-detail {
  min-width: 0;
  max-height: calc(100dvh - var(--header-height) - 48px);
  border-left: 1px solid #e5e4e2;
  padding-bottom: 24px;
  padding-left: 28px;
  overflow-y: auto;
}

.case-detail > h2 {
  font: 600 30px/1.4 var(--font-heading);
  overflow-wrap: anywhere;
  margin-bottom: 8px;
}

.case-detail > p {
  overflow-wrap: anywhere;
}

.case-description {
  margin-top: 24px;
}

.case-metadata {
  color: #737881;
  margin-top: 24px;
  font-size: 14px;
}

.case-metadata summary {
  cursor: pointer;
  width: fit-content;
}

.case-metadata pre {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font: inherit;
  margin-top: 12px;
}

.detail-section {
  border-top: 1px solid #deddd8;
  margin-top: 24px;
  padding-top: 18px;
}

.detail-section h3, .detail-meta h3 {
  font: 600 17px/1.5 var(--font-heading);
  margin-bottom: 12px;
}

.prompt-content {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  max-height: 400px;
  font: 400 14px/1.8 var(--font-heading);
  background: #efeeeb;
  border-radius: 4px;
  padding: 16px;
  overflow-y: auto;
}

.criteria-list {
  font: 400 14px/1.8 var(--font-heading);
  overflow-wrap: anywhere;
  padding-left: 22px;
  list-style: decimal;
}

.attachment-list {
  gap: 8px;
  display: grid;
}

.attachment-row {
  border: 1px solid #deddd8;
  border-radius: 4px;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  display: flex;
}

.attachment-row > svg {
  flex-shrink: 0;
}

.attachment-name {
  overflow-wrap: anywhere;
  flex: 1;
  min-width: 0;
  font-size: 13px;
}

.attachment-controls {
  margin-top: 16px;
}

.attachment-controls summary {
  color: #1554df;
  cursor: pointer;
  font-size: 14px;
}

.attachment-controls .editor-form {
  gap: 12px;
  margin-top: 20px;
}

.detail-meta {
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 24px;
  display: grid;
}

.detail-meta section {
  overflow-wrap: anywhere;
  border: 1px solid #deddd8;
  border-radius: 4px;
  min-width: 0;
  padding: 14px;
}

.detail-meta p {
  margin-bottom: 8px;
  font-size: 14px;
}

.detail-meta .muted {
  font-size: 12px;
}

.detail-placeholder {
  color: #929395;
  text-align: center;
  border-left: 1px solid #e5e4e2;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 280px;
  display: flex;
}

.detail-placeholder span {
  font: 400 25px var(--font-heading);
}

.detail-placeholder p {
  margin-top: 16px;
  font-size: 14px;
  line-height: 1.8;
}

.case-editor[data-slot="sheet-content"] {
  width: min(560px, 100vw);
  max-width: 560px;
  padding: 28px;
  overflow-y: auto;
}

.case-editor [data-slot="sheet-title"] {
  font: 600 28px var(--font-heading);
  padding-right: 24px;
}

.confirm-panel {
  background: #f9eeec;
  border: 1px solid #e5c8c2;
  border-radius: 4px;
  margin-top: 16px;
  padding: 16px;
}

.confirm-panel p {
  margin-bottom: 12px;
  font-size: 14px;
  line-height: 1.6;
}

@media (max-width: 1200px) {
  .cases-layout {
    grid-template-columns: 1fr;
  }

  .detail-placeholder, .has-selection .case-list-panel {
    display: none;
  }

  .case-list-panel, .case-detail {
    max-height: none;
    overflow-y: visible;
  }

  .case-detail {
    border-left: 0;
    padding-left: 0;
  }

  .topbar .search-field {
    display: none;
  }
}

@media (min-width: 1800px) {
  .main-content {
    padding-left: 48px;
    padding-right: 64px;
  }
}

@media (max-width: 1000px) {
  :root {
    --nav-width: 210px;
  }

  .brand-tagline {
    display: none;
  }

  .main-content {
    padding-left: 28px;
    padding-right: 28px;
  }

  .nav-item {
    gap: 17px;
  }

  .page-description {
    font-size: 17px;
  }
}

@media (max-width: 640px) {
  :root {
    --header-height: 60px;
  }

  .desktop-sidebar {
    display: none;
  }

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

  .topbar {
    gap: 12px;
    padding: 0 16px;
    left: 0;
  }

  .brand-group {
    gap: 8px;
  }

  .topbar-actions {
    gap: 12px;
  }

  .search-field {
    display: none;
  }

  .main-content {
    margin-left: 0;
    padding: 90px 24px 32px;
  }

  .page-heading h1 {
    letter-spacing: -1.5px;
    margin-top: 22px;
    font-size: clamp(40px, 10vw, 62px);
  }

  .page-description {
    letter-spacing: .3px;
    max-width: 27ch;
    font-size: 17px;
  }

  .sidebar-inner {
    min-height: 0;
    padding-bottom: 28px;
    overflow-y: auto;
  }

  .sidebar-bottom {
    padding-top: 36px;
  }

  .breadcrumb {
    gap: 9px;
    font-size: 12px;
  }

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

  .auth-page {
    grid-template-columns: 1fr;
  }

  .auth-intro {
    border-bottom: 1px solid #e5e4e2;
    border-right: 0;
    padding: 24px;
  }

  .auth-intro p {
    display: none;
  }

  .auth-panel {
    padding: 32px 24px;
  }

  .case-editor[data-slot="sheet-content"] {
    padding: 24px;
  }

  .detail-meta, .form-columns {
    grid-template-columns: 1fr;
  }

  .case-row {
    gap: 12px;
    padding-left: 8px;
    padding-right: 8px;
  }

  .run-status {
    font-size: 11px;
  }
}

.sync-hint {
  font-size: 12px;
}

.card-head {
  align-items: center;
  gap: 10px;
  margin-bottom: 24px;
  display: flex;
}

.card-head > svg {
  margin-left: auto;
}

.card-link {
  color: inherit;
  text-decoration: none;
}

.card-link:after {
  content: "";
  position: absolute;
  inset: 0;
}

.card-select {
  z-index: 1;
  position: relative;
}

.batch-bar {
  flex-wrap: wrap;
  flex-shrink: 0;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  min-width: 0;
  display: flex;
}

@media (max-width: 640px) {
  .batch-bar {
    flex-shrink: 1;
  }
}

.batch-count {
  color: #1554df;
  font-size: 13px;
}

.confirm-list {
  gap: 6px;
  margin: 0 0 12px;
  padding: 0;
  font-size: 14px;
  list-style: none;
  display: grid;
}

.confirm-list li {
  justify-content: space-between;
  gap: 16px;
  display: flex;
}

.confirm-list li > span:last-child {
  color: #737881;
  white-space: nowrap;
}

.run-list {
  flex-direction: column;
  gap: 6px;
  display: flex;
}

.run-row {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  color: inherit;
  cursor: pointer;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  text-decoration: none;
  display: flex;
}

.run-row:hover {
  background: var(--muted);
}

.run-row .run-status {
  margin-top: 0;
}

.event-trace {
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.event-row {
  border-radius: var(--radius);
  align-items: baseline;
  gap: 8px;
  padding: 6px 8px;
  font-size: 13px;
  display: flex;
}

.event-row.kind-error {
  background: var(--destructive);
}

@supports (color: color-mix(in lab, red, red)) {
  .event-row.kind-error {
    background: color-mix(in srgb, var(--destructive) 8%, transparent);
  }
}

.event-time {
  font-variant-numeric: tabular-nums;
  flex-shrink: 0;
}

.event-summary {
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}

.artifact-list {
  flex-direction: column;
  gap: 10px;
  display: flex;
}

.artifact-card {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 12px 14px;
}

.artifact-card h4 {
  align-items: center;
  gap: 8px;
  display: flex;
}

.artifact-group {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 12px 14px;
}

.artifact-group-header {
  font-size: 14px;
  font-weight: 600;
}

.artifact-group h4 {
  align-items: center;
  gap: 8px;
  display: flex;
}

.artifact-card h4 .text-link, .artifact-group h4 .text-link {
  align-items: center;
  gap: 4px;
  display: inline-flex;
}

.artifact-item {
  border-top: 1px solid var(--border);
  margin-top: 10px;
  padding: 10px 0 2px;
}

.artifact-version {
  margin-top: 8px;
}

.artifact-version summary {
  cursor: pointer;
  font-size: 13px;
}

.artifact-files {
  flex-direction: column;
  gap: 2px;
  margin-top: 6px;
  display: flex;
}

.artifact-file-row {
  align-items: center;
  gap: 8px;
  padding: 3px 0;
  font-size: 13px;
  display: flex;
}

.artifact-file-name {
  overflow-wrap: anywhere;
  flex: 1;
}

.artifact-preview-actions {
  gap: 8px;
  margin: 8px 0 4px;
  display: flex;
}

.artifact-preview-sheet {
  width: min(960px, 92vw);
}

.artifact-preview-toolbar {
  border-bottom: 1px solid var(--border);
  flex: none;
  align-items: center;
  gap: 8px;
  height: 40px;
  padding: 0 12px;
  display: flex;
}

.artifact-preview-title {
  min-width: 0;
}

.artifact-preview-toolbar-spacer {
  flex: auto;
}

.artifact-preview-seg {
  border: 1px solid var(--border);
  border-radius: 8px;
  flex: none;
  display: flex;
  overflow: hidden;
}

.artifact-preview-seg-btn {
  width: 26px;
  height: 26px;
  color: var(--muted-foreground);
  justify-content: center;
  align-items: center;
  transition: background-color .15s, color .15s;
  display: flex;
}

.artifact-preview-seg-btn:hover {
  background: var(--muted);
  color: var(--foreground);
}

.artifact-preview-seg-btn.is-active {
  background: var(--primary);
  color: var(--primary-foreground);
}

.artifact-preview-seg-btn-divider {
  border-left: 1px solid var(--border);
}

.artifact-preview-zoom {
  background: var(--muted);
  border-radius: 8px;
  flex: none;
  align-items: center;
  gap: 2px;
  padding: 2px;
  display: flex;
}

.artifact-preview-zoom-btn {
  width: 24px;
  height: 24px;
  color: var(--muted-foreground);
  border-radius: 6px;
  justify-content: center;
  align-items: center;
  transition: background-color .15s, color .15s;
  display: flex;
}

.artifact-preview-zoom-btn:hover:not(:disabled) {
  color: var(--foreground);
  background: var(--background);
}

.artifact-preview-zoom-btn:disabled {
  opacity: .4;
  cursor: not-allowed;
}

.artifact-preview-zoom-value {
  font-variant-numeric: tabular-nums;
  min-width: 40px;
  color: var(--muted-foreground);
  text-align: center;
  border-radius: 6px;
  padding: 0 4px;
  font-size: 11px;
  font-weight: 500;
  transition: background-color .15s, color .15s;
}

.artifact-preview-zoom-value:hover {
  color: var(--foreground);
  background: var(--background);
}

.artifact-preview-body {
  flex: auto;
  min-height: 0;
  display: flex;
}

.artifact-preview-stage {
  overflow-anchor: none;
  background: var(--background);
  flex: auto;
  min-width: 0;
  min-height: 0;
  position: relative;
  overflow: auto;
}

.artifact-preview-stage[data-grid="on"] {
  background-image: radial-gradient(circle, var(--border) .9px, transparent 1.3px);
  background-size: 14px 14px;
}

.artifact-preview-device {
  --bezel: 12px;
  --ring: 5px;
  --r: 46px;
  padding: var(--bezel);
  border-radius: var(--r);
  background: linear-gradient(155deg, #dfe3e8 0%, #c2c8cf 38%, #a3aab3 62%, #d2d6dc 100%);
  position: relative;
  box-shadow: 0 18px 44px #0f12184d, 0 0 0 1px #0f121824, inset 0 0 .5px .9px #6b7078, inset 0 0 1px 2.4px #eef1f4, inset 0 0 .7px 3.8px #aab0b8, inset 0 0 .6px 4.8px #6f747c;
}

.artifact-preview-device[data-device="tablet"] {
  --bezel: 16px;
  --ring: 6px;
  --r: 34px;
}

.artifact-preview-device:after {
  content: "";
  inset: var(--ring);
  z-index: 4;
  border: calc(var(--bezel) - var(--ring)) solid #0b0c0e;
  border-radius: calc(var(--r) - var(--ring));
  pointer-events: none;
  position: absolute;
}

.artifact-preview-device:before {
  content: "";
  top: calc(var(--ring) + 1px);
  z-index: 6;
  pointer-events: none;
  background: radial-gradient(circle at 36% 32%, #3d4652 0%, #161a20 62%, #05060a 100%);
  border-radius: 50%;
  width: 5px;
  height: 5px;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  box-shadow: 0 0 0 .5px #96afd273, 0 0 0 1px #0000008c, inset 0 0 1px #96c3ff8c;
}

.artifact-preview-screen {
  border-radius: calc(var(--r) - var(--bezel));
  clip-path: inset(0 round calc(var(--r) - var(--bezel)));
  background: #000;
  position: relative;
  overflow: hidden;
}

.artifact-preview-device[data-device="phone"] .artifact-preview-screen:after {
  content: "";
  z-index: 5;
  pointer-events: none;
  background: #9aa0aab3;
  border-radius: 2px;
  width: 34%;
  max-width: 130px;
  height: 4px;
  position: absolute;
  bottom: 7px;
  left: 50%;
  transform: translateX(-50%);
}

.artifact-preview-frame {
  border-radius: inherit;
  width: 100%;
  height: 100%;
  clip-path: inherit;
  background: #fff;
  border: 0;
  display: block;
}

.artifact-ann-tools {
  border-bottom: 1px solid var(--border);
  background: var(--muted);
  flex: none;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  display: flex;
}

.artifact-ann-tools-seg {
  border: 1px solid var(--border);
  background: var(--background);
  border-radius: 8px;
  flex: none;
  display: flex;
  overflow: hidden;
}

.artifact-ann-tool {
  width: 28px;
  height: 28px;
  color: var(--muted-foreground);
  white-space: nowrap;
  justify-content: center;
  align-items: center;
  gap: 4px;
  padding: 0;
  font-size: 12px;
  transition: background-color .15s, color .15s;
  display: inline-flex;
}

.artifact-ann-tools-seg .artifact-ann-tool + .artifact-ann-tool, .artifact-ann-tools-seg > .artifact-ann-tool + .artifact-ann-split {
  border-left: 1px solid var(--border);
}

.artifact-ann-tool:hover:not(:disabled) {
  background: var(--muted);
  color: var(--foreground);
}

.artifact-ann-tool.is-active, .artifact-ann-tool.is-primary {
  background: var(--primary);
  color: var(--primary-foreground);
}

.artifact-ann-tool:disabled {
  opacity: .45;
  cursor: not-allowed;
}

.artifact-ann-finish {
  background: var(--success);
  color: #fff;
  position: relative;
}

.artifact-ann-finish:hover {
  background: var(--success);
}

@supports (color: color-mix(in lab, red, red)) {
  .artifact-ann-finish:hover {
    background: color-mix(in oklch, var(--success) 85%, #000);
  }
}

.artifact-ann-finish:hover {
  color: #fff;
}

.artifact-ann-split {
  align-items: center;
  display: flex;
}

.artifact-ann-split .artifact-ann-tool {
  color: inherit;
  background: none;
}

.artifact-ann-split .artifact-ann-tool:hover {
  background: currentColor;
}

@supports (color: color-mix(in lab, red, red)) {
  .artifact-ann-split .artifact-ann-tool:hover {
    background: color-mix(in oklch, currentColor 12%, transparent);
  }
}

.artifact-ann-split.is-active {
  background: var(--primary);
  color: var(--primary-foreground);
}

.artifact-ann-split-chevron {
  width: 24px;
  height: 26px;
  color: inherit;
  border-left: 1px solid var(--border);
  justify-content: center;
  align-items: center;
  display: flex;
}

.artifact-ann-split-chevron:hover {
  background: currentColor;
}

@supports (color: color-mix(in lab, red, red)) {
  .artifact-ann-split-chevron:hover {
    background: color-mix(in oklch, currentColor 14%, transparent);
  }
}

.artifact-ann-split.is-active .artifact-ann-split-chevron {
  border-left-color: var(--primary-foreground);
}

@supports (color: color-mix(in lab, red, red)) {
  .artifact-ann-split.is-active .artifact-ann-split-chevron {
    border-left-color: color-mix(in oklch, var(--primary-foreground) 32%, transparent);
  }
}

.artifact-ann-width-dot {
  background: currentColor;
  border-radius: 50%;
  flex: none;
  display: block;
}

.artifact-ann-tools-hint {
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: right;
  min-width: 0;
  color: var(--muted-foreground);
  flex: auto;
  font-size: 11px;
  overflow: hidden;
}

.artifact-preview-toolbar-btn {
  width: 26px;
  height: 26px;
  color: var(--muted-foreground);
  border-radius: 8px;
  flex: none;
  justify-content: center;
  align-items: center;
  transition: background-color .15s, color .15s;
  display: flex;
  position: relative;
}

.artifact-preview-toolbar-btn:hover {
  background: var(--muted);
  color: var(--foreground);
}

.artifact-preview-toolbar-btn.is-active {
  background: var(--primary);
  color: var(--primary-foreground);
}

.artifact-preview-count {
  color: #fff;
  background: var(--destructive);
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  min-width: 14px;
  height: 14px;
  padding: 0 4px;
  font-size: 9px;
  font-weight: 700;
  line-height: 14px;
  display: inline-flex;
  position: absolute;
  top: -3px;
  right: -3px;
}

.artifact-ann-composer {
  z-index: 60;
  background: var(--popover);
  border: 1px solid var(--border);
  border-radius: 12px;
  flex-direction: column;
  gap: 8px;
  width: min(440px, 100% - 32px);
  padding: 12px;
  display: flex;
  position: absolute;
  bottom: 16px;
  left: 50%;
  transform: translateX(-50%);
  box-shadow: 0 12px 32px #0f121838;
}

.artifact-ann-composer-head {
  align-items: center;
  gap: 8px;
  display: flex;
}

.artifact-ann-kind {
  color: var(--primary);
  background: var(--primary);
  flex: none;
  padding: 1px 6px;
  font-size: 10.5px;
  font-weight: 600;
}

@supports (color: color-mix(in lab, red, red)) {
  .artifact-ann-kind {
    background: color-mix(in oklch, var(--primary) 14%, transparent);
  }
}

.artifact-ann-kind {
  border-radius: 999px;
}

.artifact-ann-target {
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  color: var(--foreground);
  flex: auto;
  font-size: 12px;
  font-weight: 600;
  overflow: hidden;
}

.artifact-ann-input {
  resize: vertical;
  width: 100%;
  font: inherit;
  color: var(--foreground);
  background: var(--background);
  border: 1px solid var(--border);
  border-radius: 8px;
  outline: none;
  padding: 8px 10px;
  font-size: 13px;
  line-height: 1.55;
}

.artifact-ann-input:focus {
  border-color: var(--primary);
}

.artifact-ann-composer-actions {
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  display: flex;
}

.artifact-ann-hint {
  color: var(--muted-foreground);
  font-size: 11px;
}

.artifact-ann-save {
  color: var(--primary-foreground);
  background: var(--primary);
  border-radius: 8px;
  padding: 5px 14px;
  font-size: 12.5px;
  font-weight: 600;
  transition: opacity .15s;
}

.artifact-ann-save:hover:not(:disabled) {
  opacity: .88;
}

.artifact-ann-save:disabled {
  opacity: .45;
  cursor: not-allowed;
}

.artifact-ann-icon {
  width: 24px;
  height: 24px;
  color: var(--muted-foreground);
  border-radius: 6px;
  flex: none;
  justify-content: center;
  align-items: center;
  transition: background-color .15s, color .15s;
  display: flex;
}

.artifact-ann-icon:hover {
  background: var(--muted);
  color: var(--foreground);
}

.artifact-ann-panel {
  background: var(--background);
  flex-direction: column;
  flex: none;
  min-height: 0;
  display: flex;
}

.artifact-ann-resizer {
  cursor: col-resize;
  touch-action: none;
  background: var(--background);
  flex: none;
  width: 9px;
  position: relative;
}

.artifact-ann-resizer:after {
  content: "";
  background: var(--border);
  width: 1px;
  transition: background-color .15s;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 4px;
}

.artifact-ann-resizer:hover:after {
  background: var(--primary);
  width: 2px;
  left: 3.5px;
}

.artifact-ann-panel-head {
  border-bottom: 1px solid var(--border);
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  padding: 10px 10px 8px 14px;
  font-size: 12.5px;
  font-weight: 600;
  display: flex;
}

.artifact-ann-empty {
  color: var(--muted-foreground);
  padding: 14px;
  font-size: 12.5px;
  line-height: 1.6;
}

.artifact-ann-general {
  flex: none;
  padding: 8px 8px 0;
}

.artifact-ann-general-row {
  align-items: center;
  gap: 6px;
  display: flex;
}

.artifact-ann-general-label {
  letter-spacing: .06em;
  color: var(--muted-foreground);
  font-size: 11px;
  font-weight: 600;
}

.artifact-ann-general-actions {
  flex: none;
  align-items: center;
  gap: 2px;
  margin-left: auto;
  display: flex;
}

.artifact-ann-general-add {
  width: 100%;
  height: 32px;
  color: var(--muted-foreground);
  border: 1px dashed var(--border);
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  gap: 6px;
  font-size: 12.5px;
  transition: background-color .15s, color .15s;
  display: flex;
}

.artifact-ann-general-add:hover {
  background: var(--muted);
  color: var(--foreground);
}

.artifact-ann-general-edit {
  border: 1px solid var(--border);
  border-radius: 10px;
  flex-direction: column;
  gap: 6px;
  padding: 8px;
  display: flex;
}

.artifact-ann-verdict {
  border: 1px solid var(--border);
  border-radius: 7px;
  display: flex;
  overflow: hidden;
}

.artifact-ann-verdict > button {
  color: var(--muted-foreground);
  padding: 2px 8px;
  font-size: 11.5px;
}

.artifact-ann-verdict > button + button {
  border-left: 1px solid var(--border);
}

.artifact-ann-verdict > button.is-pass {
  background: var(--success);
  color: #fff;
}

.artifact-ann-verdict > button.is-fail {
  background: var(--destructive);
  color: #fff;
}

.artifact-ann-score {
  width: 58px;
  height: 24px;
  color: var(--foreground);
  background: var(--background);
  border: 1px solid var(--border);
  border-radius: 7px;
  outline: none;
  padding: 0 8px;
  font-size: 12px;
}

.artifact-ann-score:focus {
  border-color: var(--primary);
}

.artifact-ann-chip.is-solid.is-pass {
  background: var(--success);
  color: #fff;
}

.artifact-ann-chip.is-solid.is-fail {
  background: var(--destructive);
  color: #fff;
}

.artifact-ann-chip.is-score {
  color: var(--primary);
  background: var(--primary);
}

@supports (color: color-mix(in lab, red, red)) {
  .artifact-ann-chip.is-score {
    background: color-mix(in oklch, var(--primary) 14%, transparent);
  }
}

.artifact-ann-list {
  flex: auto;
  min-height: 0;
  padding: 8px;
  overflow: auto;
}

.artifact-ann-row {
  list-style: none;
}

.artifact-ann-row + .artifact-ann-row {
  margin-top: 8px;
}

.artifact-ann-card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 10px;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
  padding: 10px;
  display: flex;
}

.artifact-ann-card-head {
  align-items: center;
  gap: 6px;
  display: flex;
}

.artifact-ann-card-title {
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: left;
  min-width: 0;
  color: var(--foreground);
  flex: auto;
  font-size: 12px;
  overflow: hidden;
}

.artifact-ann-card-title:hover {
  color: var(--primary);
}

.artifact-ann-card-text {
  color: var(--foreground);
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font-size: 12.5px;
  line-height: 1.6;
}

.artifact-ann-shot {
  object-fit: cover;
  object-position: top left;
  border: 1px solid var(--border);
  cursor: zoom-in;
  border-radius: 8px;
  width: 100%;
  max-height: 190px;
  display: block;
}

.artifact-ann-shot-btn {
  cursor: zoom-in;
  background: none;
  border: 0;
  border-radius: 8px;
  width: 100%;
  padding: 0;
  display: block;
}

.artifact-ann-shot-btn:focus-visible {
  outline: 2px solid var(--primary);
  outline-offset: 2px;
}

.artifact-shot-viewer {
  z-index: 100;
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
  background: #0a0c10b8;
  justify-content: center;
  align-items: center;
  padding: 24px;
  display: flex;
  position: fixed;
  inset: 0;
}

.artifact-shot-viewer-img {
  object-fit: contain;
  background: #fff;
  border-radius: 10px;
  max-width: min(1200px, 92vw);
  max-height: 88vh;
  box-shadow: 0 18px 48px #00000073;
}

.artifact-shot-viewer-close {
  color: #fff;
  background: #ffffff24;
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  transition: background-color .15s;
  display: flex;
  position: absolute;
  top: 16px;
  right: 16px;
}

.artifact-shot-viewer-close:hover {
  background: #ffffff42;
}

.artifact-ann-shot-mini {
  object-fit: cover;
  object-position: top left;
  border: 1px solid var(--border);
  border-radius: 6px;
  width: 54px;
  height: 36px;
}

.artifact-ann-card-meta {
  color: var(--muted-foreground);
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  font-size: 10.5px;
  display: flex;
}

.artifact-ann-chip {
  color: var(--muted-foreground);
  background: var(--secondary);
  border-radius: 999px;
  flex: none;
  padding: 0 6px;
  font-size: 10px;
  line-height: 16px;
}

.artifact-ann-index {
  width: 20px;
  height: 20px;
  color: var(--primary);
  background: var(--primary);
  flex: none;
  justify-content: center;
  align-items: center;
  font-size: 11px;
  font-weight: 700;
  display: flex;
}

@supports (color: color-mix(in lab, red, red)) {
  .artifact-ann-index {
    background: color-mix(in oklch, var(--primary) 14%, transparent);
  }
}

.artifact-ann-index {
  border-radius: 50%;
}

.artifact-ann-del:hover {
  background: var(--destructive-weak, #dc26261a);
  color: var(--destructive);
}

.artifact-ann-edit {
  flex-direction: column;
  gap: 6px;
  display: flex;
}

.artifact-ann-edit-actions {
  justify-content: flex-end;
  gap: 6px;
  display: flex;
}

.artifact-ann-edit-actions > button {
  color: var(--muted-foreground);
  border-radius: 6px;
  padding: 3px 10px;
  font-size: 12px;
}

.artifact-ann-edit-actions > button:hover {
  background: var(--muted);
  color: var(--foreground);
}

@media (max-width: 480px) {
  .artifact-preview-zoom-value {
    display: none;
  }
}

@media (max-width: 720px) {
  .artifact-preview-body {
    flex-direction: column;
  }

  .artifact-ann-resizer {
    display: none;
  }

  .artifact-ann-panel {
    border-left: 0;
    border-top: 1px solid var(--border);
    max-height: 45%;
    width: auto !important;
  }
}

.notification-root, .notification-button {
  position: relative;
}

.notification-badge {
  background: var(--destructive, #c0392b);
  color: #fff;
  text-align: center;
  pointer-events: none;
  border-radius: 8px;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  font-size: 10px;
  line-height: 16px;
  position: absolute;
  top: 2px;
  right: 2px;
}

.notification-panel {
  background: var(--background, #fff);
  border: 1px solid var(--border, #e2e2e2);
  z-index: 50;
  border-radius: 8px;
  width: 320px;
  max-height: 420px;
  padding: 8px;
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  overflow-y: auto;
  box-shadow: 0 8px 24px #0000001f;
}

.notification-panel-head {
  justify-content: space-between;
  align-items: center;
  padding: 4px 8px 8px;
  font-weight: 600;
  display: flex;
}

.notification-panel-actions {
  gap: 12px;
  font-weight: 400;
  display: flex;
}

.notification-offline {
  color: var(--destructive, #c0392b);
  margin: 0 8px 8px;
  font-size: 12px;
}

.notification-empty {
  padding: 12px 8px;
}

.notification-list {
  flex-direction: column;
  gap: 2px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.notification-item {
  text-align: left;
  cursor: pointer;
  background: none;
  border: none;
  border-radius: 6px;
  flex-direction: column;
  gap: 2px;
  width: 100%;
  padding: 8px;
  display: flex;
}

.notification-item:hover {
  background: var(--muted, #f4f4f4);
}

.notification-item[data-unread] .notification-title {
  font-weight: 600;
}

.notification-item[data-unread] .notification-title:before {
  content: "●";
  color: var(--primary, #2563eb);
  vertical-align: middle;
  margin-right: 6px;
  font-size: 8px;
}

.notification-time {
  font-size: 12px;
}

@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-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

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

@property --tw-tracking {
  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-duration {
  syntax: "*";
  inherits: false
}

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

@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-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
}

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

/*# sourceMappingURL=web_src_app_globals_14b2mgm.css.map*/