/*
 * UTAskey テーマ（Misskey クライアントテーマ「UTAskey Light / Dark」と同じ配色）
 *   テーマカラー #E733FF / 文字用 #B01CC8 / 墨 #2A1F31
 *   UTAUの帯: ピンク #FF99FF + ラベンダー #CC99FF
 */

/* ── ライト ───────────────────────────── */
[data-md-color-scheme="utaskey"] {
  --utk-primary: #E733FF;
  --utk-primary-text: #B01CC8;
  --utk-ink: #2A1F31;
  --utk-panel: #FFFFFF;
  --utk-border: #EADFEF;
  --utk-side: #F6F1F8;

  /* ヘッダー */
  --md-primary-fg-color: #B01CC8;
  --md-primary-fg-color--light: #C21FDB;
  --md-primary-fg-color--dark: #8A129E;
  --md-primary-bg-color: #FFFFFF;
  --md-primary-bg-color--light: rgba(255, 255, 255, 0.72);

  --md-accent-fg-color: #8A129E;
  --md-accent-fg-color--transparent: rgba(231, 51, 255, 0.1);
  --md-accent-bg-color: #FFFFFF;

  /* 本文は白 */
  --md-default-bg-color: #FFFFFF;
  --md-default-fg-color: #2A1F31;
  --md-default-fg-color--light: rgba(42, 31, 49, 0.74);
  --md-default-fg-color--lighter: rgba(42, 31, 49, 0.42);
  --md-default-fg-color--lightest: rgba(42, 31, 49, 0.1);

  --md-typeset-color: #2A1F31;
  --md-typeset-a-color: #B01CC8;
  --md-code-bg-color: #F5ECF8;
  --md-code-fg-color: #4A2F57;
  --md-typeset-mark-color: rgba(255, 153, 255, 0.35);
  --md-typeset-table-color: rgba(42, 31, 49, 0.12);

  --md-footer-bg-color: #2A1F31;
  --md-footer-bg-color--dark: #1F1725;
  --md-footer-fg-color: #FFFFFF;
  --md-footer-fg-color--light: rgba(255, 255, 255, 0.72);
  --md-footer-fg-color--lighter: rgba(255, 255, 255, 0.5);
}

/* ── ダーク ───────────────────────────── */
[data-md-color-scheme="utaskey-dark"] {
  color-scheme: dark;
  --utk-primary: #EE66FF;
  --utk-primary-text: #F07BFF;
  --utk-ink: #EDE4F0;
  --utk-panel: #221A29;
  --utk-border: rgba(237, 228, 240, 0.1);
  --utk-side: #17111C;

  --md-primary-fg-color: #3A2442;
  --md-primary-fg-color--light: #452B4F;
  --md-primary-fg-color--dark: #2E1C35;
  --md-primary-bg-color: #EDE4F0;
  --md-primary-bg-color--light: rgba(237, 228, 240, 0.64);

  --md-accent-fg-color: #FFB0FF;
  --md-accent-fg-color--transparent: rgba(238, 102, 255, 0.12);
  --md-accent-bg-color: #17111C;

  --md-default-bg-color: #221A29;
  --md-default-bg-color--light: rgba(34, 26, 41, 0.54);
  --md-default-bg-color--lighter: rgba(34, 26, 41, 0.26);
  --md-default-bg-color--lightest: rgba(34, 26, 41, 0.07);
  --md-default-fg-color: #EDE4F0;
  --md-default-fg-color--light: rgba(237, 228, 240, 0.74);
  --md-default-fg-color--lighter: rgba(237, 228, 240, 0.42);
  --md-default-fg-color--lightest: rgba(237, 228, 240, 0.1);

  --md-typeset-color: #EDE4F0;
  --md-typeset-a-color: #F07BFF;
  --md-code-bg-color: #2B2233;
  --md-code-fg-color: #F3C8FA;
  --md-typeset-mark-color: rgba(238, 102, 255, 0.3);
  --md-typeset-table-color: rgba(237, 228, 240, 0.12);
  --md-shadow-z1: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.3);

  --md-footer-bg-color: #110C15;
  --md-footer-bg-color--dark: #0B080E;
  --md-footer-fg-color: #EDE4F0;
  --md-footer-fg-color--light: rgba(237, 228, 240, 0.72);
  --md-footer-fg-color--lighter: rgba(237, 228, 240, 0.5);
}

/* ── ヘッダー: UTAUの帯を下端に ───────── */
.md-header {
  box-shadow: none;
}
.md-header::after {
  content: "";
  display: block;
  height: 8px;
  background: linear-gradient(
    to bottom,
    #FF99FF 0 2px,
    #CC99FF 2px 6px,
    #FF99FF 6px 8px
  );
}
.md-header__button.md-logo {
  background: #FFFFFF;
  border-radius: 10px;
  padding: 0.2rem 0.3rem;
  margin: 0.2rem 0.4rem;
}
.md-header__button.md-logo img,
.md-header__button.md-logo svg {
  height: 1.4rem;
}
.md-header__title {
  font-weight: 800;
}
.md-source__icon svg {
  width: 1.1rem;
  height: 1.1rem;
}
@media screen and (min-width: 60em) {
  .md-search__form {
    background-color: rgba(255, 255, 255, 0.16);
  }
  .md-search__form:hover {
    background-color: rgba(255, 255, 255, 0.26);
  }
}

/* ── レイアウト: サイドバーに色、本文は白 ─ */
.md-main {
  background-color: var(--utk-side);
}
.md-main__inner {
  margin-top: 0;
}
.md-content {
  background-color: var(--md-default-bg-color);
  border-left: 1px solid var(--utk-border);
  border-right: 1px solid var(--utk-border);
}
.md-content__inner {
  padding-top: 1.2rem;
}
.md-sidebar {
  padding-top: 1.8rem;
}
/* サイドバーの見出し（固定表示部分）もサイドバーと同じ色に */
@media screen and (min-width: 76.25em) {
  .md-nav--primary > .md-nav__title {
    background-color: var(--utk-side);
    box-shadow: none;
  }
}
@media screen and (min-width: 60em) {
  .md-nav--secondary > .md-nav__title {
    background-color: var(--utk-side);
    box-shadow: none;
  }
}
@media screen and (max-width: 76.2344em) {
  .md-content {
    border-left: 0;
  }
}
@media screen and (max-width: 59.9844em) {
  .md-content {
    border-right: 0;
  }
}

/* ── 本文 ─────────────────────────────── */
.md-typeset h1 {
  font-weight: 800;
  color: var(--md-default-fg-color);
}
.md-typeset h2 {
  font-weight: 800;
  padding-bottom: 0.3em;
  border-bottom: 2px solid var(--utk-border);
}
.md-typeset h3 {
  font-weight: 700;
}
.md-typeset a:hover {
  text-decoration: underline;
}
.utk-meta {
  color: var(--md-default-fg-color--light);
  font-size: 0.8rem;
}
.md-typeset table:not([class]) {
  border-radius: 12px;
  overflow: hidden;
}
.md-typeset table:not([class]) th {
  background: var(--md-accent-fg-color--transparent);
}

/* ボタン */
.md-typeset .md-button {
  border-radius: 999px;
  font-weight: 700;
  color: var(--utk-primary-text);
  border-color: var(--utk-primary-text);
  margin: 0.25rem 0.25rem 0.25rem 0;
}
.md-typeset .md-button--primary {
  background: #B01CC8;
  border-color: #B01CC8;
  color: #FFFFFF;
}
[data-md-color-scheme="utaskey-dark"] .md-typeset .md-button--primary {
  background: #EE66FF;
  border-color: #EE66FF;
  color: #1B1420;
}
.md-typeset .md-button:focus,
.md-typeset .md-button:hover {
  background: var(--md-accent-fg-color);
  border-color: var(--md-accent-fg-color);
  color: var(--md-accent-bg-color);
  text-decoration: none;
}

/* カード */
.md-typeset .grid.cards > ul > li,
.md-typeset .grid > .card {
  border-radius: 20px;
  border: 1px solid var(--utk-border);
  background: var(--utk-panel);
}
.md-typeset .grid.cards > ul > li:hover {
  border-color: var(--utk-primary);
  box-shadow: 0 0 0 1px var(--utk-primary);
}
.md-typeset .grid.cards .lg {
  font-size: 1.6em;
  color: var(--utk-primary);
  vertical-align: middle;
  margin-right: 0.2em;
}

/* ── トップ ───────────────────────────── */
.utk-hero {
  margin-bottom: 2rem;
}
.utk-hero__banner {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 24px;
  margin-bottom: 1.2rem;
}
.md-typeset .utk-hero h1 {
  margin: 0 0 0.4em;
  font-size: 2.2em;
}

/* ── 空状態・404 ──────────────────────── */
.utk-empty {
  text-align: center;
  padding: 2rem 1rem;
}
.md-typeset .utk-empty h1,
.md-typeset .utk-empty h2 {
  border: 0;
  margin-top: 0.5em;
}
.utk-empty img {
  max-width: 60%;
  height: auto;
}

/* ── トップ「ご案内」: カード全体をクリック可能に ─ */
/* カード内の見出しリンクをカード全体に広げる */
.md-typeset .grid.cards > ul > li {
  position: relative;
  cursor: pointer;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.md-typeset .grid.cards > ul > li > p:first-child a::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
}
.md-typeset .grid.cards > ul > li:focus-within {
  border-color: var(--utk-primary);
  box-shadow: 0 0 0 2px var(--utk-primary);
}
