.subtitle{font-size:12px;color:var(--ink-light);font-weight:300;letter-spacing:.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}
.tool-textarea{width:100%;min-height:260px;padding:18px;background:#fff;color:var(--ink);font-size:14px;line-height:1.8;font-family:"Noto Sans JP",Consolas,"Courier New",monospace;border:1px solid var(--border);border-radius:0;box-sizing:border-box;resize:vertical}
.tool-input,.tool-select{width:100%;background:#fff;color:var(--ink);border:1px solid var(--border);border-radius:0;font-family:"Noto Sans JP",Consolas,"Courier New",monospace;font-size:14px;line-height:1.75;box-sizing:border-box;min-height:44px;padding:10px 14px}
.tool-input:focus,.tool-select:focus,.tool-textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 2px rgba(37,99,235,.08)}
.field-label{display:block;margin:12px 0 6px;font-size:11px;font-weight:600;color:var(--ink-light);letter-spacing:.06em}
.action-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.action-row .apply-btn,.action-row .reset-btn,.action-row .download-btn,.action-row .small-btn{margin:0}
.result-box{min-height:180px;background:#fff;border:1px solid var(--border);padding:16px;font-family:"Noto Sans JP",Consolas,"Courier New",monospace;font-size:13px;line-height:1.8;white-space:pre-wrap;overflow:auto;box-sizing:border-box}
.notice{font-size:12px;color:var(--ink-light);line-height:1.8;margin-top:10px;white-space:pre-wrap}
.drop-zone.compact{min-height:180px}
.option-line{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink);line-height:1.7;margin:8px 0}
.preview-table{width:100%;border-collapse:collapse;font-size:13px;background:#fff}
.preview-table th,.preview-table td{border:1px solid var(--border);padding:8px;text-align:left;vertical-align:top}
.preview-table th{background:var(--bg);font-weight:700}
@media(max-width:900px){.tool-textarea{min-height:220px}.action-row{display:grid}.action-row>*{width:100%;box-sizing:border-box}}

/* ── Button spacing/design alignment for added utility tools ── */
.small-btn{
  height:34px;
  min-width:78px;
  padding:0 12px;
  border-radius:6px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.06em;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:background .15s,border-color .15s,color .15s,transform .1s;
  border:1px solid var(--border);
  background:#fff;
  color:var(--ink);
  box-sizing:border-box;
}
.small-btn:hover{
  border-color:var(--blue);
  background:var(--blue-light);
  color:var(--blue);
}
.small-btn:active{transform:scale(.98)}
.small-btn.copied{
  border-color:#3A7D44;
  background:#3A7D44;
  color:#fff;
}
.sidebar-section .apply-btn,
.sidebar-section .download-btn,
.sidebar-section .reset-btn{
  width:100%;
  box-sizing:border-box;
  margin:10px 0 0;
}
.sidebar-section .sidebar-title + .apply-btn,
.sidebar-section .sidebar-title + .download-btn,
.sidebar-section .sidebar-title + .reset-btn{
  margin-top:0;
}
.sidebar-section .apply-btn + .apply-btn,
.sidebar-section .apply-btn + .download-btn,
.sidebar-section .apply-btn + .reset-btn,
.sidebar-section .download-btn + .apply-btn,
.sidebar-section .download-btn + .download-btn,
.sidebar-section .download-btn + .reset-btn,
.sidebar-section .reset-btn + .apply-btn,
.sidebar-section .reset-btn + .download-btn,
.sidebar-section .reset-btn + .reset-btn{
  margin-top:10px;
}
.sidebar-section .hidden{display:none!important}
.panel-actions,
.action-row{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
@media(max-width:900px){
  .small-btn{min-width:68px}
  .panel-actions{gap:8px}
}


.small-btn.copied,
.download-btn.copied,
.reset-btn.copied,
.apply-btn.copied{
  border-color:#3A7D44!important;
  background:#3A7D44!important;
  color:#fff!important;
  opacity:1!important;
}


.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);
}
