/* 看病バトン site. Colours from KanbyoBaton/DesignSystem/Theme.swift. System fonts only. */
:root {
  color-scheme: light dark;
  --paper: #FFF7F1;
  --surface: #FFFFFF;
  --ink: #2A2230;
  --ink2: #6E6068;
  --line: #F3E9E3;
  --coral: #CC5236;
  --coral-soft: #FBE4DA;
  --coral-ink: #9E3A22;
}
@media (prefers-color-scheme: dark) {
  :root {
    --paper: #151827;
    --surface: #202439;
    --ink: #F3EEF0;
    --ink2: #B4AABD;
    --line: #2B3049;
    --coral: #FF9A80;
    --coral-soft: #2B3049;
    --coral-ink: #FF9A80;
  }
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Maru Gothic ProN", "Hiragino Sans", "Helvetica Neue", "Yu Gothic", Meiryo, sans-serif;
  font-size: 17px;
  line-height: 1.8;
}
a { color: var(--coral-ink); text-underline-offset: 3px; }
.skip { position: absolute; inset-inline-start: -9999px; }
.skip:focus { inset-inline-start: 16px; top: 8px; background: var(--surface); padding: 4px 8px; }
.top, main, .foot { max-width: 760px; margin: 0 auto; padding-inline: 16px; }
.top {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: 8px 16px; padding-block: 16px;
}
.brand { display: flex; align-items: center; gap: 10px; color: var(--ink); text-decoration: none; font-weight: 700; font-size: 18px; }
.brand img { width: 36px; height: 36px; border-radius: 9px; }
.nav { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: 15px; }
.nav a { text-decoration: none; }
.nav a[aria-current="page"] { color: var(--ink); font-weight: 700; }
main {
  background: var(--surface);
  border-radius: 24px;
  padding: 28px 20px 32px;
  margin-bottom: 24px;
}
@media (min-width: 640px) { main { padding: 36px 40px 40px; } }
h1 { font-size: 26px; line-height: 1.4; margin: 0 0 8px; }
h2 { font-size: 20px; line-height: 1.5; margin: 32px 0 8px; padding-top: 16px; border-top: 1px solid var(--line); }
h3 { font-size: 17px; margin: 24px 0 4px; }
p, ul, ol { margin: 0 0 12px; }
ul, ol { padding-inline-start: 1.4em; }
li { margin-bottom: 6px; }
.date { color: var(--ink2); font-size: 15px; }
.lead { background: var(--coral-soft); border-radius: 18px; padding: 16px 20px; margin: 20px 0; }
.lead ul { margin: 0; }
.cards { display: grid; gap: 12px; margin: 20px 0 0; padding: 0; list-style: none; }
.cards a {
  display: block; padding: 16px 20px; border-radius: 18px; background: var(--coral-soft);
  color: var(--ink); text-decoration: none; font-weight: 700;
}
.cards span { display: block; font-weight: 400; color: var(--ink2); font-size: 15px; }
.hero { text-align: center; }
.hero img { width: 96px; height: 96px; border-radius: 22px; }
.foot { color: var(--ink2); font-size: 14px; padding-bottom: 32px; }
