  html, body {
      height: 100%;
      margin: 0;
      padding: 0;
      font-family: monospace;
      background-color: #222222;
      color: #eee;
    }

    .line {
      height: 2px;
      width: 100%;
      display: white;
      background: linear-gradient(
        90deg,
        #5F00FF, /* 紫 */
        #FF0000, /* 赤 */
        #FF5F00, /* オレンジ */
        #FFFF00, /* 黄色 */
        #5FFF00, /* 黄緑 */
        #00FF00, /* 緑 */
        #00FFFF, /* 水色 */
        #0000FF, /* 青 */
        #5F00FF, /* 紫 */

        #FF0000,
        #FF5F00,
        #FFFF00,
        #5FFF00,
        #00FF00,
        #00FFFF,
        #0000FF,
        #5F00FF
      );
      background-size: 200% 100%;
      animation: rainbow-scroll 5s linear infinite;
    }

    @keyframes rainbow-scroll {
      0% {
        background-position: 0% 0%;
      }
      100% {
        background-position: 100% 0%;
      }
    }

    .container {
      display: flex;
      flex-direction: column;
      height: 100%;
    }

    .tab-buttons {
      display: flex;
      justify-content: space-evenly;
      background-color: #2b2b2b;
      padding: 10px;
    }

    .tab-buttons button {
      padding: 5px 10px;
      background-color: #444;
      border: none;
      color: white;
      cursor: pointer;
    }

    .tab-buttons button.active {
      background-color: #666;
    }

    .tab-content {
      display: none;
      flex: 1;
      padding: 10px;
      overflow-y: auto;
      box-sizing: border-box;
    }

    .tab-content.active {
      display: block;
    }
    
    input, button { margin: 3px 0; width: 100%; padding: 4px; font-size: 12px; box-sizing: border-box; }
    .result {
      margin-top: 10px;
      white-space: pre;
      background: #2b2b2b;
      padding: 8px;
      border-radius: 5px;
      overflow-y: auto;
      max-height: 300px;
      font-size: 12px;
    }