
    #romaji-toggle-btn {
      margin-right: auto;
      padding: 0.25em 0.7em;
      background: #fff;
      color: #b82343;
      border: 1.5px solid #b82343;
      border-radius: 3px;
      font-family: "Noto Sans JP", sans-serif;
      font-size: 0.6em;
      font-weight: 700;
      line-height: 2;
      cursor: pointer;
      letter-spacing: 0.03em;
      white-space: nowrap;
      transition: background 0.15s, color 0.15s;
      -webkit-tap-highlight-color: transparent;
    }
    #romaji-toggle-btn:hover {
      background: #b82343;
      color: #fff;
    }
    /* ローマ字表示中は歌本文を横書きに切り替え */
    body.romaji-mode #clear-poem-text {
      writing-mode: horizontal-tb;
      letter-spacing: normal;
    }
    .daruma-nav-row {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      max-width: 640px;
      margin: 0 auto;
    }
    .daruma-svg-wrap {
      flex: 1;
      min-width: 0;
      max-width: 560px;
    }
    #game-svg {
      width: 100%;
      height: auto;
      display: block;
      touch-action: none;
    }
    /* SVG要素のCSS transform 設定 */
    .block-group {
      transform-box: fill-box;
      transform-origin: center bottom;
      cursor: pointer;
    }
    #cat-group {
      transform-box: fill-box;
      transform-origin: center bottom;
    }
    .game-instr {
      font-family: 'Noto Serif JP', serif;
      font-size: 0.9rem;
      color: #555;
      text-align: left;
      margin: 0;
      margin-bottom: 0 !important;
    }
    #daruma-neko-area {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      max-width: 560px;
      margin: 6px auto 0;
    }
    #daruma-neko-char-wrap {
      flex-shrink: 0;
      width: 64px;
    }
    #daruma-neko-img {
      width: 64px;
      display: block;
      border-radius: 8px;
    }
    @media (min-width: 480px) {
      #daruma-neko-char-wrap { width: 80px; }
      #daruma-neko-img { width: 80px; }
    }
    #daruma-neko-balloon {
      position: relative;
      flex: 1;
      background: #fffef5;
      border: 2px solid #e0c060;
      border-radius: 14px;
      padding: 10px 14px;
      min-height: 1.6em;
      display: flex;
      align-items: center;
    }
    #daruma-neko-balloon::before {
      content: "";
      position: absolute;
      left: -13px;
      top: 24px;
      border: 7px solid transparent;
      border-right-color: #e0c060;
    }
    #daruma-neko-balloon::after {
      content: "";
      position: absolute;
      left: -9px;
      top: 26px;
      border: 5px solid transparent;
      border-right-color: #fffef5;
    }
    .h1-badge {
      display: flex;
      align-items: center;
      justify-content: flex-start;
    }
    #poet-img {
      height: 2.5em;
      width: 2.5em;
      margin-right: 8px;
      border-radius: 50%;
    }
    .daruma-nav-btn {
      flex-shrink: 0;
      width: 28px;
      height: 56px;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      color: #fff;
      font-size: 1.2rem;
      font-weight: bold;
      background: #b82343;
      border-radius: 6px;
      transition: background 0.15s;
      -webkit-tap-highlight-color: transparent;
      user-select: none;
    }
    .daruma-nav-btn img {
      width: 14px;
      height: 14px;
      display: block;
    }
    .daruma-nav-btn:hover { background: #8a1a30; }
    #daruma-btn-wrap {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 12px;
      flex-wrap: wrap;
      margin: 14px 0 20px;
    }
    #daruma-detail-btn {
      display: inline-block;
      padding: 9px 20px;
      background: #b82343;
      color: #fff;
      font-family: 'Noto Serif JP', serif;
      font-size: 0.95rem;
      font-weight: 700;
      border-radius: 8px;
      text-decoration: none;
      letter-spacing: 0.05em;
      -webkit-tap-highlight-color: transparent;
      transition: background 0.15s;
    }
    #daruma-detail-btn:hover, #daruma-detail-btn:active { background: #8a1a30; }
    .daruma-next-btn {
      display: inline-block;
      width: fit-content;
      margin: 0;
      padding: 9px 20px;
      font-family: 'Noto Serif JP', serif;
      font-size: 0.95rem;
      font-weight: 700;
      background: #b82343;
      color: #fff;
      border: none;
      border-radius: 8px;
      cursor: pointer;
      letter-spacing: 0.05em;
      -webkit-tap-highlight-color: transparent;
    }
    .daruma-next-btn:hover, .daruma-next-btn:active { background: #8a1a30; }
    .hidden { display: none !important; }

    /* ── クリア後：歌縦書き＋意味吹き出し ── */
    #poem-clear-panel {
      position: absolute;
      inset: 0;
      display: none;
      pointer-events: none;
    }
    #clear-poem-text {
      position: absolute;
      top: 4%;
      left: 50%;
      transform: translateX(-50%);
      writing-mode: vertical-rl;
      font-family: 'Noto Serif JP', serif;
      font-size: clamp(17px, 4.2vw, 23px);
      font-weight: 700;
      color: #2a1200;
      letter-spacing: 0.18em;
      line-height: 2.2;
      max-height: 60%;
      opacity: 0;
      transition: opacity 0.7s ease;
    }
    #clear-poet-name {
      display: none;
      position: absolute;
      writing-mode: vertical-rl;
      font-family: 'Noto Serif JP', serif;
      font-size: clamp(10px, 2.4vw, 13px);
      font-weight: 400;
      color: #2a1200;
      letter-spacing: 0.15em;
      white-space: nowrap;
      opacity: 0;
      transition: opacity 0.7s ease;
    }
    #clear-meaning-text {
      display: none;
      max-width: 560px;
      margin: 0 auto;
      padding: 2em 16px 4px;
      font-family: 'Noto Serif JP', serif;
      color: #2a1200;
      line-height: 1.8;
      opacity: 0;
      transition: opacity 0.7s ease 0.3s;
    }
    #clear-meaning-text h3.meaning-title {
      font-size: clamp(13px, 3vw, 17px);
      font-weight: 700;
      letter-spacing: 0.1em;
      margin: 0 0 5px 0;
    }
    #clear-meaning-text .meaning-body {
      display: block;
      font-family: 'Noto Sans JP', sans-serif;
      font-size: clamp(12px, 2.8vw, 15px);
      font-weight: 400;
      letter-spacing: 0.05em;
    }
    #clear-commentary-text {
      display: none;
      max-width: 560px;
      margin: 2em auto 0;
      padding: 0 16px 4px;
      font-family: 'Noto Serif JP', serif;
      color: #2a1200;
      line-height: 1.8;
      opacity: 0;
      transition: opacity 0.7s ease 0.3s;
    }
    #clear-commentary-text h3.commentary-title {
      font-size: clamp(13px, 3vw, 17px);
      font-weight: 700;
      letter-spacing: 0.1em;
      margin: 0 0 5px 0;
    }
    #clear-commentary-text .commentary-body {
      display: block;
      font-family: 'Noto Sans JP', sans-serif;
      font-size: clamp(12px, 2.8vw, 15px);
      font-weight: 400;
      letter-spacing: 0.05em;
      margin: 0 0 0.8em 0;
    }
    #clear-commentary-text .commentary-body:last-child {
      margin-bottom: 0;
    }
    @media (max-width: 600px) {
      #clear-poem-text { font-size: 1.43rem; }
      #clear-meaning-text h3.meaning-title { font-size: 1.1rem; }
      #clear-meaning-text .meaning-body { font-size: 1.1rem; }
      #clear-commentary-text h3.commentary-title { font-size: 1.1rem; }
      #clear-commentary-text .commentary-body { font-size: 1.1rem; }
    }
