koan-server 0.52.0

GraphQL, Subsonic REST, and MCP server for koan music player.
Documentation
/*
 * The share page's stylesheet, compiled by Tailwind into assets/share.css (`just css`). The compiled file is committed:
 * the crate embeds it, and building koan must not need the Tailwind CLI.
 *
 * The page carries its look as utilities in share.rs, including the playing row's, which share.js marks. What is
 * here is element defaults.
 */
@import "tailwindcss" source(none);
@source "../src/share.rs";
@source "../assets/share.js";
@import "../../../site/src/theme.css";

@theme {
  /* Narrower than this, the cover stacks above the title. */
  --breakpoint-wide: 561px;
}

@layer base {
  html,
  body {
    @apply overflow-x-hidden;
  }

  /* Touch screens get no hover, so a tap's highlight is the only sign it landed. Preflight removes it. */
  html {
    -webkit-tap-highlight-color: revert;
  }

  body {
    @apply bg-bg text-body text-ink;
    -webkit-text-size-adjust: 100%;
  }

  a {
    @apply text-brand underline;
  }

  p {
    @apply my-[1em];
  }

  h1 {
    @apply my-1 text-title font-extralight wrap-anywhere max-wide:text-title-sm;
  }

  /* A browser default that preflight removes, which the page is drawn with. */
  input[type="range"] {
    margin: revert;
  }

  button {
    @apply cursor-pointer rounded-md border border-rule bg-rule px-3.5 py-2 text-ink disabled:cursor-default disabled:opacity-50;
  }
}