.tool-box{
  --bg: #f3f0fb; --panel: #ffffff; --panel-2: #e6def7; --line: #cfc0ec;
  --accent: #6d28d9; --accent-soft: #ddd0f5; --accent-dim: #f4effc;
  --text: #2a1a4a; --muted: #6c5a8f; --muted-2: #a897c9; --warn: #b7791f; --warn-soft: #f6ecd6;
}

.tool-box .mode-toggle{ display: flex; gap: 8px; margin-bottom: 18px; }
.tool-box .mode-toggle input{ display: none; }
.tool-box .mode-toggle label{ flex: 1; text-align: center; padding: 10px 12px; border: 1px solid var(--line); border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; background: var(--panel); color: var(--muted); transition: all .15s ease; }
.tool-box .mode-toggle input:checked + label{ background: var(--accent); color: #fff; border-color: var(--accent); }

.tool-box .mh-disclaimer{ margin-bottom: 16px; padding: 12px 14px; background: var(--warn-soft); border: 1px solid var(--warn); border-radius: 8px; font-size: 12.5px; line-height: 1.6; color: #5c4416; }

.tool-box .field.full{ margin-bottom: 14px; }
.tool-box .fields{ display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 14px; margin-bottom: 14px; }
.tool-box .field label{ display: block; font-size: 12px; font-weight: 600; color: var(--muted); margin-bottom: 6px; }
.tool-box .field input, .tool-box .field select{ width: 100%; padding: 10px 12px; border: 1px solid var(--line); border-radius: 8px; font-size: 13.5px; background: var(--panel); color: var(--text); box-sizing: border-box; }
.tool-box .field input:focus, .tool-box .field select:focus{ outline: none; border-color: var(--accent); }

.tool-box .btns{ display: flex; justify-content: flex-end; gap: 10px; margin-bottom: 6px; flex-wrap: wrap; }
.tool-box .app{ padding: 11px 22px; border: none; border-radius: 8px; cursor: pointer; font-weight: 600; font-size: 13.5px; font-family: 'Inter', sans-serif; color: #fff; background: var(--accent); }
.tool-box .app:hover{ filter: brightness(1.08); }
.tool-box .app.gray{ background: var(--line); color: var(--text); }
.tool-box .app:disabled{ opacity: .5; cursor: not-allowed; }

.tool-box .status-box{ font-size: 12.5px; color: var(--muted); margin: 10px 0; min-height: 18px; }
.tool-box .preview-box{ text-align: center; }
.tool-box .preview-box svg, .tool-box .preview-box img{ max-width: 100%; max-height: 260px; background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 10px; }
