/* =================================================
   Reveal.js Osaka Univ Branding
   スカイブルー #0077C8 / イエロー #FDD000 / ブラック #000000
================================================= */

/* Logo foot */
.logofoot {
  position: fixed;
  right: 0;
  bottom: 0;
}

.reveal .slide-logo {
  height: 48px !important;
  max-height: 48px !important;
  max-width: unset !important;
}

/* Inline code */
.reveal p code, .reveal p kbd, .reveal ul code {
  background: rgba(0, 119, 200, 0.1); /* スカイブルー薄め */
  font-size: 0.9em;
  padding: 4px 8px;
  border-radius: 4px;
  color: #0077C8; /* スカイブルー */
}

/* Code blocks */
.reveal pre {
  background: rgba(0, 0, 0, 0.04);
  border-left: 4px solid #0077C8;
  padding: .8em 1em;
  border-radius: 8px;
}
.reveal pre.sourceCode code {
  background: none;
}
.reveal div.sourceCode {
  border: none;
}
.reveal .code-wrapper, pre, pre code {
  white-space: pre-wrap !important;
}

/* Links */
.slides a { color: #0077C8; }
.slides a:hover {
  color: #FDD000;
  text-decoration: underline;
}

/* Menubar */
.menubar {
  font-size: 1em;
  transition: transform 0.8s cubic-bezier(0.26, 0.86, 0.44, 0.985);
  color: #0077C8; /* スカイブルー */
  background: rgba(255,255,255,0.9);
  border-bottom: 2px solid #FDD000; /* イエローでアクセント */
  padding-right: 2em;
  z-index: 2;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.menubar a.logo img {
  max-height: 40px;
}
.menubar > ul {
  display: flex;
  flex-direction: row;
  gap: 1.2em;
  list-style: none;
  margin: 0 auto;
  padding: 0;
}
.menubar > ul li a {
  color: #0077C8;
  font-weight: 600;
  opacity: 0.7;
}
.menubar > ul li.active a {
  opacity: 1;
  border-bottom: 3px solid #FDD000;
}
.menubar > ul a:hover {
  opacity: 1;
  color: #FDD000;
}

/* Slide numbers */
.reveal .slide-number, .menubar .slide-number {
  background: none;
  color: #000;
  font-weight: 500;
}
.reveal .slide-number a, .menubar .slide-number a {
  color: #0077C8;
  opacity: 0.5;
}
.reveal .slide-number a:hover, .menubar .slide-number a:hover {
  opacity: 1;
  color: #FDD000;
}
.slide-number-a, .slide-number-b, .slide-number-delimiter {
  font-size: 1.2em;
}

/* Quartoのlistingテーブルをスマホで横スクロール可能にする */
.quarto-listing-table {
  display: block;              /* ブロック化して横スク有効に */
  overflow-x: auto;            /* 横方向のみスクロール */
  -webkit-overflow-scrolling: touch; /* iOSでスムーズスクロール */
  width: 100%;
  margin-bottom: 1rem;
}

/* テーブルに最小幅を持たせ、狭い画面ではスクロールに逃す */
.quarto-listing-table table {
  width: 100%;
  min-width: 480px;            /* 欄が詰まりすぎない程度に調整 */
  border-collapse: collapse;
}