    body {
      font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      margin: 0;
      padding: 0;
      background: #f5f5f5;
    }
    header {
      background: #333;
      color: #fff;
      padding: 12px 20px;
    }
    main {
      display: flex;
      gap: 16px;
      padding: 16px;
    }
    .panel {
      background: #fff;
      border-radius: 8px;
      padding: 16px;
      box-shadow: 0 2px 4px rgba(0,0,0,0.08);
    }
    .panel-left {
      flex: 1.2;
      max-width: 900px;
    }
    .panel-right {
      flex: 0.8;
      min-width: 360px;
    }
    h1 {
      font-size: 18px;
      margin: 0;
    }
    h2 {
      font-size: 16px;
      margin-top: 0;
    }
    .field-group {
      margin-bottom: 12px;
      padding-bottom: 10px;
      border-bottom: 1px solid #eee;
    }
    .field-group-title {
      font-weight: bold;
      margin-bottom: 4px;
      font-size: 13px;
      color: #333;
    }
    label {
      display: block;
      font-size: 12px;
      margin: 2px 0;
    }
    input[type="text"],
    input[type="number"],
    textarea {
      width: 100%;
      box-sizing: border-box;
      padding: 6px 8px;
      font-size: 12px;
      border-radius: 4px;
      border: 1px solid #ccc;
      margin-bottom: 4px;
      font-family: inherit;
    }
    textarea {
      min-height: 40px;
      resize: vertical;
    }
    .inline-inputs {
      display: flex;
      gap: 8px;
    }
    .inline-inputs > div {
      flex: 1;
    }
    .actions {
      margin-top: 8px;
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
    }
    button {
      cursor: pointer;
      border-radius: 4px;
      border: 1px solid #444;
      padding: 6px 10px;
      font-size: 12px;
      background: #444;
      color: #fff;
    }
    button.secondary {
      background: #f5f5f5;
      color: #333;
      border-color: #ccc;
    }
    #promptOutput {
      width: 100%;
      box-sizing: border-box;
      min-height: 420px;
      font-family: "Cascadia Code", Consolas, monospace;
      font-size: 12px;
      padding: 8px;
      border-radius: 4px;
      border: 1px solid #ccc;
      background: #fafafa;
      white-space: pre-wrap;
    }
    .note {
      font-size: 11px;
      color: #666;
      margin-top: 4px;
    }
    @media (max-width: 960px) {
      main {
        flex-direction: column;
      }
      .panel-right {
        min-width: 0;
      }
    }

#visualStyleOptions,
#artStyleOptions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px; /* 行間・列間の余白 */
}

#visualStyleOptions label,
#artStyleOptions label {
  display: flex;
  align-items: center;
  white-space: nowrap; /* 長いラベルが折り返されない */
}

#compositionOptions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
}

#compositionOptions label {
  display: flex;
  align-items: center;
  white-space: nowrap;
}

#lightingOptions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
}

#lightingOptions label {
  display: flex;
  align-items: center;
  white-space: nowrap;
}

#colorOptions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
}

#colorOptions label {
  display: flex;
  align-items: center;
  white-space: nowrap;
}

#textureOptions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
}

#textureOptions label {
  display: flex;
  align-items: center;
  white-space: nowrap;
}

#moodOptions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
}

#moodOptions label {
  display: flex;
  align-items: center;
  white-space: nowrap;
}
