/* 全アプリ共通のシェア欄。ここが正本で、各アプリの shared/ へは `npm run shared:sync` が複製する。

   10個のアプリは配色もモードもばらばらなので、色を自分で決めない。
   currentColor から作った半透明だけを使い、置かれたページの色に従わせる。 */

.share {
  margin: 20px 0 0;
  padding-top: 16px;
  border-top: 1px solid rgba(128, 128, 128, 0.28);
  border-top-color: color-mix(in srgb, currentColor 22%, transparent);
  font-size: 0.85rem;
  /* 置かれる場所はアプリごとにばらばらなので、親の癖に引きずられないよう自分で足場を固める。
     Day003は footer が white-space:nowrap の中央寄せ絶対配置で、これが無いと画面からはみ出した */
  box-sizing: border-box;
  max-width: min(100%, 92vw);
  /* 幅が中身で決まる親（Day003の絶対配置フッター）に置かれると、ボタンが1列に縦積みされる。
     最低幅を持たせて、狭い画面でも横に並ぶだけの幅を親から引き出す */
  min-width: min(92vw, 420px);
  white-space: normal;
  text-align: start;
}

.share__label {
  margin: 0 0 10px;
  font-size: 0.85rem;
  font-weight: 600;
  opacity: 0.85;
}

.share__row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.share__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  min-width: 44px;
  padding: 0 16px;
  border-radius: 10px;
  /* 枠は「押せるものの輪郭」なので、地色から3:1以上で見分けられる濃さが要る。
     32%だと地色に対して1.7:1しかなく、面（7%）も1.1:1で、ボタンに見えていなかった。

     どこまで上げるかは11アプリを実測して決めた。いちばん条件が厳しいのはDay007で、
     シェア欄の文字色そのものが地（グラデーション）に対して3.9〜5.1:1しかない。
     ここから作る枠は、90%まで濃くして初めてどの停止点でも3:1を超える（75%だと2.6:1）。
     E2E（tests/e2e/shared-share.spec.mjs）が全アプリぶんこの比を測っているので、
     ここを薄くすると落ちる。 */
  border: 1px solid rgba(128, 128, 128, 0.9);
  border-color: color-mix(in srgb, currentColor 90%, transparent);
  background: rgba(128, 128, 128, 0.1);
  background: color-mix(in srgb, currentColor 10%, transparent);
  color: inherit;
  font: inherit;
  font-size: 0.85rem;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
}

.share__button:hover {
  background: rgba(128, 128, 128, 0.2);
  background: color-mix(in srgb, currentColor 18%, transparent);
}

.share__button:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

/* 通常の枠を濃くしたので、主役は枠の濃さではなく面の濃さで区別する
   （枠だけで差を付けると、90%と100%の違いは目で追えない） */
.share__button--primary {
  border-color: rgba(128, 128, 128, 1);
  border-color: currentColor;
  background: rgba(128, 128, 128, 0.24);
  background: color-mix(in srgb, currentColor 22%, transparent);
  font-weight: 600;
}

/* コピーできた合図。色を持たないので、どのアプリに置いても浮かない */
.share__button[data-done="true"] {
  border-color: currentColor;
}

.share__said {
  display: block;
  min-height: 1.6em;
  margin-top: 8px;
  opacity: 0.85;
}

/* InstagramとYouTubeにWebから渡せないことを書く行。読ませる前提の文なので薄くしない。
   opacity で薄めると、置かれたページの背景と混ざってコントラストが落ちる（例：#545c67 の文字を
   0.7 で薄めると 6.2:1 → 3.2:1 まで落ちてAA未達になる）。ここは親の色をそのまま使い、
   大きさだけで他と区別する。 */
.share__note {
  margin: 4px 0 0;
  line-height: 1.6;
  max-width: 60ch;
}
