
      #reset-btn {
        background: #333;
        color: #eee;
        border: 1px solid #555;
        border-radius: 6px;
        padding: 4px 12px;
        margin-top: 8px;
        cursor: pointer;
      }
      #reset-btn:hover {
        background: #555;
      }

      #progress {
        text-align: center;
        margin-top: 16px;
        color: #aaa;
      }
      #progress-bar-bg {
        width: 80%;
        height: 10px;
        background: #333;
        margin: 8px auto;
        border-radius: 5px;
        overflow: hidden;
      }
      #progress-bar {
        width: 0%;
        height: 100%;
        background: linear-gradient(90deg, #3f8cff, #0ff);
        transition: width 0.4s ease;
      }
      td.locked {
        background: #2a2a2a;
        color: #777;
        pointer-events: none;
      }

      .wk-desc {
        color: #aaa;
        text-align: center;
        line-height: 1.8;
      }
      
      #grid {
        overflow-x: auto;
      }

      #grid table {
        border-collapse: collapse;
        margin: 20px auto;
        table-layout: fixed; /* ✅ 均等配置に */
        width: auto;
        min-width: 800px; /* ✅ 最低幅を確保して潰れないように */
      }

      #grid th, #grid td {
        border: 1px solid #555;
        padding: 4px;
        width: 44px; /* ✅ 広めに */
        height: 36px;
        text-align: center;
        vertical-align: middle;
        user-select: none;
      }

      #grid th {
        background: #222;
        color: #ccc;
        font-weight: normal;
        white-space: nowrap;
      }

      #grid td:hover {
        background: #333;
        cursor: pointer; /* ✅ これを追加 */
      }

      #grid td.locked:hover {
        cursor: default;
        background: #2a2a2a; 
      }

      .popup {
        position: absolute; /* ✅ fixed から absolute に変更 */
        background: #222;
        border: 1px solid #555;
        padding: 6px 8px;
        border-radius: 8px;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 4px;
        z-index: 1000;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.5);
      }

      .popup-header {
        color: #ccc;
        font-size: 13px;
        margin-bottom: 4px;
        text-align: center;
        white-space: nowrap;
      }

      .popup-buttons {
        display: flex;
        gap: 6px;
      }

      .popup button {
        background: #333;
        border: none;
        color: #eee;
        font-size: 14px;
        padding: 3px 6px;
        border-radius: 4px;
        cursor: pointer;
      }
      .popup button[data-v="2"] {
        color: #ff4a4a;
        font-weight: bold;
        text-shadow: 0 0 4px #ff8080;
      }
      .popup button[data-v="0.5"] {
        color: #ffcc33;
        text-shadow: 0 0 3px #ffee88;
      }
      .popup button[data-v="0"] {
        color: #777;
      }

      .popup button:hover {
        background: #555;
      }

      /* 表側の倍率マークの色づけ */
      .mult-2 {
        color: #ff4a4a;
        font-weight: bold;
        text-shadow: 0 0 4px #ff8080;
      }
      .mult-05 {
        color: #ffcc33;
        text-shadow: 0 0 3px #ffee88;
      }
      .mult-0 {
        color: #777;
      }
