/* ---- redesign additions: playground advanced, combo mode, 44px targets ---- */
details.adv { padding: 0; overflow: hidden; }
details.adv > summary {
  list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between;
  min-height: 44px; padding: 12px 16px; font-size: 14px; font-weight: 600; color: var(--text-2);
}
details.adv > summary::-webkit-details-marker { display: none; }
details.adv > summary:hover { color: var(--text); }
details.adv .adv-chev { transition: transform .2s var(--ease); color: var(--text-3); }
details.adv[open] .adv-chev { transform: rotate(180deg); }
details.adv .adv-body { display: flex; flex-direction: column; gap: 14px; padding: 4px 16px 16px; }
details.adv .field.sys textarea { min-height: 88px; }

.mode-select { display: flex; flex-direction: column; gap: 6px; }
.mode-select select { min-height: 44px; }
.mode-hint { font-size: 12.5px; color: var(--text-3); line-height: 1.45; }
.combo-actions .btn, .item-side .btn, .step .btn, .btn.icon { min-height: 44px; min-width: 44px; }
.btn.icon.danger { color: var(--danger, #e5484d); }

@media (max-width: 640px) {
  .page-head { flex-wrap: wrap; gap: 12px; }
  .form-row { grid-template-columns: minmax(0, 1fr); }
  .card, .panel { overflow-x: auto; max-width: 100%; }
  .tb-group .seg { min-height: 44px; min-width: 44px; height: 44px; }
  .step { flex-wrap: wrap; }
  .step .target { min-width: 0; }
}
