body{
  font-family: system-ui, Arial, sans-serif;
  margin: 16px;
  display: grid;
  gap: 12px;
}

.wrap{
  display: grid;
  grid-template-columns: minmax(260px, 380px) 1fr;
  gap: 16px;
  align-items: start;
}

.panel{
  border: 1px solid #ccc;
  border-radius: 12px;
  padding: 12px;
  overflow: hidden;
}

.row{ display: grid; gap: 6px; margin: 12px 0; }
label{ font-size: 13px; color: #333; }
.mode{ padding: 10px; border-radius: 10px; background: #f7f7f7; }

/* shrink-safe slider+box */
.sliderLine{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(72px, 110px);
  gap: 10px;
  align-items: center;
}

.sliderLine > input[type="range"]{
  width: 100%;
  min-width: 0;
}

.numBox{
  width: 100%;
  min-width: 72px;
  max-width: 110px;
  padding: 7px 8px;
  border-radius: 10px;
  border: 1px solid #ddd;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 12px;
}

.subline{
  display:flex;
  flex-wrap: wrap;
  align-items:center;
  gap: 8px;
  font-size: 12px;
}

.muted{ color: #666; }

.chip{
  display:inline-block;
  padding: 3px 8px;
  border-radius: 999px;
  border: 1px solid #ddd;
  background: #fff;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 12px;
}

.readout{
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 12px;
  white-space: pre-wrap;
  background: #fafafa;
  padding: 10px;
  border-radius: 10px;
  border: 1px solid #eee;
  overflow-wrap: anywhere;
}

.isDisabled{
  opacity: 0.45;
  filter: grayscale(1);
}

.exportDock{
  position: fixed;
  right: 16px;
  bottom: 16px;
  display: flex;
  gap: 10px;
  z-index: 9999;
}

.exportDock button{
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid #ddd;
  background: #fff;
  cursor: pointer;
  font-size: 13px;
}

.exportDock button:hover{
  background: #f3f3f3;
}

@media (max-width: 900px){
  .wrap{ grid-template-columns: 1fr; }
}
