
  .icon.svelte-dcais2 {
    display: inline-block;
    flex: none;
    width: var(--icon-size);
    height: var(--icon-size);
    background-color: currentColor;
    -webkit-mask: var(--icon-url) center / contain no-repeat;
    mask: var(--icon-url) center / contain no-repeat;
  }

  @media (prefers-reduced-motion: no-preference) {
    .icon.svelte-dcais2 {
      transition: background-color var(--motion-fast) ease;
    }
  }


  img.svelte-1ma2twc {
    display: block;
    border-radius: var(--radius-sm);
  }

  .card.svelte-1ma2twc {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
  }

  .thumb.svelte-1ma2twc {
    width: 3.5rem;
    height: 3.5rem;
    object-fit: cover;
    flex: none;
  }

  .full.svelte-1ma2twc {
    max-width: 100%;
    max-height: 60vh;
  }


  article.svelte-1u6v4fb {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    align-items: center;
    padding: var(--space-lg);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-surface-raised);
    box-shadow: var(--shadow-md);
  }

  a.svelte-1u6v4fb {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    align-items: center;
    width: 100%;
    color: inherit;
    text-decoration: none;
  }

  a.svelte-1u6v4fb:hover h2:where(.svelte-1u6v4fb),
  a.svelte-1u6v4fb:focus-visible h2:where(.svelte-1u6v4fb) {
    text-decoration: underline;
  }

  h2.svelte-1u6v4fb {
    margin: 0;
    font-size: var(--text-lg);
    font-weight: 600;
    text-transform: capitalize;
    text-align: center;
  }

  .row.svelte-1u6v4fb {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-md);
    padding: var(--space-sm) var(--space-md);
  }

  .row.svelte-1u6v4fb a:where(.svelte-1u6v4fb) {
    flex: 1 1 auto;
    flex-direction: row;
    align-items: center;
    gap: var(--space-md);
    width: auto;
    min-width: 0;
  }

  .row.svelte-1u6v4fb h2:where(.svelte-1u6v4fb) {
    font-size: var(--text-base);
    text-align: left;
    overflow-wrap: anywhere;
  }

  .image.svelte-1u6v4fb {
    position: relative;
    width: 100%;
  }

  .image.svelte-1u6v4fb .badge:where(.svelte-1u6v4fb) {
    position: absolute;
    top: var(--space-sm);
    right: var(--space-sm);
    box-shadow: var(--shadow-sm);
  }

  .treatment.svelte-1u6v4fb {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
  }

  article.svelte-1u6v4fb:not(.row) .treatment:where(.svelte-1u6v4fb) {
    margin-top: auto;
  }

  button.svelte-1u6v4fb {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    padding: 0;
    cursor: pointer;
  }

  button.svelte-1u6v4fb:disabled {
    cursor: default;
  }

  .badge.svelte-1u6v4fb {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.75rem;
    padding: var(--space-2xs) var(--space-sm);
    border-radius: var(--radius-pill);
    background: var(--color-badge-bg);
    color: var(--color-badge-text);
    font-size: var(--text-sm);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
  }

  .badge.pending.svelte-1u6v4fb {
    opacity: 0.6;
  }

  .error.svelte-1u6v4fb {
    margin: 0;
    color: var(--color-error);
    font-size: var(--text-sm);
    text-align: center;
  }

  .row.svelte-1u6v4fb .error:where(.svelte-1u6v4fb) {
    flex: 1 0 100%;
    text-align: left;
  }


  form.svelte-3t1qhe {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    width: min(20rem, 80vw);
  }

  label.svelte-3t1qhe {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    font-size: var(--text-sm);
  }

  input.svelte-3t1qhe,
  button.svelte-3t1qhe {
    padding: var(--space-sm);
    font-size: var(--text-base);
  }

  .error.svelte-3t1qhe {
    color: var(--color-error);
    font-size: var(--text-base);
  }


  form.svelte-ctqmqn {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    width: min(20rem, 80vw);
  }

  label.svelte-ctqmqn {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    font-size: var(--text-sm);
  }

  input.svelte-ctqmqn,
  button.svelte-ctqmqn {
    padding: var(--space-sm);
    font-size: var(--text-base);
  }

  .error.svelte-ctqmqn {
    color: var(--color-error);
    font-size: var(--text-base);
  }

  .success.svelte-ctqmqn {
    color: var(--color-success);
    font-size: var(--text-base);
  }


  nav.svelte-1b9lxnl {
    position: sticky;
    top: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-lg);
    padding: var(--space-md) var(--space-xl);
    border-bottom: 1px solid var(--color-border);
    background: var(--color-surface);
  }

  .actions.svelte-1b9lxnl {
    display: flex;
    gap: var(--space-md);
  }

  .brand.svelte-1b9lxnl {
    color: inherit;
    font-size: var(--text-lg);
    font-weight: 600;
    letter-spacing: 0.02em;
    text-decoration: none;
  }

  .brand.svelte-1b9lxnl:hover {
    text-decoration: underline;
  }

  .actions.svelte-1b9lxnl a:where(.svelte-1b9lxnl),
  .actions.svelte-1b9lxnl button:where(.svelte-1b9lxnl) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    padding: var(--space-sm) var(--space-lg);
    border: 1px solid var(--color-border-strong);
    border-radius: var(--radius-sm);
    background: var(--color-bg);
    color: inherit;
    font-size: var(--text-sm);
    text-decoration: none;
    cursor: pointer;
  }

  .actions.svelte-1b9lxnl a:where(.svelte-1b9lxnl):hover,
  .actions.svelte-1b9lxnl button:where(.svelte-1b9lxnl):hover {
    border-color: var(--color-border-hover);
  }

  .actions.svelte-1b9lxnl [aria-current="page"]:where(.svelte-1b9lxnl) {
    border-color: var(--color-accent);
    background: var(--color-accent);
    color: var(--color-on-accent);
  }

  .burger.svelte-1b9lxnl {
    display: none;
    padding: var(--space-sm);
    line-height: 0;
  }

  @media (max-width: 34rem) {
    .burger.svelte-1b9lxnl {
      display: inline-flex;
    }

    .actions.collapsible.svelte-1b9lxnl {
      position: absolute;
      top: 100%;
      right: 0;
      left: 0;
      flex-direction: column;
      padding: var(--space-md) var(--space-xl);
      border-bottom: 1px solid var(--color-border);
      background: var(--color-surface);
    }

    .actions.collapsible.svelte-1b9lxnl:not(.open) {
      display: none;
    }

    .actions.collapsible.svelte-1b9lxnl a:where(.svelte-1b9lxnl),
    .actions.collapsible.svelte-1b9lxnl button:where(.svelte-1b9lxnl) {
      width: 100%;
    }
  }


  dialog.svelte-1oke48 {
    padding: var(--space-xl);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-surface);
    color: var(--color-text);
    font-family: inherit;
  }

  dialog.svelte-1oke48::backdrop {
    background: rgba(0, 0, 0, 0.6);
  }

  header.svelte-1oke48 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-2xl);
    margin-bottom: var(--space-lg);
  }

  h2.svelte-1oke48 {
    margin: 0;
    font-size: var(--text-lg);
    font-weight: 600;
  }

  button.svelte-1oke48 {
    padding: 0 var(--space-xs);
    border: none;
    background: none;
    color: inherit;
    font-size: var(--text-xl);
    line-height: 1;
    cursor: pointer;
  }


  section.svelte-q1v8ov {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    min-width: 0;
  }

  h2.svelte-q1v8ov {
    margin: 0;
    font-size: var(--text-lg);
    font-weight: 600;
  }

  .range.svelte-q1v8ov {
    margin: 0;
    font-size: var(--text-xs);
    opacity: 0.8;
  }

  .empty.svelte-q1v8ov {
    margin: 0;
    font-size: var(--text-sm);
  }

  .scroll.svelte-q1v8ov {
    overflow-x: auto;
  }

  table.svelte-q1v8ov {
    border-collapse: separate;
    border-spacing: var(--space-2xs);
  }

  th.svelte-q1v8ov {
    font-size: var(--text-xs);
    font-weight: 600;
    text-align: center;
  }

  td.svelte-q1v8ov {
    width: 2.25rem;
    height: 2.25rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    font-size: var(--text-sm);
    font-variant-numeric: tabular-nums;
    text-align: center;
  }

  .legend.svelte-q1v8ov {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    margin-top: var(--space-xs);
    font-size: var(--text-xs);
  }

  .swatches.svelte-q1v8ov {
    display: flex;
    gap: var(--space-2xs);
  }

  .swatch.svelte-q1v8ov {
    width: 1rem;
    height: 1rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
  }

  .visually-hidden.svelte-q1v8ov {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }

  @media (max-width: 30rem) {
    td.svelte-q1v8ov {
      width: 1.5rem;
      height: 1.5rem;
      font-size: 0;
    }
  }


  article.svelte-111c544 {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-lg);
    width: min(64rem, 96vw);
  }

  .detail.svelte-111c544 {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: center;
    gap: var(--space-xl);
    width: 100%;
  }

  a.svelte-111c544 {
    align-self: flex-start;
    color: inherit;
    font-size: var(--text-sm);
  }

  h1.svelte-111c544 {
    margin: 0;
    font-size: var(--text-2xl);
    font-weight: 600;
    text-transform: capitalize;
  }

  .media.svelte-111c544 {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-sm);
    flex: 0 1 auto;
    max-width: min(100%, 28rem);
  }

  .image.svelte-111c544 {
    position: relative;
    max-width: 100%;
  }

  .history.svelte-111c544 {
    flex: 1 1 30rem;
    min-width: 0;
  }

  .edit.svelte-111c544 {
    position: absolute;
    bottom: var(--space-md);
    left: var(--space-md);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    padding: 0;
    border: 1px solid var(--color-border-strong);
    border-radius: var(--radius-pill);
    background: var(--color-surface);
    color: var(--color-text);
    box-shadow: var(--shadow-sm);
    cursor: pointer;
  }

  .edit.svelte-111c544:hover:not(:disabled) {
    border-color: var(--color-border-hover);
  }

  .edit.svelte-111c544:disabled {
    cursor: default;
    opacity: 0.6;
  }

  .status.svelte-111c544 {
    margin: 0;
    font-size: var(--text-sm);
  }

  .error.svelte-111c544 {
    margin: 0;
    color: var(--color-error);
    font-size: var(--text-sm);
  }


  section.svelte-zibg56 {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    width: 100%;
    padding: var(--space-lg);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-surface-raised);
    box-shadow: var(--shadow-md);
  }

  h2.svelte-zibg56 {
    margin: 0;
    font-size: var(--text-lg);
    font-weight: 600;
  }

  .empty.svelte-zibg56 {
    margin: 0;
    font-size: var(--text-sm);
  }

  .chart.svelte-zibg56 {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: var(--space-2xl);
  }

  svg.svelte-zibg56 {
    width: min(22rem, 72vw);
    height: auto;
    flex: none;
  }

  table.svelte-zibg56 {
    border-collapse: collapse;
    font-size: var(--text-sm);
  }

  th.svelte-zibg56,
  td.svelte-zibg56 {
    padding: var(--space-xs) var(--space-md) var(--space-xs) 0;
    text-align: left;
  }

  th.svelte-zibg56 {
    font-size: var(--text-xs);
    font-weight: 600;
    opacity: 0.8;
    border-bottom: 1px solid var(--color-border);
  }

  .numeric.svelte-zibg56 {
    text-align: right;
    font-variant-numeric: tabular-nums;
  }

  .label.svelte-zibg56 {
    text-transform: capitalize;
  }

  tfoot.svelte-zibg56 td:where(.svelte-zibg56) {
    border-top: 1px solid var(--color-border);
    font-weight: 600;
  }

  .swatch.svelte-zibg56 {
    display: block;
    width: 0.75rem;
    height: 0.75rem;
    border-radius: var(--radius-sm);
  }

  .visually-hidden.svelte-zibg56 {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }


  .toggle.svelte-l4qga6 {
    display: flex;
    gap: var(--space-xs);
    padding: var(--space-xs);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-surface);
  }

  button.svelte-l4qga6 {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    padding: 0;
    border: 1px solid transparent;
    border-radius: var(--radius-sm);
    background: none;
    color: inherit;
    cursor: pointer;
    opacity: 0.7;
  }

  button.svelte-l4qga6:hover {
    border-color: var(--color-border-hover);
    opacity: 1;
  }

  button.selected.svelte-l4qga6 {
    border-color: var(--color-accent);
    background: var(--color-accent);
    color: var(--color-on-accent);
    opacity: 1;
  }


  form.svelte-qkx79a {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    width: min(32rem, 90vw);
  }

  label.svelte-qkx79a {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    font-size: var(--text-sm);
  }

  fieldset.svelte-qkx79a {
    display: flex;
    gap: var(--space-lg);
    margin: 0;
    padding: var(--space-sm) var(--space-md);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
  }

  legend.svelte-qkx79a {
    padding: 0 var(--space-xs);
    font-size: var(--text-sm);
  }

  .choice.svelte-qkx79a {
    flex-direction: row;
    align-items: center;
    gap: var(--space-sm);
    font-size: var(--text-sm);
  }

  input.svelte-qkx79a,
  textarea.svelte-qkx79a,
  button.svelte-qkx79a {
    padding: var(--space-sm);
    font-size: var(--text-base);
    font-family: inherit;
  }

  textarea.svelte-qkx79a {
    resize: vertical;
  }

  .error.svelte-qkx79a {
    color: var(--color-error);
    font-size: var(--text-base);
  }

  .success.svelte-qkx79a {
    color: var(--color-success);
    font-size: var(--text-base);
  }


  span.svelte-1s5197d {
    display: inline-flex;
  }

  .bug.svelte-1s5197d {
    color: var(--color-error);
  }

  .feature.svelte-1s5197d {
    color: var(--color-success);
  }


  ul.svelte-10ighag {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  li.svelte-10ighag {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    padding: var(--space-md);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    background: var(--color-surface);
  }

  .title.svelte-10ighag {
    font-size: var(--text-sm);
  }

  .solved.svelte-10ighag .title:where(.svelte-10ighag) {
    text-decoration: line-through;
    opacity: 0.7;
  }

  .tick.svelte-10ighag {
    display: inline-flex;
    margin-left: auto;
    color: var(--color-success);
  }


  article.svelte-1s3yiqm {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-lg);
    width: min(48rem, 96vw);
  }

  a.svelte-1s3yiqm {
    align-self: flex-start;
    color: inherit;
    font-size: var(--text-sm);
  }

  h1.svelte-1s3yiqm {
    margin: 0;
    font-size: var(--text-2xl);
    font-weight: 600;
  }

  .lead.svelte-1s3yiqm {
    margin: 0;
    font-size: var(--text-base);
  }

  section.svelte-1s3yiqm {
    display: flex;
    justify-content: center;
    width: min(32rem, 90vw);
  }

  .status.svelte-1s3yiqm {
    margin: 0;
    font-size: var(--text-sm);
  }

  .error.svelte-1s3yiqm {
    margin: 0;
    color: var(--color-error);
    font-size: var(--text-sm);
  }

  .notice.svelte-1s3yiqm {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-md);
  }


  main.svelte-1n46o8q {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-xl);
    padding: var(--space-2xl) var(--space-lg);
  }

  p.svelte-1n46o8q {
    font-size: var(--text-base);
  }

  .error.svelte-1n46o8q {
    color: var(--color-error);
    font-size: var(--text-base);
  }

  .notice.svelte-1n46o8q {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-md);
  }

  .notice.svelte-1n46o8q p:where(.svelte-1n46o8q) {
    margin: 0;
  }

  a.svelte-1n46o8q {
    color: inherit;
  }

  .controls.svelte-1n46o8q {
    display: flex;
    justify-content: flex-end;
    width: min(72rem, 96vw);
  }

  .species.svelte-1n46o8q {
    display: grid;
    grid-template-columns: repeat(
      auto-fill,
      minmax(clamp(10rem, 22vw, 16rem), 1fr)
    );
    gap: var(--space-xl);
    width: min(72rem, 96vw);
  }

  .species.list.svelte-1n46o8q {
    grid-template-columns: 1fr;
    gap: var(--space-sm);
    width: min(48rem, 96vw);
  }

  .stats.svelte-1n46o8q {
    display: flex;
    width: min(48rem, 96vw);
  }

