.subtitle { font-size: 12px; color: var(--ink-light); font-weight: 300; letter-spacing: 0.1em; border-left: 2px solid var(--accent); padding-left: 10px; }
.panel-header { padding:10px 16px; border-bottom:1px solid var(--border); background:var(--bg); display:flex; justify-content:space-between; align-items:center; gap:12px; }
    .panel-label { font-size:10px; letter-spacing:.2em; color:var(--ink-light); text-transform:uppercase; }
    .panel-body { padding:18px; }
.hidden { display:none !important; }
    @media (max-width:900px) {
}
  
/* ── Readable input fields ── */
.readable-textarea {
  min-height: 300px;
  padding: 22px 24px;
  background: #fff;
  color: var(--ink);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.85;
  letter-spacing: 0;
  border-radius: 0;
  font-family: "Noto Sans JP", Consolas, "Courier New", monospace;
}
.readable-textarea::placeholder {
  color: var(--ink-light);
  font-weight: 400;
}
.csv-table-wrap {
  overflow: auto;
  margin-top: 16px;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: #fff;
}
.copy-tool-btn {
  min-width: 98px;
  height: 34px;
  padding: 0 12px;
  border: none;
  border-radius: 6px;
  background: var(--blue);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  cursor: pointer;
}
.copy-tool-btn:hover { background: var(--blue-hover); }
.copy-tool-btn.copied { background: #3A7D44; }


.csv-status {
  margin-top: 12px;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: #fff;
  color: var(--ink-light);
  font-size: 12px;
  line-height: 1.6;
}
.csv-status.error {
  border-color: #FCA5A5;
  background: #FEF2F2;
  color: #B91C1C;
}
.csv-status.success {
  border-color: #BFDBFE;
  background: #EFF6FF;
  color: var(--blue);
}


.panel-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}
.clear-tool-btn {
  min-width: 78px;
  height: 34px;
  padding: 0 12px;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: #fff;
  color: var(--ink);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.clear-tool-btn:hover {
  border-color: var(--blue);
  color: var(--blue);
  background: var(--blue-light);
}
@media (max-width: 520px) {
  .panel-actions {
    gap: 6px;
  }
  .clear-tool-btn,
  .copy-tool-btn {
    min-width: 68px;
  }
}



.notice.tool-description{
  display:flex;
  align-items:flex-start;
  gap:12px;
  background:#EFF6FF;
  border:1px solid #BFDBFE;
  border-left:3px solid var(--blue);
  border-radius:6px;
  padding:12px 16px;
  margin:0 0 18px;
  color:var(--ink-mid);
  font-size:12.5px;
  font-weight:400;
  line-height:1.75;
}
.notice.tool-description strong{
  font-weight:700;
  color:var(--ink);
}
