@charset "UTF-8";
/* nani CSS Document */

body {
  background: #000;
  color: #fff;
  text-align: center;
  font-family: sans-serif;
  margin: 0;
  padding: 2em 1em;
}

.kanji-road {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  margin-top: 40px;
  overflow-x: auto;    /* Changed */
  overflow-y: hidden;
  max-width: 100%;     /* New */
}

.kanji-img {
  width: 48px;
  height: 48px;
  opacity: 0;
  transform: translateX(200px);
}

.kanji-img.animate {
  animation: slideInLeft 0.6s ease forwards;
}

@keyframes slideInLeft {
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* Toggle text (the line that says "... Tap to see the power of kanji.") */
.expand-toggle {
  display: block;
  margin-top: 1em;
  text-align: left;
  color: #ceaa64;
  font-size: 1em;
  max-width: 400px;
  margin-left: auto;
  margin-right: auto;
  cursor: pointer;
}

.expandable-note {
  color: #ceaa64;
  max-width: 90%;
  margin: 2em auto 0;
  text-align: left;
  font-size: 1.15em;
  line-height: 1.6;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; /* ← match your project */
  font-weight: normal; /* or 400 */
}

.hint-intro {
  color: #7b8b4a;
  font-size: 1.35rem;   /* ~22px if base is 16px */
  font-weight: 500;     /* makes it stand out */
  text-align: center;
  margin: 1.5em 0;
  cursor: pointer;
}

#kanjiReveal {
  display: none;
  justify-content: center;
  gap: 0.5em;
  margin: -1em 0 0 0;
}

.show-kanji #tapHint {
  display: none;
}

.show-kanji #kanjiReveal {
  display: flex;
}

.hint-paragraph {
  color: #ceaa64;
  line-height: 1.6;
}

.hidden-kanji {
  display: none;
  margin-top: 1.2em;
}

.hidden-kanji.show {
  display: flex;
}

.kanji-img2 {
  width: 48px;
  height: 48px;
  opacity: 0;
  transform: translateX(200px);
}

.kanji-img2.animate {
  animation: slideInLeft 0.6s ease forwards;
}

.hint-paragraph {
  font-size: 0.95em;
  color: #ceaa64;
  line-height: 1.5em;
  max-width: 400px;
  margin: 0 auto 1.5em auto;
  text-align: left;
}

.hint-intro.blink {
  animation: blinkFade 1.8s ease-in-out infinite;
}

@keyframes blinkFade {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}

.expand-toggle {
  color: white;
  cursor: pointer;
}

.kanji-img {
  cursor: pointer;
  transition: transform 0.3s ease;
}

.kanji-img:hover {
  transform: scale(1.05);
}

.kanji-road {
  display: flex;
  gap: 20px;
  justify-content: center;
  margin: 20px 0;
}

.hidden {
  display: none !important;
}

    /* minimal page-local helpers (can be moved into your CSS) */
    .read-toggle {
      display:flex; gap:.5rem; justify-content:center; margin:0.75rem 0 1.25rem;
    }
    .read-toggle button {
      padding:.45rem .85rem; border:1px solid #555; border-radius:10px;
      background:#111; color:#fff; cursor:pointer;
    }
    .read-toggle button.active { border-color:#ca952e; box-shadow:0 0 0 1px #ca952e inset; }
    .read-panel { display:none; }
    .read-panel.active { display:block; }
    .big-kanji {
      width:100px; height:100px; display:flex; align-items:center; justify-content:center;
      margin: 0 auto; font-size:72px; background:#000; border:1px solid #555;
      border-radius:12px; color:#fff;
    }
    .examples ul { margin:0; padding-left:1.2em; }
    .examples li { margin:.35rem 0; }

.reading-hero{
  display:grid;
  grid-template-columns: auto min-content auto; /* left tab | kanji | right tab */
  align-items:center;
  justify-content:center;
  gap:.5rem;                  /* tighter than before */
  margin:.25rem 0 0;
}
.read-tab{
  padding:.3rem .7rem;        /* a bit smaller */
  border:1px solid #555;
  border-radius:12px;
  background:#40576f;
  color:#fff;
  cursor:pointer;
  font-size:1.0rem;
  transition:transform .15s, background-color .15s, border-color .15s;
}
.read-tab:hover{ transform:translateY(-1px); }
.read-tab.active{ background:#2f3a1d; border-color:#7b8b4a; }
.read-tab.active.kun{ background:#3a2a12; border-color:#ca952e; }

.big-kanji{ cursor:pointer; } /* show it’s tappable */

.muted{ color:#aaa; }

.read-panel[hidden]{ display:none; }